Users Registration

Joomla has a very powerful user management system. It allows you to assign  specific privileges to view, edit and create content as well as perform administrative tasks in the back end, for different types of users.

Joomla already has one user, the Super User or Administrator, installed when the site is created. In the first part of this tutorial we are going to create a Registered user. This is the first level of user access in Joomla. Once a registered user is logged in they are able to view items assigned as 'registered'. This can include menu items, articles and categories.

So to continue the running example of an online restaurant, lets say we want to have a feature for registered users to access to certain content, say members only deals displayed in a custom module.

To demonstrate and test the default registration process we will create a registered user from the front end. First we must make sure we are logged out of the front end. If you have the login module displayed on a page go to it (in the front end), click Log Out if you are logged in, then click the Create an Account link. If you do not have the log in module displayed in your front end you can create  menu items for them (from the Menu - New Menu Item -users manager section)

Now click on the registration link in the login module (or registration form link) and fill in some details for our test customer and submit the form.

You should see the registration activation message.


In a new browser tab log in to the Back End and go to Users - User Manager. You should see the new user in the users list. You can manually activate the user by clicking in the check box next to the user and clicking Activate. 




Now we need to create the module to display the member only deals. To do this we create a custom module as described in a previous tutorial . The important difference is that we set its  Access to Registered.



We can change Joomla's default registration process and accessing other user configuration settings by going to Users - User Management and clicking on Options. Lets say we want to change the way uses register. Instead of just confirming their email address we may want an email alerting an administrator who can then manually enable their account. 



We may want to disable user registration and either not have users (apart from the super user) or create users manually. (see the next section).

User Groups

Its often the case where you might need control over more than just viewing access. For instance if you want a group of users to add or edit articles. This is where Joomla's User Groups  come in to play. There are many ways to apply user permissions

By default there are 8 Joomla user groups. They can be added and deleted as required. You can create custom groups that allow very specific access to resources. Each resource (menu item, module, article, category) has a specific set of user permissions that can be applied to it. 

Security Warning: User management can get very complex. It is possible you may accidentally grant users higher levels of access than intended, and open up security flaws in your site. It is highly recommended that you do not make major user management changes on a live site, and test all changes before going live.


The Editor User Group

You can view  what permissions apply for each user group on each item by clicking on the Permissions tab on their respective editors. For instance if we want to check what permissions apply to an article we open that article from Article Manager and click on its permissions tab.


You can see that members of the user group Editor have permission to edit the article. Check what privileges other user groups have

To create a user for the editor group go to Users -User Manager - Add New User. Fill out the form with a generic user name and password and a click on the Permissions tab. Check the box Editor. 



When you log in to the front end as a user with editor privileges you will now be able to open articles for editing.

You may want to prevent some articles from being edited by the editor group. There are several ways you could do this. One way would be to assign permissions on a specific  category. When you create the no edit category, on the permissions tab select select user group Editor. Next to the Edit permission select Deny. Another way would be to do the same on each article (select the permissions tab in the Article Manager: Edit Article window). In general it is best to make your permissions as specific as possible. For instance change them on the individual articles unless you want all articles in a category, or under a menu item, to have the same permissions, in wich case you would change the permissions on the category or menu item. It is also import to assign the minimum level of access for each user to do the task required. Don't assign administrator or super administrator privleges when a lower level of privilege will suffice 

The Author User group

Users who are in the Author group have privileges to add articles. 

You can verify that the author group does have these privileges by going to Article Manager, clicking on Options and selecting the Permissions tab. Expand the Author drop down list to see that Create and Edit Own are allowed. 



Now if you completed the tutorials HERE you will already have a category blog and a 'Create Article' menu item. Set the Create Article menu items access to Special.  (Menu Manager: Menu Items window for the menu with the Create Article menu item in it.) Now only users with privileges to add articles will see the Add Article menu item.

Now go to Users - User Manager - Add New User. Give the user a name (Author) and a generic password and email address. the Assigned Users Groups  pane check the box next to Author. Click Save and Close. The test user has now been added to the User Group Author.


Now go to the Front End of your site, log in as the author user and confirm the Create Article menu item allows you to create articles.

 Viewing Access

There are currently five levels of viewing access. (Public, Guest, Registered, Super User and Special). You can add more levels of viewing access by going to Users - Access Levels - Add New Access Level.  Viewing access operates somewhat independently to permissions and determines what items can be viewed by each user, and not, as is the case for permissions what actions (edit, delete, create etc) can be performed on each item. Viewing access is set on the Access drop down for each item.


Things to Try

Create a number of category blogs, each with there own author. Authors should only be able to publish in their own category. For instance in our online restaurant example create a 'mains chef' user that can create articles of the category Mains etc.  (Hint create a new User Group for each category, with its parent being Registered, and apply permissions on the Category. You will also need to add a viewing access for each of the new user groups and Create Article menu items with the appropriate  viewing access.)