2 Member Groups and Access Levels

Fabrik works closely with Joomla’s default User Groups and Access Levels to determine what each member can see and do on our Community Network website. It is therefore essential to understand how the Joomla User Management System works in order to create your own custom community network. To help us understand this process, this chapter is divided into the following four sections.

2.1 Create a Demo Community Network

2.2 Assign Demo Members to Default User Groups

2.3 Joomla Access Levels

2.4 Finish and Test our Custom User Groups

2.1 Create a Demo Community Network

The purpose of creating a custom access control system is to allow different members of our network to access different parts of our website. Fabrik comes with special functions to work directly with Joomla groups and access levels. Together, they make the ideal combination for creation of a community network.

01

To demonstrate how Joomla and Fabrik work together to build and support a community network, in this article, we will create a Demo Community Network.

#1 Define our Demo Community Network Members

A typical community network consists of at least three groups:

01aa

For security reasons, only a small group of people should have access to the back end of the website – and even then, they should only have access to the specific tools in the back end that they need to administer the website. We will cover these administration tools, such as the newsletter component and the Downloads component, in a later chapter. These administrators will typically not be managed by Fabrik forms. Instead, they will be added directly as Joomla administrators using the Joomla Administrator Control Panel User Manager.

The remaining two groups are normal members and special members. Normal members are often given a free membership and merely register in order to get access to the Member Lists, and Search Functions and receive the Members Newsletter and attend Member Events. Normal members can see the Lists and Search Functions and Coming events merely by logging into the website.

Special Members register with the same Member Registration form as Normal Members. However, they are allowed to create custom Member Profile Pages which are then shown on a special searchable list which can be viewed by all members. In our example, we will call these special members Service Providers – because they offer services to other members of the group (who in turn are interested in hiring some of the service providers). However, if this were an educational network, the Special Members might be teachers offering courses to the community and the normal members might be parents and teachers interested in taking those courses.

The important point is that both Special Members and Normal Members join the group by filling out the same Fabrik custom Member Registration form. Both Special Members access their group functions by logging into the front end of the website. But they see different menu items when they log into the front end of the website. Neither Special Members or Normal Members ever need to log into the back end of the website.

Administrators added via the Joomla Back End User Manager

Those with access to the back end of the website should get at least some training in website security. In particular, they should only use a Linux computer to log into the back end of the website and never use a Windows or Apple computer – as using these insecure computers might allow hackers to access the back end of our website. It is also best to have more than one person able to perform the same task in the back end – in case a task needs to be done right away. This is why each of the following positions should be regarded as the leader of a team rather than the sole person responsible for carrying out the needed tasks.

Our Demo community network will be led by a five member Board of Directors which will meet once a month and be subject to election by our community network members every two years. The Board will have the following positions:

Chair

Vice Chair who is also the Events Coordinator

Membership Coordinator

Newsletter Coordinator

Tech Team Coordinator

Here is a brief summary of the roles of these five positions and how the areas of the website each position needs access to.

2.2 Assign Demo Members to User Groups

 In our last article, we created 20 Demo Members. Five were registered by the Super User on the back end of our website. In this article, we will assign one of these 5 members to an additional default user group to see how the default Joomla User Management system works. Then in the next article, we will review how to use Joomla Access Levels in combination with Joomla User groups.

We will then create a new custom user group called Services Providers which we will use to give special permissions to our Service Provider members. We can then use our Custom Registration form to create accounts for the other 15 members of our Demo Network and assign them to the Services Providers group. We can then see how the Fabrik Search Function works.

#1 Create a First Steps for New Members Page

Go to Content, Articles, New. For Title, type: First Steps for New Members. For Text, copy paste:

This is the page where we will post instructions for first time users of our Community website. It will include a series of tips on how to make connections with other members of our community. If you have any questions, feel free to post them in our community forum. To log out, and return to our Home page, click the Member log out button.

Then click Save and Close. We will make a menu item for this article after we have made a Members Menu to place it in.

 #2 Make a Member Log In Menu Item
Next create a new article called Member Log In. Type:

If you are already a member of our group, use the form below to log into our community network. If you are not yet a member of our group, go to our Member Sign Up page to join our group! You can log into our Members area by entering your username and password in the form below.  If you have any questions, please fill out the Contact Us form in the main menu.

Then click Save and Close. Then go to Menu, Main Menu, New to create a new menu item for this page. Then go to Extensions, Modules and click on the Log In Module to edit it. Put it in the Helix Bottom 1 position. Click Publish. Then click on the Menu Assignment tab and click Only on the pages selected. Then click None. Then click the Member Log In Menu item. Then click Save and Close.

Add the Log In Module to the Bottom of our Log In Page

We next need to add the Login module to the bottom of this article. Go to Extensions, Modules and click on the Login Form to edit it. On the Module tab, hide the Title and place it in the Helix Bottom1 position. Click Publish. Then click Edit to direct members to the First Steps for New Members article after they log in and to the Home page after they log out:

a1

Then click on the Menu Assignment tab and click Only on the pages selected. Then click None. Then click the Member Log In Menu item. Then click Save and Close.

Then go to Extensions, Templates, Styles and click on the Helix template to edit it. Click Template Options, Layout, Bottom, Arrows to edit this row. Then change the background color for the row to light green (#eeffee). Then click Apply. Then click Save. Then close the Template Edit screen. Then go to the front end and click on the Member Log In menu item. Here is the finished log in page:

a2

 

#3 Assign the Newsletter Coordinator to the Author User Group
To better understand how the default Joomla User Management system works, log in as a Super User and click on the Users menu item. Then click on the Newsletter Coordinator to open the Edit screen. Then click on the Assigned User Groups tab:

01

We can see that any registered user is automatically placed in the Registered User group. Check the box for Author. Then click Save and Close. This person now belongs to two groups – the Registered group and the Author group.

 

#4 Make a Create Article Menu Item
Before this person can create any articles, we need to create a new special menu item for the front end of our website that is only visible to those above the rank of registered user. Click on the Menus, Main Menu, New Menu Item. For Menu Item type, select Articles, Create Article. For title, type Create Article. For access, go to the lower right corner of the screen and assign this menu item to the “Special” group (which we will talk more about in a bit). Then click Save and Close.

2.3 Joomla Access Levels

Joomla Access Levels are a way of more precisely defining what groups can see in the front end of our website. Access Levels are also useful for creating custom groups to precisely define what each custom group can see in the front end of our website. Pages and Categories can not only be assigned to different groups with precise permissions – but they can also be assigned to precise Access Levels. But Access Levels can be a bit confusing because folks tend to confuse Access Levels with Groups. As we will see, you can have several groups with the same access level even though each group has different permissions in terms of what each group can do.

Here is a diagram of how the Joomla Access Control System works:

01

A new member begins by filling out the website registration form. This makes them a member of our organization. Members can then be assigned to one or more groups by anyone in the organization with authority to assign them to a group. Each Group that a member is assigned to come with certain permissions which allows the member of that group to take certain actions.

Joomla allows creation of any number of groups - each of which can be assigned their own precise Permissions. In addition, each Joomla group can be assigned to a precise Joomla Access Viewing Level (and new Access viewing levels can be created) which define which pages the group can view.

What Joomla does when a person logs into a website is to first check the group they belong to. Joomla then checks the permissions they group has. Joomla finally checks the access level the group has. Only if all three conditions are met (Group, Permissions and Access Level) is the page or menu item displayed.

2.4 Finish and Test our Custom Member Groups

In a previous article, we use the Joomla User Management system to create several new groups and connected them to Access Levels. In this article, we will we will review steps 5, 6, 7, 8 and 9 of the Custom Group creation process and then testing the back end of our new Demo network. But before we drive into the details, we will take a step back and look at the hidden structure involved in building an online community network. As we outlined earlier, an online community network includes several groups. These groups include:

Public visitors to our community network.

Registered Members of our community network who have access to view or see areas of the website that are not accessible to the general public.

Special Registered Members who have the ability to create content on the front end of our website. In our example, we call these Service Providers and Job Providers. But if this were a school organization, they might be called Teachers and the Registered Members might be called Parents and or Students.

Front End Administrators who have the ability to add new members without the need to log into the back end of the website. In our case, we call this group Member Coordinators.

Back End Administrators who can log into the back end of the website in order to post events, create group registration forms, create group events, moderate forums, send newsletter, create events and publish articles written by them or submitted by other members of the community.

Each of these five groups needs their own place to post and share knowledge. Each of these posts consists of an article which is made visible by creating a menu item linked to the article. While all of these menu items could be placed on a single Main Menu, it is better to create separate menus for each of these five groups.

In our example, this means having a Main Menu for the Public, a Members Menu for Registered Users, a Service Provider Menu for Service Providers, a Job Provider Menu for Job Providers, a Member Coordinator Menu for Front End Administrators and an Administrators Menu for Back End Administrators. Each menu will only be visible to members who log into the front end of the website as a member of the associated group. To make these menus more visible, we will place them near the top of the website, just above or below the header image. Here is a Table showing the layout of these six menus.

 01a