59

Product support

Visit this product's website for support.

Categories

Blog toolbox

Set of extensions and improvements on RainLab.Blog plugin. As such, it obviously depends on that plugin to start with. While RainLab.Blog plugin is great in a nutshell and great base to build onto, it is lacking some of the critical features that are probably needed on daily basis for both developers and end-users.

With improved SEO options, post search, newsletter components with ready html email templates, user profile to display author of the post, tags feature for better organization that rises above with related posts component that uses tags to connect your content, post visit counter for better insight how users interact with your blog, stronger data manipulation with custom post types, increased backend security with two step authentication you can take your website to the next level.

Blog toolbox problem solving and it's features

Idea Verum have created a great deal of websites on OctoberCMS and in 90% of our cases we are using RainLab.Blog plugin for something. It's not just for blogging as many would think because it can be used in more situations besides creating blog websites.

SEO

Some things we’ve noticed inside our team was that the base plugin is lacking some very important features such as setting up SEO in easy way, content visibility and organization, content interconnectivity, lack of ability to structure and enrich posts with custom set of data, interacting with visitors and such.

In particular, we added much needed SEO options for blog posts. This is a big problem which we've addressed and resolved. Now you can set all relevant SEO tags and OG tags in a very easy way which will work with standard page SEO attributes and because of that, your blog can compete on search engines much more effectively.

Post search

Another thing we were worried about was when users come to our website they often wander and don't know where to find what they are searching for, so we decided that our website should have some kind of search options. We added a search feature so users can easily search every created post by post title or content depending on configured settings.

Post tags

While post categories from standard RainLab.Blog plugin is awesome for structuring your content. We felt tags would be great addition. You can add as much tags you would like to your posts and present them to your users for easier content understanding.

Related posts

Building upon post tags feature, we also built another great feature to give you even more content exposure. Related posts work directly with tags and use them to link one post to others. Now you can have nice list of related posts your users can see when they are reading certain post. This can give you more edge in retaining your visitors and keep them reading your awesome content.

Author page

If you wanted to build more friendly approach with your visitors, now you can do it fairly simple. We added cool feature while extending existing users so now you can add bio description, add your social network links such as: twitter, facebook, linkedin, youtube, twitch and some others. This feature is built into newsletter but you can choose in settings if you want to include author bio and image inside email notification.

Custom post types

Developers will probably love this feature more than any other in this toolbox, and it's custom post types. Yes, now you have the ability to add [key => value] data to every post which can be very useful in numerous situations as you can imagine.

Post visit count

As for the end-users, which we haven't forgotten about, while building this rich set of tools we added a simple, yet powerful feature: tracking post visits. You can track not just visits but also revisits and, combined with other tracking tools like google analytics, you can draw good conclusions and create more appealing content for your visitors.

Newsletter

Blogging platform wouldn't really be good if you didn't have option to send newsletter to your followers. Inside this toolbox we added two components for newsletter. Now when you create blog post if you wish your subscribers will get nice email notification. With this plugin you will get two email templates to work with, if you wish you can always change them to match them with your website theme

Security

Our big concern when working on any project is it's security. We all want best for our clients and help them improve security to reduce hacking risk as much as we can. Inside this toolbox you have nice addition of two step authorization which will give you another layer of protection to your backend. This feature will certainly help in securing your website but users and maintainers of project are most responsible for security. This will help you reduce human errors when it comes to handling sensitive data.

What can you achieve

As for demo of this plugin we would like to point you to our website. Everything you see on our website is powered by this plugin. Every component from the plugin is put to use and you can easily see what you can achieve with this plugin. And probably much more.

Getting support

If you have twitter feel free to DM us for support, if you are not using twitter then you can reach us at info@ideaverum.com or through our contact form.

Tutorials

If you need help with our plugin you can also check out our available tutorials, and if you still have any questions or issues feel free to contact us on twitter or info@ideaverum.com

Plugin updates

Pending

All your comments and feature requests are welcome and will be considered in future updates!

To stay updated consider following us on twitter or subscribe to our newsletter

Post visits

Components

List of components

  1. PostSEO
  2. PostSearch
  3. PostTags
  4. RelatedPosts
  5. VisitCount
  6. UserProfile (Author)
  7. Newsletter subscribe
  8. Newsletter update/unsubscribe

PostSEO component

This component is responsible for injecting SEO data you provided in post object into default OctoberCMS page SEO properties, excluding OG tags which you will have to manually put into your head elements, since OctoberCMS does not support OG tags by default.

This component will magically extract SEO data and provide you an easy way of integrating on your layout. Other than standard title and description meta tags you also have fields such as robot follow, indexing options, canonical url, OG:title, OG:description and OG:image. If you have trouble with setting your SEO properties, this component will help you easily set up your SEO strategy and increase your ranking on search engines.

All SEO data are injected into page property on component run. As such you can easily print them out in head meta tags. Example code snippet below.

<title>{{ this.page.title }} | Idea Verum</title> 
<meta name="description" content="{{ this.page.meta_description }}">
<meta name="title" content="{{ this.page.meta_title }}">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="OctoberCMS">
{% if this.page.og_title != ""%}
<meta property="og:title" content="{{ this.page.og_title }}"/>
{% else %}
<meta property="og:title" content="{{ this.page.meta_description }}"/>
{% endif %}
{% if this.page.og_description != "" %}
<meta property="og:description" content="{{ this.page.og_description }}"/>
{% else %}
<meta property="og:description" content="{{ this.page.meta_description }}"/>
{% endif %}
{% if this.page.og_image != "" %}
<meta property="og:image" content="{{ this.page.og_image|media }}"/>
{% else %}
<meta property="og:image" content="{{ 'assets/images/logos/example.jpg'|theme }}"/>
{% endif %}
{% if this.page.robot_index == 'noindex' %} 
<meta name="robots" content="{{ this.page.robot_index }}">
{% endif %}
{% if this.page.robot_follow == 'nofollow' %} 
<meta name="robots" content="{{ this.page.robot_follow }}">
{% endif %}
{% if this.page.canonical_url != '' %}
<link rel="canonical" href="{{ this.page.canonical_url }}" />
{% endif %}

As you can see, if user is on standard page it will use that page SEO tags but if on blog post it will work just as same. Notice some checks. They are here just to make sure everything is set properly and not rendered wrong.

PostSearch component

PostSearch component will give you the option to add search feature on your website and with that, you will increase user experience and make content easier to find. This component has some properties that can be configured. This component uses AJAX for sending and fetching posts.

  1. Post title
    • If checked, text inserted into input will search posts by title
  2. Post content
    • If checked, text inserted into input will search posts by content
  3. Sort posts
    • Dropdown menu with options to sort collection from latest to oldest
  4. Category filter
    • Dropdown menu with categories listed, with this you can narrow the search on particular blog category

This component is using partial by default. For example you can create search result list like this.

Partial

<ul>
    {% for post in post_search_result %}
    <li>
        {% if post.hasPostType('youtube_link') %}
            <a href="{{ post.getCustomPostType('youtube_link').value }}" target="_blank">
                <div class="res-post">
                    {% if post.featured_images.count %}
                        {% for image in post.featured_images|slice(0, 1) %}
                            <img class="card-img-top" src="{{ image.path }}" alt="{{image.description }}">
                        {% endfor %}
                    {% endif %}

                    <div class="res-post-desc">
                        <h5>{{ post.title }}</h5>
                        <p>{{ post.published_at | strftime('%d.%m.%Y')}}</p>
                    </div>
                </div>
            </a>                   
        {% else %}
            <a href="{{ 'post'|page({category: post.categories[0].name | lowercase, slug: post.slug}) }}" target="_blank">
                <div class="res-post">
                    {% if post.featured_images.count %}
                        {% for image in post.featured_images|slice(0, 1) %}
                            <img class="card-img-top" src="{{ image.path }}" alt="{{image.description }}">
                        {% endfor %}
                    {% endif %}

                    <div class="res-post-desc">
                        <h5>{{ post.title }}</h5>
                        <p>{{ post.published_at | strftime('%d.%m.%Y')}}</p>
                    </div>
                </div>
            </a>
        {% endif %} 
        </li>
    {% endfor %}
</ul>

Connecting component with partial

$("#search-field").on("keyup",function(){

            var search_term = $(this).val();
            $.request('onSearch', {
                data: {
                    search_term: search_term,
                },
                update:{ "search-post-list": "#search-list-holder" },
                complete: function(response) {

                }
            });
        });
 <ul id="search-list-holder">
  {% partial 'search-post-list' %}
</ul>

Note: If you select both post title and post content options, it will combine them. Users can search posts both by title and by content, but this will not duplicate posts results.

PostsTag component

PostTags component is something similar to default category component of extended RainLab.Blog plugin, but we felt that tags would be nice addition to bring more categorization options.

This component will allow you to create page which will behave like sorting option to display posts which have a particular tag assigned to. This component takes in GET parameter into slug and by default that parameter is :tag.

Your tag page url should look something like this for example:

url = "/tag-posts/tag/:tag" // :tag is the name of tag you inserted

With that in mind, it is possible to create great interconnectivity between posts, for example you have a restaurant website and you use blog posts as menu builder. With this component you can add tag „vegetarian“ and link it, so when user clicks on that tag it will give him list of meals you've prepared for vegetarian customers.

RelatedPosts component

RelatedPosts component works with PostTags component. It uses tags you've set on your posts to find similar posts based on currently read posts by your visitor. This component puts the GET parameter into slug and by default that parameter is :slug.

It has an option which allows you to set how many related posts should be retrieved with this component (it takes numbers). Also, it allows you to limit how many posts are displayed on a single post page.

Your single post page, where you want to include related post component url, should follow standard RainLab.Blog post component.

url = "/blog-post/:slug"

To display tags from post you can use method getTagList on post model. For example:

{% for tag in post.getTagList %}
     {% if tag != "" %}
         <a href="{{ 'tag'|page({tag: tag}) }}" target="_blank">
               #{{tag}}
          </a>
     {% endif %}
{% endfor %} 

Related posts component will read that slug, find post that is assigned to given slug and retrieve list of related posts by their tag matches.

VisitCount component

VisitCount component is a simple tool, yet it can be powerful when you are trying to figure out your reader's interests. This component should be attached to a single post page.

This component injects simple javascript code, which uses cookies as a mechanism to track if a user is visiting that post for the first time or if it is a revisit. If you use this component, you should take into consideration updating cookie policy on your website so that GDPR won't be broken in the EU.

UserProfile (Author) component

UserProfile component is extending User component. With this component you can create an Author profile/bio page.

This component puts the GET parameter into slug and by default that parameter is :user-slug. By extending User with our toolbox, this component will give you ability to display user's bio text, contact email (which is not the default system email) and social network links (so far we have added Facebook, Twitter, YouTube, Instagram, LinkedIn, Medium and Twitch platforms). User profile also has another field: “business position”, where you can specify a position inside a company if you are working on a corporate website.

Your author page url should look something like this.

url = "/user-bio/:user-slug"

Another great feature about this component is that it can also retrieve posts created by that author. In this way, you can create a great author page and give your visitors personal insight with addition of being able to show them authors publications.

Important! If you have saved users you will need to manually add user-slug to your users which can be found inside Personal info tab. It is unique for every user so keep that in mind. While plugin is installed it will auto generate slug for every new user by concatenating first_name and last_name.

Newsletter subscribe component

Newsletter subscribe is a component that allows you to add newsletter form signup. This component uses default categories of RainLab.Blog as a list of options your user can sign for. In order for this component to retrieve a certain category, you have to tick the newsletter option inside the category.

Great thing about this component is that it handles data saving with AJAX and gives back response which you can use to notify users of its success or error.

When a user subscribes successfully, welcome email will be sent to the provided address alongside a nice welcome message and link for changing options or to unsubscribe.

Note that design of the form can be changed, but keep in mind, if you are changing ID's on elements, you have to also change javascript code so the form can continue to work properly.

JSON responses you can get are as follows. Our standard JSON responses are composed of two elements. Success attribute which can be either 0 or 1, and second element is either "success" with success message or "error" with error message.

List of JSON responses this component returns on form submit.

['status' => 0, 'error' =>'E-mail field is empty']
['status' => 0, 'error' =>'You are already subscribed to newsletter.']
['status' => 1, 'success' => 'Successfully subscribed to newsletter.']
['status' => 0, 'error' => 'There was an error while trying to subscribe to newsletter.']

Newsletter update/unsubscribe page

Newsletter update/unsubscribe component is a component that is connected with the Newsletter subscribe component and is a crucial part of the whole newsletter feature. This component is different from the previous one and is used only as a page where a user can change his subscription options or unsubscribe from your newsletter. Whole newsletter feature works with auto generated tokens which have two days duration. When a user subscribes or if a new post is created, published and selected as a newsletter, a new token will be generated and sent to the user as part of the link which should point at the page with this component. In that retrospective, this component puts the GET parameter into slug and by default that parameter is :token.

For example your page with this component should have url like this:

url = "/update-newsletter/:token"

When a user lands on a page with this component, the user will be asked to insert his email address and then the component will check if the token from slug is matching the user's email. If a token is matched, the user will get a display of his selected options where he can change them or unsubscribe from all of them. In case the token is expired, a button is displayed which regenerates the token and sends new email to the user. User is then supposed to open that email and click on the updated link for changing his preferences. After he clicks on that link, he’ll once again land on the page to repeat the process.

Controllers

List of controllers

  1. Newsletter
  2. Category
  3. User
  4. Post
  5. VisitCount
  6. Tags
  7. CustomPostType
  8. TwoStepAuth

Newsletter controller

Newsletter controller will show you previews of your subscribers inside the Blogtoolbox menu. With this controller, you can see the list of subscribers and when did they subscribe. There you also have the option to select certain users and delete them manually from the newsletter by clicking the delete button in the upper left corner.

Clicking on the list item – subscriber will show you a detailed page of selected user where you have two tabs: “Newsletter email” and “Newsletter Types”.

Inside the “Newsletter email” tab you can see the user's email address where you can then manually change them and save.

Inside the “Newsletter Types” tab you can see users newsletter selections with the ability to change them manually and update them.

Note: This controller was not created in order to manipulate users data without their approval. This was added just in case a user contacts you directly first, without going through the process of changing his options by himself or unsubscribing from them. This controller's function is solely for administration and serves as an ability to change or delete subscribers from the database in case they contact you directly.

Category

Category controller is the default part of RainLab.Blog plugin which we've simply extended by adding is_newsletter field to its form. With this checkbox, you control which category is considered as a newsletter category and which isn't.

User

User controller is part of core OctoberCMS which we've once again extended by adding new fields to User's form.

List of added fields

  1. Bio
    • User's bio where he can describe himself
  2. Contact email
    • User's official email which he uses to contact with his community
  3. User slug
    • this field is auto generated for new users. It is a required field and mandatory for a UserProfile component to function properly
  4. Facebook
    • User's Facebook profile page link
  5. Twitter
    • User's Twitter profile link
  6. YouTube
    • User's YouTube channel link
  7. Instagram
    • User's Instagram profile link
  8. LinkedIn
    • User's LinkedIn profile link
  9. Medium
    • User's Medium profile link
  10. Twitch
    • User's Twitch channel link
  11. Business position
    • User's business position inside corporation

All fields listed above can be used inside the UserProfile component. They are not required with exception of the user's slug being required as it's the only way to connect a User to UserProfile component as GET parameter.

Post

Post controller is the default part of RainLab.Blog plugin which we’ve extended to add additional fields to it's form.

List of added fields

  1. Tags
    • inside tab “Tags”. It is a textarea field where values are separated with commas
  2. SEO title
    • Inside “SEO” tab
  3. SEO description
    • Inside “SEO” tab
  4. SEO keywords
    • Inside “SEO” tab
  5. SEO canonical url
    • Inside “SEO” tab
  6. SEO author
    • Inside “SEO” tab
  7. SEO robot follow
    • Inside “SEO” tab
  8. SEO robot index
    • Inside “SEO” tab
  9. OG:title
    • Inside “SEO” tab
  10. OG:description
    • Inside “SEO” tab
  11. OG:image
    • Inside “SEO” tab, mediafinder type
  12. Can send newsletter
    • inside “Manage” tab, checkbox type

All fields listed above, except “Can send newsletter”, are used by the PostSeo component. If this property isn't set, it's going to be empty by default. “Can send newsletter” is an option which has to be checked if you want Newsletter email notification to be sent.

Note: “Can send newsletter” checkbox is only available during creation of the post. It’s not available when you are updating post in order to reduce email spam risk

VisitCount

VisitCount controller will give you a preview of your post visits in an elegant and descriptive way. We use apexchart.js to give you graphical representation of your post visits in the last 7 days and total of visits in last 7 days for easier management. Under the graph you have a posts table in which are listed post title, categories and number of visits.

Tags

Tags controller will give you a list of used tags. It will help you with managing tag names and their number. It is currently a simple controller which makes administration of tags inside posts easier, but in next iterations we will extend this feature.

CustomPostType

CustomPostType controller is a feature for mass assignment of custom post types, separated in two tabs: “Post list” and “Types in usage”.

Inside the “Post list” tab, you will find posts listed inside the table on the left part of the screen and custom post types component on the right side. Proper way of using it is to select posts from the table and then add as many post types you'd like and input the “key => value” combinations you wish, then press the “Save data” button.

Inside the “Types in usage” tab, you can see a list of all created custom post types that are currently in use.

Note: When you are creating blog post, "Custom post types" tab will not be visible as it's only visible when post is created, so when you save your post it will be shown.

TwoStepAuth

TwoStepAuth controller is responsible for improving backend login security. BackendUsersController is extended with new fields.

List of added fields

  1. Two_step_auth_enabled
    • checkbox type
  2. Recovery_email
    • User will use this email if he loses access to his primary email. When a user is trying to log in, he’ll get a two step auth page and if he clicks on option to use recovery email, he will be prompted to input the correct recovery email and recovery token combination
  3. Recovery token (download button)
    • This is a user's recovery token which he will need in order to gain access to login, in case he can't use his primary email. This token file should be downloaded and kept safe because if it's lost, it can’t be replaced and the user will be locked out of the system

The way two step auth works is: When a user wants to activate this option, he should open his account page and inside the “Account” tab, tick option „Enable two step authentication?“. When the checkbox is activated, new fields will become visible. When the user sets recovery email and downloads his token, then he can proceed with updating his account.

When a user tries to log in with two step option enabled, he will get a standard backend login form. After successful login, he’ll be redirected to a two step auth login form. Token is sent automatically to his primary email address and in order to proceed, he must insert that token (received from email) into the form. If a token isn’t sent, he can click on the button „Generate token“ which will generate a new temporary token and send it to his primary email again.

If the user has lost access to his primary email account, he should then proceed by clicking on the link to enter recovery email and recovery token. When a user inserts the correct combination of recovery email and recovery token, he should then receive a new token on his recovery email and be redirected back to the first page of the two step auth process. After that, he should insert a token that was sent to him and then he would have access to administration.

Note: Download button will only work if you are logged in as that user. You cannot download other users tokens as admin if you are on user edit page.

Models

List of models

  1. BlogPostVisit
  2. CustomPostType
  3. NewsletterSubscriber
  4. NewsletterSubscriberCategory
  5. Settings
  6. Post (Extended)
  7. User (Extended)

BlogPostVisit model

At the moment the model itself doesn't contain any methods. All data handling is managed by it's component or controller, and it's data is added to posts columns.yaml file.

CustomPostType model

This model has a relationship attached, it belongs to RainLab.Blog Post model.

NewsletterSubscriber model

This model has several public methods available. They are small and pretty much self explanatory. This model represents subscribed user to the newsletter.

List of available public methods

  1. getNewsletterListAttribute
    • Takes no parameters, returns array of category names of the subscriber
  2. sendNewsletterTokenMail
    • Takes in parameter, array of values for the email message. Returns nothing
  3. sendNewsletterMail
    • Takes in parameter, array of values for the email message. Returns nothing
  4. sendWelcomeMail
    • Takes in parameter, array of values for the email message. Returns nothing

NewsletterSubscriberCategory

This model acts as a pivot table which connects NewsletterSubscriber and RainLab.Category values. With this model, we can get information about certain users and their subscribed categories (categories to which they are subscribed).

Settings

This model represents the plugin's own settings management. There are no available methods because it only acts as ORM.

Note: These are not settings for the OctoberCMS module as these settings are completely separated from the core and are only relevant for the Blog Toolbox plugin.

Post (Extended)

This model was originally part of RainLab.Blog. We have extended their model inside the Plugin.php file of our plugin. Every part of our extension can be found inside the postExtend method inside Plugin.php.

List of extensions

  1. HasMany relation on post types
    • We have connected CustomPostType with Post model in a way that Post model now has hasMany relation with CustomPostType
  2. HasMany relation on visit count
    • Same as above. For sake of simplicity and data handling, we’ve added hasMany relation for Post model to our VisitCount model
  3. Event afterCreate
    • Inside this event, we are checking if the created post is selected as a newsletter. If that is the case, we are gathering and processing data of the model and subscribed user. When everything is collected, sendNewsletterMail method is called with required params
  4. Event beforeSave
    • We didn't add much to this event at this point in plugin versions. We are simply clearing up tags data so it doesn't have unnecessary spaces before it is being saved into the database
  5. Event beforeCreate
    • In this event, we are just setting post visits and revisits to be zero by default

User (Extended)

This model is originally part of the Backend model collection. All our extensions can be found inside userModelExtend and backendUserExtend methods, inside our Plugin.php file. We decided to split the extension in two separate methods.

While userModelExtend is extending events and adding one dynamic method, method backendUserExtend is extending model and adding extra fields in the form widget.

List of extensions

  1. Event beforeCreate
    • We are here preparing default values for two-step authentication procedure
  2. Event beforeValidate
    • Here we’ve added additional validation for a new field we’ve added previously: user_slug, which is a required field for UserProfile component
  3. Event beforeUpdate
    • In this event, we are checking if two step authentication option is enabled and if the token is set. This was added so that when a user enables two step authentication, he doesn't get logged out immediately, because that would disrupt the user's experience. However, when the user logs out and then tries to log in again, there will be a validation check
  4. Dynamic method getPosts
    • This method will simply return the collection of RainLab\Blog\Models\Post of the user. It is used by the UserProfile component

Dynamic methods

List of added dynamic methods

  1. BackendUser – getPosts()
    • With this method you can get Posts collection from User as their author
  2. RainLab\Blog\Models\Post – getCustomPostTypes()
    • With this method you can get a collection of CustomPostType which are assigned to a certain Post model
  3. RainLab\Blog\Models\Post – getCustomPostType()
    • With this method you can pass key parameters of the Custom Post Type and it will then return you the object of Custom Post Type related to the Post model
  4. RainLab\Blog\Models\Post – hasPostType()
    • With this method you can check if a certain Post model contains CustomPostType by passing in a key parameter. This method returns boolean
  5. RainLab\Blog\Models\Post – hasTag()
    • With this method you can check if a certain Post model contains a Tag by passing in tag parameter. This method returns boolean
  6. RainLab\Blog\Models\Post – getTagList()
    • This method will return an array of tags which a certain Post model contains
  7. RainLab\Blog\Models\Post – canSendNewsletter()
    • With this method you can check if the Post model has enabled a newsletter option. This method returns boolean
  8. RainLab\Blog\Models\Post – getPageUrl()
    • This method will try to find and return the CMS page which has a blogPost component attached to it. If a page has been found, then this method will return the page URL. Depending on situation this method can be useful, but most of the times you will probably use code part “|page” inside twig to make navigation instead of this method
  9. RainLab\Blog\Models\Post – getAuthor()
    • With this method you can find the author of the Post model. It will return a BackendUser object or null

All methods listed above can be found in Plugin.php inside the userModelExtend method, except getPosts which can be found inside the userModelExtend method.

  • Found the plugin useful on 16 Aug, 2020

    Thanks very much for this plugin and a very generous pricing. We've had very good service from the team, and even better to hear that the team is busy working on some more OCMS goodies.

    We'll be back for more !

  • author

    Replied on 17 Aug, 2020

    Hi Mike and Stephie MacDonald, Thank you for trusting us and using this plugin. We are very happy to hear our plugin is useful to you. We are here for anything you need!

  • Found the plugin useful on 8 Jul, 2020

    Great plugin with a lot of nice features. The profile and search components are the ones that I used more for my project. During the implementation I had some issues but I got a very fast response from the Idea Verum team. Really happy in general with this plugin. Please keep the good and fast service.

  • author

    Replied on 8 Jul, 2020

    Thank you for review Ricardo!

    We are very happy you found our plugin useful. Hope to see you use it even more to see it's full potential.

    Idea Verum is always here for your support if you need us.

  • Found the plugin useful on 11 May, 2020

    Sorry, not sure where to request support. A question, is Vue.js required to run this plugin? I have installed the Blog Toolbox but I can't seem to get any of the components working properly. I think maybe I'm missing something..

    Cheers,

  • author

    Replied on 11 May, 2020

    Hi, Cy Messenger thank you for leaving a review.

    Support requests can be directed at our email address: info@ideaverum.com or DM us on twitter page for faster response and detailed support. That way we keep reviews clean as in comments and ratings.

    Regarding your question: Vue.js is not required for components, it is built-in inside plugin and only used on backend, you do not need to install anything additionally besides the plugin. Sorry to hear you are having troubles, please contact us at: info@ideaverum.com or DM us on twitter, and we will gladly help you with anything that is giving you troubles. Also you can check our tutorials and hopefully you will find useful information how to use components.

1.2.5

Bug fixes, Post search component upgrade, Post search component will now also return not published posts if you are logged and have permissions, backend user slug generator used by UserProfile component, 404 on UserProfile component if user is not found by slug

Jun 07, 2020

1.2.4

Ready for public release

May 04, 2020

1.2.3

Error messages on two-step

Apr 29, 2020

1.2.2

Added categories into newsletter notification data

Apr 28, 2020

1.2.1

Two step email has it's own partials now, cleaned unsused data. Tags, visits count layout improved. Ready for test release

Apr 28, 2020

1.2.0

Two step layout finished, e-mail footer centered and token added.

Apr 27, 2020

1.1.9

E-mail template social fixes

Apr 27, 2020

1.1.8

Fixed plugin settings valus for e-mails

Apr 27, 2020

1.1.7

Email now has variables, social buttons included in templates

Apr 27, 2020

1.1.6

Parser ! error on email tamplates fix

Apr 27, 2020

1.1.5

Newlsetter token refresh layout

Apr 27, 2020

1.1.4

Email tempates two-step, newsletter token and newsletter welcome updated. Settings layout updated

Apr 27, 2020

1.1.3

Settings controller updated

Apr 27, 2020

1.1.2

Settings upgrade

Apr 27, 2020

1.1.1

Email templates improved, partials added

Apr 26, 2020

1.1.0

Removed user posts component, improved related posts componentn, preparing 2step

Apr 21, 2020

1.0.9

Bug fixes

Apr 20, 2020

1.0.8

Added new stuff to user's form

Apr 20, 2020

1.0.7

2step auth changes, tag and types used list, user profile component upgraded

Apr 20, 2020

1.0.6

Newsletter token changes

Apr 17, 2020

1.0.5

Merging codebase

Apr 17, 2020

1.0.4

Bug fixes

Apr 17, 2020

1.0.3

Added token on subscribing

Apr 17, 2020

1.0.2

Bug fixes

Apr 17, 2020

1.0.1

Search component now has category filter, several bug fixes

Apr 17, 2020

1.0.0

First version

Apr 03, 2020