
Last week,
Sander Potjer tweeted and
posted about his new ACL interface.
He has been working on this interface since the
Joomla! 1.6 Bootcamp early in August where he presented his ideas using an Excel spreadsheet, pictured below.
The response at the Bootcamp to his ideas was good, as was the
response from community was very positive. For the first time, the ACL was presented in it's entirety on one page in a way that it makes sense to people.

With Sander's interface, several listboxes are available to zone in on an area of interest. Site Administrators can view the settings for the various levels (Global Configuration, Component-specific, Categories or detail level, like Article) for a User (also if user is assigned to multiple groups) or for a specific Group
Any combination of those options produces a single view of ACL information in the form of a combined hierarchy from the root, through the various Components, into the Categories, and all the way to the detail records.
Now for that result set, one can then see at a glance the
Admin, Manage, Create, Delete, Edit, and Edit State settings. Even the Component Settings and login rights are visible.
Remarkably, all of this data is presented in a simple way that's easy to understand, explaining such cryptic classifications as
implicit deny,
explicit allow, and
explicit deny using visual symbols and a "combined across Components" application natural hierarchy.
For those of us worrying about the complexity of the ACL, it was pretty stunning (and quite a relief!) to see what could be done to bring usability to the Joomla! ACL.
New Feature: Joomla Core ACL
As is often the case, similar solutions emerge. Last night, a
patch was
shared on Joomlacode that creates a very similar interface. That was built on work started as a
debugging tool in issue 21447 as
user_debug_task.patch that was posted a few hours before Sander's Flickr images were shared.
Great minds think alike, it seems, and now there are two solutions to the nagging question of how we make Joomla!'s ACL more user friendly.
So, what's the problem? Maybe it's not so much a problem as it is a question we need to wrestle with as a community. What do we do with these situations?
As I said on Twitter earlier that I was pretty surprised to see the 1.6 Redirect Manager appear after
I had one on JoomlaCode. To be clear, I am not saying it's the same code or that anyone even used my idea. It's certainly not a incredibly novel concept to have old and new URLs associated in a database.
But, if my idea seemed like a good one, and that was somehow a motivation to offering such capability in core, it would have been an incredible honor for me to be involved in the process. That involvement would have motivated me to do more of the same in the future.
It isn't unusual that people see their work in the work of others with Free Software. In fact, that's kind of the point -- that we learn from one another and collectively advance our software base.
If you are a developer in the Joomla! community, then you have spent a great deal of time learning from the efforts of folks like
Andrew Eddie,
Louis Landry, and
Johan Janssens.
We even learn from other projects. The developer of the
Drupal Query Builder saw similarities in the Joomla! Database Query for 1.6. The fact that we use the term
CCK to describe
varied solutions the community offers to
add custom content is a direct result of our
learning from Drupal.
EvolutionAs we continue our evolution as a community of developers, we will have to learn to collaborate more closely and continue to put food on the table. Not an easy task when the results of the work you produce is liberated, and therefore can be redistributed without consequence.
As we learn from our neighbors, let's look at their Mission and Values, too.
- Flexibility, simplicity, and utility in our product;
- Teamwork, innovation, and openness in our community;
- Modularity, extensibility and maintainability in our code.
When Drupal finds duplication of functionality,
they collaborate on a common solution and involve all players. Eventually, we'll get there where we do that a lot more between developers. For now, we should at least enforce that policy for any core code that overlaps with community contributions. Let's use our core code for a starting point for collaboration.
I encourage the project to
stick to the list of items that must be completed before we release Joomla! 1.6. That is especially true since we have determined it's necessary to
double the hours of paid development time in order to get 1.6 out We are long past the point of adding features, even new Views for the ACL. If we are still entertaining features, I would still love to see us get Comments in, but
that has been said to be too late.
Let's get those
1's and 2's completed and 1.6 out. Then, let's pull together for 1.7.
Then, for 1.7, let's see if Sander will help lead the way, collaborating with
the project for a greatly improved 1.7
ACL interface. Joomla! 1.7 is only six months away, after all, once we release of Joomla! 1.6. So, all hands on deck to get 1.6 out and let's build up our community engagement by involving developers who have innovated remarkable solutions with contributing to our future core code.
You need to be a member of All Together, As A Whole to add comments!
Join All Together, As A Whole