Photo: Eric Lamy https://www.flickr.com/photos/agerix/23200243885/ (CC BY-SA 2.0)

4. It’s all about users, permissions, modules and articles

Back to 3. Design, Layout, Colors

I know, we still have no content on our site but before we create it, let’s have a look on the user accounts of our new Joomla website.
When you installed Joomla, you created the Super Administrator account. This user is allowed to do anything. It is nice to be that user but it is dangerous too. You will probably have more than one user account on your website, e.g. authors who write articles.

To get more used to these topics, let’s build a platform for authors where they can post articles and upload images without the need to enter Joomla’s control panel. Follow the example and you’ll learn a lot about Joomla :)

About users, roles and permissions

Users are in general able to login on the frontend and/or the control panel just depending on their role permissions. A user account has to be a member of a user group. Instead of assigning access permissions to each user, they are assigned to a group. The individual user is then assigned to one or more groups. Imagine you have 10,000 users in four different groups. It’s very easy for the administrator to change the permissions for each of the groups. Without groups, you would have to change every user account manually. However, when using groups, you only have to change permissions once!

Joomla comes with predefined groups like author and publisher which are easy to understand. An author is able to create/write something, a publisher has the additional permission to publish content.

  • The predefined frontend user groups are: visitors, registered users, authors, editors, publishers.
  • The predefined control panel user groups are: manager, administrator, super administrator

Example: A website where authors can post articles

This is a very simple workflow but it covers some possibilities that exist in Joomla. I assume that you have a “naked” Joomla without sample data and you have a super administrator user account.

The desirable scenario

  • Admin user in control panel:

    – activates the admin notification when someone creates a new user account

    – creates a user menu for registered users with a link to create an article
  • Visitor on website:

    – registers as a new user
  • Admin user in control panel:
    – 
receives a notification and assigns the user to the authors group
  • Author user on website:

    – is able to create an article but is not allowed to publish it
  • Admin user in control panel:
    
- receives a notification that there is new content available

    – publishes the article on the frontpage

Parameter and user menu

We have to set a few switches in the user options. Go to Users → Manage → Options and activate Allow User Registration and Notification Mail to Administrators (Figure 1).

Figure 1: Notification Mail to Administrators
Figure 1: Notification Mail to Administrators

 

Then we need a menu for logged in Users. Go to Menus → Manage → Create new menu and create one:

  • Title: User
  • Menu Type: user
  • Description: A menu for a user with useful links

Save and close it. You have now created a kind of menu container. What’s missing is the links inside the menu container and a linked module that displays the new menu at a certain position in the template.
 To create and link the module, click on the link Add a module for this menu type (Figure 2).

Figure 2: Add a module
Figure 2: Add a module

In the module form you have to add a title (User Menu), the position (Right – Position-7 in the Protostar template), the access permission (registered users). Don’t forget to save & close it (Figure 3).

Figure 3: Creating the user menu module
Figure 3: Creating the user menu module

 

Now we need the “Create article” link in our menu that should be shown to authors. Go to Menus → User → Add New Menu Item (Figure 4).

Figure 4: Creating a link in the user menu
Figure 4: Creating a link in the user menu

 

In the following form you have to enter the name/description of the link (Menu Item Title), select a Menu Item Type (Figure 5) and restrict the access to registered. Each Joomla component can provide Menu Item Types. Our type (create article) is provided by the content component which is a part of Joomla core.


Figure 5: Select Menu Item Type
Figure 5: Select Menu Item Type

 

After you saved and closed the dialog a new menu item should be displayed in the list (Figure 6).

Figure 6: User Menu with the new menu item
Figure 6: User Menu with the new menu item

Test your work! Login on the frontend with your super administrator account. After the login, our new user menu with the create link appears (Figure 7).

Figure 7: User Menu after Login
Figure 7: User Menu after Login

 

Please log out after the test.

Registration as a new user

Now we create a new user account. Please access the website as any other visitor and click the Create an account link. Fill out the form and click the Register button (Figure 8).

Figure 8: Registration form
Figure 8: Registration form

 

If your server stack allows sending emails, a notification email will be send to the email address of the super administrator account.

Joomla offers a CAPTCHA to prevent spammers. To use it, activate the CAPTCHA plugin under Extensions → Plugins and select it in the options of the User Manager where you can configure the general behaviour of the login process too.

Assignment of the new user to the authors group

Log in with your Administrator account on the control panel, access Users → Users and click on the name of the new user (Hagen Graf). Check the Author group in the Assigned User Groups tab (Figure 9).

Figure 9: Assignment of a group to a user
Figure 9: Assignment of a group to a user

Depending on your environment it might be necessary to enable and activate the new user account. Just click on the red icons to do so (Figure 10).

 

Figure 10: Activate and enable user
Figure 10: Activate and enable user

Now we have a new author on our website.

The new author creates an article

Now switch your identity to the one of the new author, log in with your new user account on the website and click the create article link. Just add a title and a few words and click save (Figure 11).

Figure 11: Create an article
Figure 11: Create an article

 

The article is saved and submitted but the user (you) cannot see it, because it is not published. I configured this workflow intentionally as in some cases it is desired to have another person to edit the created content and then publish it.

Of course, it is also possible to skip that, add the user to the group Publisher and then the article would be published immediately.

The admin publishes the article on the frontpage

Joomla comes with a messaging system and this system creates a message when new content was created by a user. Depending on your settings (Components → Messaging → Options) the admin receives that message by email or via the screen. 
The admin has to go to Content → Article Manager and publish the new article. If the article should appear on the frontpage, click on the featured icon (Figure 12, Figure 13).

Figure 12: Publish an Article
Figure 12: Publish an Article

 

Figure 12: Featured Article
Figure 12: Featured Article

Tweaking the process

As we already noticed while following this example, many topics are covered and the configuration is easily done depending on your needs. There is a huge amount of permissions, options and settings to discover.
I’ll provide a few examples in the following chapters.

Comments

3 responses to “4. It’s all about users, permissions, modules and articles”

Leave a Reply

Leave a Reply