Join Jen Kramer for an in-depth discussion in this video Assigning access levels to modules, part of Joomla! 1.7 and Joomla! 2.5: Access Control Lists in Depth.
- View Offline
We're getting very close to the end of the process here of configuring our website for our employees, our volunteers and our senior managers. And we've created our categories, we've created our articles, we created a bunch of menu items. The very last step is to make sure that the User menu shows on the front end of the website. And the way that menu show on the front end of the website is through modules. So we'll start by going to Extensions> Module Manager and you'll see that we have a number of modules that are available for this website.
Right now they are all publicly accessible modules. But we don't have a module that exists to display the User menu. In Joomla! 1.5 when you created a new menu, a module for that menu was created automatically. That doesn't seem to be true anymore in Joomla! 1.6 and 1.7. You have to actually go and make that module yourself. Which is not really that hard, all you need to do is click on the New button and from the list of all of the available modules choose the menu and give it a Title like User menu.
I'll go ahead and show that and I'll need to give this a position, I already know that my template only has two positions and one of them is on the right side of the page, which happens to be called Right. How do I know this? I created my own custom template. Watch Joomla! 1.6 Creating and Editing Custom Templates and you can create your own template too. Go ahead and just set the Access Level to Registered, because once again you want anyone logged into the website to see the User menu.
Then over on the right side of the screen you'll need to select which menu should display. We're going to select the User menu, not the Main menu. We are going to show all of the navigation on this website. You may be concerned about which of the links will show up depending on who is logged in and that you're very right to be concerned about that. But that's all configured through ACL. There's nothing there we need to configure with the module. The module itself just displays the menu, the ACL controls which of the menu items will display.
Go ahead and hit Save & Close and when we go to the front end of the website and we refresh, notice that we don't see anything available to us here, all right. But if we scroll down to the bottom of the page and we go to the Voluntary and Employee Login and go ahead and login as volunteer vol and the password which was vol and click the Login button. It's fine to go ahead and remember the password.
And what you will see is on the left side of the screen, once we've logged into the website this is providing our user profile right here on the screen. It's not providing any information to us right off the bat, it's just showing us this user profile. I personally think this is a little bit disconcerting, I'm not expecting to see my profile when I login. I think we can improve this from a usability perspective, which we are going to do in some of the coming videos. But in any case, notice here on the right side of the screen, we have our User menu and this is configured exactly as it should be.
We have our link to see our volunteer information, when I click on it that is the volunteer article. I also have the ability to see my User Profile and to edit it. So here I can go ahead and type in additional information and submit that to the front end of the website. To logout of the website what I need to do is scroll all the way back down to the bottom to where it says the Volunteer and Employee Login, click on that and then I get my Logout button here on the screen. When I click that I'm logged out of the website.
That's not exactly intuitive either and I think we can improve the usability on that as well. If I log into this website now as a super administrator, so I am going to login with admin and a password of admin and login to the website. Notice that over on the right- hand side I only have two links. I have a link to my user profile and I have a link to edit my user profile. Notice that I do not have the ability to see any of the information for volunteers, employees or for the senior management.
And I am a super administrator, how could that possibly happen? Well you remember that Access Levels are very, very specific and they only show information to specific user groups. If those user groups are not specified in the Access Level then you will not see them on the website. The links for your User Profile and Edit Your User Profile were assigned in Access Level of Registered. And those particular links work great with the Super Administrator login, because it was already configured for us when we went into Joomla! and Super User is one of the default groups.
All of those default groups work with the registered access level. But of the other access levels that we created do not have access for the super administrator. So if it's important for the super administrator to see this content from the front end of the website, we'll need to go back to our access levels and edit them so that the super administrator can see that particular content. So to add the super administrator to all of the other access levels, so we can see all of those menu items on the front of the website, go back to the back end of Joomla! and go to Users>Access Levels.
We are going to click on each one, so we are going to go to the Employee Access Level (AL) and add the Super Users, Save & Close. We repeat the process for the Senior Managers, add the Super Users Save & Close. And we're going to go to the Volunteers, add the Super Users Save & Close. It's possible when I go back here to the front end of the website that I can just refresh and we'll see the menu items, but if that doesn't work you'll need to logout, log out of the website and then login again and now you'll see that all of the links show up here on the right side of the website.
So the critical piece remember is the Access Levels control who can see what on the front end of the website, no exceptions. The Access Levels don't care if you're the Super Administrator or the Super User or not. If you don't have permission to see and Access Level, you're not going to see that information.
- Introducing access control lists
- Defining users, groups, and access levels
- Assigning core permissions
- Creating users and assigning them to groups
- Assigning viewing access levels to modules, articles, and categories
- Customizing back-end editing for improving client usability
- Adjusting permissions for each category of content
- Hiding a site behind a login