Revision 11602 in the Joomla source code repository is an historic moment. It is the commit when advanced access control finally became available for Joomla users. One small step for a developer - a huge step for the Joomla project. While still very rough, all the foundational elements are now in place to launch Joomla into a new era.
Let's have a quick look at the new system as it stands currently.
New Members Component
Joomla 1.6 will be replacing "user" management with "member" management. This encompasses not only advanced access control but also an extendible member profile system.
The new Members Component is currently found under the Components item in the Administrator Menubar (a temporary home). It allows you to manage members in a similar fashion to the old Users Components (still present for now while we are swapping over). It also allows you to add new member groups and new access levels.
Let's have a look at the member groups first. The following screenshot shows you the group list screen. It shows you the list of groups in a tree hierarchy and the number of members in the group. The last column shows a list of the "actions" that a member in that group is permitted to perform (this column may change or be refined as work progresses). You can see a new example group called "Politicians" in the tree.
The following screenshot shows a member group edit screen. It's quite simple at the moment. On the left there is a list to select the parent for the group in the tree and a place for a title. On the right is a list of "core" actions that members in the group will be permitted to perform. At present on "Site Login" and "Administrator Login" are hooked into the system. So you can see that our traditional "Manager" user has the ability to login to both the Administrator and frontend Site. Due to inheritance of actions, members in the "Administrator" and "Super Administrator" will automatically be able to login as well. As work progresses, more actions will come online.
The next screenshot should be familiar - the members list. You can see a new member has been assigned to the "Politicians" group (welcome Mr Rudd). Below the list is an update utility that will eventually allow you to move, add and remove members in and around groups.
The member edit screen shows a lot of new information. On the left we have the usual user/member details (names, emails, etc) and member preferences. Beneath this is something new. This is a pluggable member profile system. Joomla Plugins will be able to add extra fields to a member's profile. On the right you can see the member group tree. You will be able to assign members to multiple groups.
Finally we come to the new access levels. The following screenshot shows you the access level list. Each extension will be able to have its own subset of access levels (this is what the "Section" column means). The last column lists the member groups that have permission to view content in the respective access level. So you can see that a guest (in the "Public" group) will be able to see content in the "Public" access level. Members in the new "Politicians" group will be able to see content in the "Politicians" access level.
Our last screenshot shows the access level edit screen. Once again this is a very simple screen. You provide the name for the access level and then select all of the member groups that can "view" content in this access level. You don't have to name the member groups and access levels the same - it just happens to be convenient for this example.
With all this set up, we can create some articles and assign them to the "Politicians" access level. Then when Mr Rudd logs in he can read the latest memos.
There is still a way to go (hooking in all of the edit permissions, etc) but this should be enough to whet your appetite. A lot of work has gone into making both the developer API and User Interface simple and easily understandable.
Anyway, we hope you've enjoyed this short introduction of some of the really cool new features that are coming in Joomla 1.6. It's really awesome to see this one coming together. It has been a long wait ... but I think you'll agree it has been worth it.
You can follow my development musings on Twitter from time to time.