Thu

10

Sep

2009

Joomla! 1.6 Access Control Design Concepts

Your review and feedback is appreciated on Design Concepts for the Joomla! 1.6 Access Control Improvements. Please review this video that overviews those ideas, review presentation material and leave your comments, questions and concerns, below. If you have specific application requirements that you want to ensure are met, take time to share those Use Cases for review. Thanks!

148 Votes

44 Comments

Feed
  1. This looks really great, and I think this is what many people miss in joomla, i know i do.
    I hope this will be found in joomla 1.6
  2. AMY THANK YOU SOOO MUCH!!! Wow that was a very very long video (not for the faint of heart, but well worth it for those interested and in need of Access Control)!! You all have put in a ton of work on this and it shows.

    To start I'd like to say that it looks so well thought out, more so than we've gotten in using/planning for our site. We love how open it is in being able to accommodate many groups with many different "rules/actions." I know for us one of the most important things is viewing either specific pages, specific menu items, or specific urls (which I didn't see there and I'm not sure if it's overkill or a worthy add in..) as we include many things into our site not all of which are native to joomla :-[, or have very good homes in terms of categories or sections.

    We've been using Juga ACL for our needs, and the system is nice, it takes some learning, but I can't wait until it is built more into Joomla, I feel like it will be easier...(why is that?) We have personally had some trouble getting it to allow or block specific things... (in their defense it is probably due more to our stupidity than the components short comings, don't get me wrong we love it and recommend it to those in need...) and the video here makes it appear easier to allow/deny specific items.

    Looking forward to seeing the movement... move... however we are slightly scared that we will once again be searching HIGH and LOW for components that integrate... and having to do all that transfer mumbo jumbo... 8-) Thanks again we're looking forward to the journey, so keep up the great work!
  3. Amy, I must say wow!

    To the core developers. I've worked with phpGACL for quite a while, and what you're trying to do looks like a nice implementation.

    An ACL system is hard to learn for the site-administrators though. Wrong settings often are not recongnized until it's too late. Therefore, some good tutorials and documentation pieces are as important as a well designed UI.
  4. This is a wonderful piece of work .
    Thank you very much Amy.

    Its quite a long but useful presentation and I like the example of the elementary school.Would it be possible for us to download the screens used in the video or at least the last few screens( the test case using the school)

    I have nominated you for the Open Source CMS MVP award.Like you said before, there are many other committed contributors.

    However, there is only one "Joomla Queen" :)
  5. Amy,

    Thank you for putting this review together. I like 1.5 ACL, I think it' simple, works and covers 99% of the cases. I have used other granular ACL systems and my experience is that they tend to confuse users. But hey, that's just me. I know ACL is the next big thing, but I dont really know how much people will use it. I respectfully believe that more focus should be given to other areas that are a-must in a CMS, but Joomla does not have them. For example, a core out-of-the-box taxonomy system, a core out-of-the-box commenting system, support for databases other than MySQL and improved performance. Honestly, I'd rather give up the granular ACL for a gain of 10% of request-response performance. I'm afraid granular ACL will make joomla even slower. Thank you.
  6. I like the direction this is going. I really like the "widget" style that's being implemented as well. I love the idea of not having to get into an article and realize that I need to add a group or a member, etc, and being able to do it all from within that article. I hate bouncing all over the backend in order to do something. I know that's a little off focus of the video. This kind of access control will really open Joomla up for me to apply it to more complex scenarios. I'm very excited with all of this and the video was very helpful. My worry is how this complexity will apply to a simpler install. Some just want a website and as it stands now, I can bang out a 1.5 J! site in no time. Will there be default "out of the box" defaults that will allow for this without bringing the old methods along with it?
  7. From David White

    Hi,

    Sorry about the direct email but the website blocked my comments as spam. Below is what I was commenting!

    -----

    Looking good 8-) ! I really want this functionality for use in church websites so so I am extremely pleased at what you have outlined.

    A couple of comments:
    1) Terminology. The option names aren't always very clear but the verbal descriptions are better. Would recommend a review.

    2) Apply to objects. It wasn't clear what constituted an object, it took me a while to realise it was a content item or "asset".

    3) Apply to objects. If each item of content can have custom permissions, then how does that work when groups are edited afterwards and "apply to objects" is selected? Would that overwrite custom settings?

    Keep up the good work.

    -D
  8. Great Work! The new ACL-system will push Joomla forward!
  9. The complexity of the ACL seems to dictate that there should also need to be a powerful user management.

    Schools having to manage access for hundreds of families with multiple children and grade levels are going to need significant bulk editing capabilities.
  10. I love this. I can see how this will add a whole lot of functionality to our internal site. Very good work.

    I have a few minor recommendations:
    - When you want to "add rule" for example, change the text color to green rather than red. Red is normally associated with "bad", or "delete". In this case you want to "add" something so it should be green

    - Similarly, for the check box "apply to child" you should make this a check mark rather than an "x". "x" is usually "don't do, or does not apply" and in this case you want to apply something

    Anyway just my 2 cents worth. Other than that, I cannot wait for 1.6 to be released!!!

    Sandy
  11. I actually think for the average Joomla User and Administrator, the discussed material is quite easy to read.

    EXCELLENT Improvements, and long needed organization. I look back at Joomla 1.0 and see how far it has came and where Joomla will go in the future! I love it.

    Back to business, I really like the new initiatives and the obvious thought that went into the new Access Control.

    I think what you have is great and very easy to understand!

    Keep up the good work!
  12. Absolutely love this forever, thanks very much.

    A question re forums; if I use NinjaBoard will I be able to control access to the different forum categories and forums within categories.
  13. @Andrew Couey - To restrict viewing on a specific Article, one would create a rule: "Group-View-Article-Specific Category-Specific Article." To restrict viewing on a specific Menu item, one would create a rule: "Group-View-Menu-Specific Menu-Specific Menu Item." Would have to understand the URL situation better - do you have examples? Yes, Migration to 1.6 for Extension Developers will take a bit of time. WebImagery (Louis Landry and Rob Schley) have a blog piece on the anticipated API that shows how simple it might be for extension developers. http://webimagery.net/banter/an-introduction-to-the-joomla-16-acl-api.html

    @Alex - Agree on your remarks about the need for good tutorials and documentation being equally important to a well designed UI. If you are interested in helping with that, the pay is terrible, but the satisfaction coming from knowing how many people you helped is *priceless*. ;-)

    @John - Thanks, that's nice - don't forget, some people are just more visible. While they are out yacking, others are working. ;-)

    @Luis Morales - Agree. In fact, I can't think of any other type of system that is more confusing than Access control environments. Now, my understanding is that next up - in 1.7, or 1.8, is a rewrite of com_content, and at that time, those missing features like the Taxonomy will be made available. And, of course, thanks to the Jxtended folks, comments will also be in 1.6. Appreciate your comments - it's even good to know that ACL isn't a priority for some. Big, diverse community!

    @Jim Johnson - the trick to the Widget will be creating the same functionality without Ajax, so that those using assistive devices are still able to use the environment. So, that's priority one, but I am really hoping we can also build in a more dynamic widget like described in the video since it certainly helps with what you are pointing out - the frustration that comes from going here and there to do something that seems like it should be simple. Yes, good point on the "out of the box" defaults, it's a comment raised by Andrew Eddie, too, and I think there must be a way to keep what we had in place for those who require nothing addition - and also to open things up for those who need to fine tune. Great comments.

    @David White - Good point on language - when UI settles down, consistent terms will be important. Yes, "object" is an "asset" - again, good reminder for settling on, and then sticking to, the same terms. The "apply to child objects" as designed is always a one-time thing. So, if you create a rule on a Category, and "apply to child objects", that rule is then attached to the Category and its children. If you delete the rule on a Category and "apply that change to child objects", all matching rules would be deleted for the children. I don't think (?) there will be a rule change - just a rule add and delete. It's only three options, not an Article, so, I'd recommend dealing with it as Add, Delete, nothing more.

    @Dean Peterson - absolutely right on. I was thinking the same thing. Now, Core's job is not to provide for every possible way people need to use Joomla!, but rather to anticipate those needs. So, data structures need to be in place to capture information, and events can be used to trap and respond to actions and conditions in the data. In the case of bulk loading ids and groups, this could be accomplished as an extension and the core would accommodate that nicely.

    @Sandy - excellent recommendations. Agree on Green for Add. On the wireframe, I typed an "X" and fonted it bold and red so it was visible; agree on the checkbox. I hope you continue to review interface changes and offer those types of observations. It's helpful.

    Thanks everyone! Please feel free to add Use Cases http://tinyurl.com/JUseCases and to keep involved as we move forward.
  14. Terrific presentation. Cheers to all of the ACL proposals. Slide 28 ACL widget looks wonderful.

    Would like to see Mass Mail included in the ACL and maybe have the option of having some groups designated so that any registered user can join. For example, we stream video for high school sports and I'd like a registered user to be able to self select groups from a list so enable groups like football, basketball, soccer, volleyball, motocross, etc. Then we could use the mass mail to send alerts about upcoming events that the registered user is personally interested in seeing.

    Really looking forward to 1.6...especially after watching this video.
  15. Thorough and thoughtful presentation. Thank you Amy. Some people like granular, some people don't. I myself found Drupal-like ACL system is too granular. My 2 cents.
  16. This is excellent Amy, well done!

    Can I suggest adding another system group called "Guest" which only shows to non-logged in users.

    So many times in Joomla 1.5 I have a module or menu item that I only want to show to unregistered users (eg. Register Now!) which makes no sense to show to anyone who is logged in. Users cant understand why we cant hide something from someone who is logged in when it should be so simple. I think a "Guest" system group would solve this nicely. Eg:

    - Public (everyone)
    - Guest (non-logged in only)
    - Registered (logged in only)
    - Super Administrators (super admins only)
  17. Excellent job on ACLs in Joomla 1.6 so far! To this date, Joomla 1.5 ACLs has been a nightmare to work with, and seems like 1.6 is a major improvement in a much needed area for larger websites / portal adoption.

    Quick questions that I didn't see get addressed in the video though (I may have missed it, my apologies):

    1) Can groups be members of other groups? Reasoning behind this is to create groups with basic permissions, and from there build a larger group that includes those groups as members to promote reusability and reduce configuration monotony.

    2) Content-Related Actions: Will an "editor" be able to delete/modify with the "Create" permission or will it only be restricted to just add? Since the "Publish" permission will allow the "manager" to make the asset either accessible to the public or just reject it, I am assuming the "Create" permission will allow other actions (such has modify/delete) so that the "editor" can tweak the asset for resubmission, and hence "Create" as a permission may be confusing/misnamed. Thoughts?

    Thanks for all the hard work! Nice to see progress on 1.6! :)
  18. @Mark Laughlin - Mass Mail needs work, doesn't it? I don't hear much talk about it, though. It seems to be a bit antiquated but still somewhat useful as a basic communications tool for Site Administration to Members. Until it becomes a viable frontend Component, I can't see it in the ACL beyond "Manage." We should see much better community components coming out with 1.6, though. The ACL will help with that, I'm certain.

    @vjtemplates - You remind of the importance of keeping what's simple now, simple in the future. Joomla!'s ACL is largely fuss-free, and that is a *good* thing, isn't it? We need to make sure it stays that way for those who are happy with how it is now. Make sure to pay attention to the Beta's, etc., and provide feedback. Thanks.

    @Joe - I agree on Guest - let's see if we can do that. Excellent idea and a need mentioned *often.* Thanks!

    @Bao Tran - I am recommending not to get into "groups inheriting from groups", (sorry!) at least for this first release. I spoke to that when I recommended removing Parent from Groups. We have two node base structures (Menu and Categories) that the ACL interacts with, seems to me adding a third and building in inheritance is asking for trouble and might be a bit much for a first stab. There's talk about it still, but, I do my best to discourage it for now! ;-) Create will continue to allow modify for one's created content, unless the proposed new parameter is turns that off. I am not recommending Create have Delete, although I personally think that makes sense. There isn't a delete from the Frontend now and it seems like the topic is met with resistance when raised because there isn't a trash function. Probably need to revisit.

    Great comments, thanks all! 8-)
  19. Amy, thanks for the presentation. I just added a usecase for a customer website (now J! 1.0 with JACL Plus Pro and modifications).

    I have 2 remarks:

    I don't think you need the 'Apply rule to child objects'. Child objects should inherit their parents behaviour by default and can be overridden if needed.

    It looks like all setting are now done in the User Manager. I would also like to see the widgets on the asset form. E.g. the 'category edit form' also needs a widget for viewing/editing the access to that category.

    Thanks
  20. excellent explanation. I think was really that what lacked in Joomla! Those rules of ACL will allow a dynamics in the sites done with Joomla!, the current options limit the administration of the contents a lot as well as the cooperation inside of the organizations.
  21. Amy, this is lovely. Congrats to you and to all who contributed to you being able to give us this overview.

    This is all I could as for and more.

    I have two sites where this kind of ACL is demanded yesteday (of course).

    One an artists's resource site the other a church site. The more complex of the two is the church site as it has all the requirements of the school site used as an example and more in terms of ACL.

    I agree strongly with the idea of not, for now if not forever steering clear of groups inheriting from groups. I thought this was a wonderful ability of Linux on my first run at that and created some child groups of existing groups. After a time it seemed they were breeding because I kept adding more and more. I can tell you that when the time came to clean things up it was easier to start all over again that to back out of it. So stick to your guns!

    There's enough power in what I see to simulate that ability with a bit of imagination and creativity so that the mess is avoided.

    Oh, and the video itself is great. My biggest complaint about Joomla and open source is general, which is 99% of what I use is the awful, horrible documentation. This video could be with a few re-edits here and there and some reoderting a great administrators guide. It's coherent, moves from simple to complex in a step by step easy to understand and grasp way and I came out of it with a good grasp of the topic at hand. Enough, I feel, to at least have a huge head start in the inevitable troubleshooting when I screw up.

    ttfn

    John
  22. Actions:
    Create lacks edit capability, but you provide it with a config option. Publish automatically has edit capability, but it can't be taken away. Perhaps it would be more intuitive to have the actions Create, Edit and Publish separated?

    Enable New Group Creation from View Level:
    I could see a new site admin completely ignoring categories, and instead creating groups only from articles. They would then manually assign every article a group as they create the articles. While appearing straightforward to this admin, and maybe easy to use in this manner, if they ever want to switch to using category permissions (after their site grows a bit) its going to look like a mess. Not sure if this is good or not.

    Also, should category/menu/other objects all have this sort of set-up? That way when I'm creating a new category, I can quickly set-up any related groups.

    Uncategorized articles/assets:
    Uncategorized articles should have a default group somehow.

    Deny Permissions:
    Do we need to be able to create groups that deny certain actions?

    Apply rule to child objects:
    This strikes me as potentially confusing as well. I think a general rule of thumb throughout the ACL set-up should be: "Inherit by default, edit if you want something different."
  23. @Amy
    Great work. My thoughts have been expressed by others above but I wanted to direct a public comment your way and toward to core team:

    Fabulous efforts. Thank you for working on our behalf. Such vision and forethought are what make the Joomla application my #1 CMS.
  24. Excellent presentation, Amy. I have been waiting for ACL for at least a year.

    Have you considered the idea of having a master list of rules. What I mean is that you would create a rule once and then select which rules would be applied to a specific group. I can see two advantages: you would not have to create the same rule multiple times for different groups; if something changed (e.g., the asset being accessed, the module being used, etc), you wouldn't need to search out and change all identical rules.

    I realize it would potentially add one level of complication on the user interface, but maybe not. The user manager would have a place to pick rules and perhaps a widget could be popped up if a new rule needed to be created. It would required that the manager created descriptive rule names, but perhaps joomla could default the name to something like "Create articles in category Firstgrade", etc.
  25. One thing in the authentication that I would like to see addressed is multiple logins. I do NOT want users to be able to log in multiple times, yet this is currently possible. Even with a plugin that's supposed to prevent it, the user isn't kicked out until they navigate to another page. So, in my case (another video streamer) a person can share their username and password and still watch the content because they aren't going to navigate away from the page until it's over. I'd love to force a page refresh when a user logs in twice. I find this very problematic on membership/subscription based sites.

    The ACL looks like what I've been waiting for since the Mambo days! ;-) Can't wait!!
  26. Hi Amy, thank you for your work. I think the actual Joomla ACL is ok, except few things:

    1. Need to allow admins to create groups and add users to multiple groups
    2. Need to expand core ALC system to all components, including 3rd party
    3. Need more granular options like view only, edit only own content
    4. Need integration with Active Directory, maybe a way to add selected AD groups to Joomla + block accounts when user is no longer in AD
    5. Need option to add an email address for group

    We use Joomla!1.5 for our company intranet for 2 years and meanwhile untill J1.6 will be ready, we decide to use JACL+. So i think something similar with JACL+ would be great to have for Joomla 1.6

    Thank you again
  27. Great work Amy! If all works as well as you presented it, then I think Joomla will be a great solution for larger sites that require multiple ACL.
  28. It would be great if workflow tools could be incorporated. You might add an approval role(s), and an approval status section with check boxes. Minimally, a comments box where things such as document status, comments between writers and editors, etc could be recorded without having to include them inline or having to result to email. Here's an example:

    Quote:
    Communications Manager, Antoine: Ed, that was a great article about the new accounting course your department has started developing but it needs to be livened up a bit. Ann, could you check with the department head to see if there are any personnel needs to complete the course development, and if so add some language that will motivate volunteers. Romesh, can you add a 1 minute video clip of a student showing the need for this course (Do we need a new plug-in for that, if so let's meet to discuss the possibilities.)
    Editor, Ann: I added a couple of sentences in paragraph 2 about their need for volunteer writers who understand accounting, and a motivational sentence in the last paragraph to encourage volunteers.
    Media Dept, Romesh: Done. We already had the plug-in, and some suitable footage.
    Antoine: Great! Thanks. I'll get the department head to review the article for approval, then we should be good to go.
    Curriculum Dept Head, Jules: On behalf of everyone in the curriculum department I want to say thanks all for the great article. Without you it wouldn't be nearly as lively nor contribute to our recruiting efforts. Please go ahead and publish it.
    Antoine: It's published. Thanks everyone.
  29. Hey Amy
    Thanks a lot for a wonderful video. I want to contribute to document about ACL but here is problem i am facing
    I downloaded j1.6 but it seems the files which i downloaded are kinda older version and doesnt have a lot of screens which you have described in the.
    Can you gimme any idea what am i doing wrong?
    Regards
    nik
  30. Great work Amy Love the proposal, I have been considering in modifying the access controls so that I can have a Registered/Custome Group/User name to access a specific page that no one else can.

    This is fantastic and I believe that this will empower Joomla to be easily implemented as a more sophisticated websites.

    Thank you for your hard work on the proposal... 5/5

    :-)
  31. Hi everyone! People are still reading your comments, and I encourage you to continue to provide feedback. The developers are continuing to discuss how to proceed with the ACL. The work is not yet completed on this feature and slight changes could continue at any point before release.

    I encourage you to get a copy of the nightly Joomla! 1.6 download. Look at what is there, and provide feedback as to what you see as useful and what minor changes could make this feature more useful to you.

    Thanks!
  32. Oops! This is the nightly Joomla! 1.6 download. Sorry about that previous link!
  33. Excellent concept and presentation, it will make Joomla more powerful.
    I would like to give following suggestion to make ACL more flexible and useful.
    1- There should be content viewing control at user level as well as group level.
    2- There should be content viewing control on time duration,I mean that particular viewer can see specific content as per schedule, there should be a provision to set schedule with information start and stop of year,date, time,duration,once,daily.
    This feature will helpful to create for schools and examinations etc.
    3- As you describe in your presentation about default user registration group,I suggest that we should able to define different user group registration for different menu items.for example if someone make registration from customer menu then that user register under customer group and someone register from dealer menu then that user should register in dealer group.
    4- There should be a user account validity period and before expiry date user will re validate account and system will send notice before expiry of account.
    5- There should be a provision to set access time and period of back end users.
    6- There should be a access control activity log to analyze all user activity.

    I am not sure how difficult to implement these features.These feature will make Joomla more secure and useful.
    With best wishes.
  34. OHHHH d k shukla.

    hello my English is not excellent but I try.

    the truth is that we are about a real revolution.

    you just said something I'm looking for a long time. TIME to control access to the articles would be the climax to say that joomla ACLs are really perfect. would be something so perfect that it does not seem real.

    no such control would have it, just joomla 1.6. and would be another reason to migrate quickly. took a year hoping that some component incorporates it. and I'm not the only one.

    joomla ACL to have 100% the incorporation of this feature is essential.
  35. Great vid,

    Any ACL would be great but with what you're suggesting I'd be ecstatic! Giving more control and freedom over content is where I'm at and looking for. GOOD STUFF!!! :-D
  36. Great job! this is a real improvment. Not being an expert users i have some needs that i think many people may have, and for which i don't know if they are already covered by the current version or will be included in the 1.6.

    For example if our site is a personnal site, i want to have a general site with generality for all visitors, and two diffferent view of the site for registered users, some enumerated users that will have a PRIVATE access to this part of the site. (read only, or ReadWrite, etc..) and on which they will see content that no other users profile will be able to see (Registered and not registered).The second category being the internet unknown user or company wishing to have further informations, for example professional, etc.., but where we do not want to show the last saturday party pictures.

    In my idea the need is to have the possibility to have registered user groups, for wchich the rights are not only to be able to post, or to modify, but to be able to access full parts of the site, or parts of menu, or articles.

    Users when they first register could choose a user category, and then have access to the right part of the site. As well the administrator could add himself a user to which he could give right to have access to the most confidential part of the site.

    A validation of users could be optionnaly requested to administrator. And to avoid robots scanning site a Picture with letters like in this current form could be a great improvment to avoid polution of our sites with false registered users trying to hack the site.

    Hoping that i do no make waste your time with this request (If already available - I have not found).

    Thank's a lot

    And Again Well done for this CMS in general, and the upcoming version in particular.

    Kind regards

    Stéphane
  37. I don't watch it. Please, Can you give me a link for download video. Thanks all.
  38. Amy, this is a great video, however, I'd have to agree with Luis Morales on many things he stated including the idea of making Joomla accessible to DBs other than just MySQL--in particular MSSQL 2005/2008. Thanks.
  39. Amy,

    Very nice work! This was very informative, and incredibly exciting. I am glad to see the granularity of ACL implementation in 1.6.

    This will finally give us Joomla! users the tools we need to truly provide robust, effective websites to our clients. I can't wait!!!8-)
  40. My only issue with the ACL model you describe is that I can't have it soon enough. Even very small sites that I have created are crying out for the segregation of registered users into areas of interest and none of the extensions I've tried come close to working. Can't wait to see this in production.
  41. Fantastic! A lot of my customers have asked for this functionality in Joomla sites I'ved developed for them. The only challenge I have for the development team is to release 1.6 with a smooth migration path for existing Joomla sites developed in versions
  42. My only suggestion would be a way to indicate something as being public only - not for any sort of registered user. I.e. so I could get rid of the "login" link for users that are already logged in.
  43. i dont understand what are you breaking your head and doing like it is new :\
    There is plenty of other cms using Permission system ...
    just open your eyes and you will see that suddy like this one has been done a long long time ago on other system, just have to copy (like microsoft did with mac)..
    your system is too complicated..
    a simple list of all and check what you want or not, that should be enough
    anyway, it is funny to see people beeing impressed by some revolutionary system that is not loool...
    good luck
  44. I agree with all your points and the road map you are suggesting....a simple, customizable ACL is what Joomla has needed for many years now...

    Great job!

Add Comment


    • >:o
    • :-[
    • :'(
    • :-(
    • :-D
    • :-*
    • :-)
    • :P
    • :\
    • 8-)
    • ;-)