Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Joomla 1.6/1.7 Access Control Lists (ACL)

Joomla's ACL changed radically between version 1.5 and more recent versions. This talk highlights the rules for thinking about ACL. The talk was followed by a live demo of the ACL system.

  • Login to see the comments

Joomla 1.6/1.7 Access Control Lists (ACL)

  1. 1. Joomla 1.7 Access Control Lists (ACL) Jen Kramer 4Web, Inc. Joomla Day Chicago August 2011
  2. 2. Agenda <ul><li>Understanding ACL terms </li></ul><ul><li>Understanding ACL hierarchy </li></ul><ul><li>ACL example configurations </li></ul>
  3. 3. What is ACL? <ul><li>Most people think of “who sees what” </li></ul><ul><li>It’s also who creates, edits, and configures what </li></ul><ul><li>Joomla separates viewing from all other permissions in a separate system (access levels) </li></ul>
  4. 4. Just because you can… <ul><li>ACL is NOT for newbies </li></ul><ul><li>ACL gets very complicated very quickly </li></ul><ul><li>There is nothing wrong with using the default settings, which approximate Joomla 1.5 ACL </li></ul>
  5. 5. If the implementation is hard to explain, it's a bad idea. The Zen of Python
  6. 6. Joomla 1.5 ACL: Review <ul><li>7 user groups , plus public. Groups cannot be expanded </li></ul><ul><li>Any user in any group can do anything the group can do </li></ul><ul><li>Groups are hierarchical: inherit permissions </li></ul><ul><li>3 access levels: Public, Registered, Special </li></ul>
  7. 7. Joomla 1.7 ACL <ul><li>7 user groups by default, add as many more as you wish </li></ul><ul><li>Any user in any group can do anything the group can do </li></ul><ul><li>Groups are not hierarchical: they inherit permissions, but they can be set with whatever permissions you want </li></ul><ul><li>3 access levels by default, can add more. Permissions NOT inherited </li></ul>
  8. 9. Users (Users – User Manager – Add New User)
  9. 11. Core Permissions (Site – Global Configuration – Permissions)
  10. 13. User Groups (Users – Groups – Add New Group) <ul><li>User groups inherit core permissions from parents </li></ul><ul><li>If you want to keep it (more) simple, keep parent as public and add required permissions </li></ul><ul><li>“ Flat is better than nested.” ( Zen of Python ) </li></ul>
  11. 15. Access Levels (Users – Access Levels – Add New Access Level) <ul><li>Access levels do NOT inherit permissions from other groups </li></ul><ul><li>Possible for SU to not see certain content on front end </li></ul>
  12. 16. Now you know the terms… <ul><li>On to the planning! </li></ul>
  13. 17. Planning for ACL <ul><li>Describe the problem you are trying to solve. Example… </li></ul><ul><ul><li>The general public can visit that site and see most content. However, there is content behind the scenes for students and teachers. </li></ul></ul><ul><ul><li>A teacher can see content specifically for teachers, all student content, and the public content. </li></ul></ul><ul><ul><li>Students can only see student content (not teacher content) and the public content. </li></ul></ul>
  14. 18. Planning for ACL <ul><li>Is your problem a reading problem? Or does it have to do with creating/editing/deleting content? Or both? </li></ul><ul><ul><li>If it’s a reading problem, you need to think about access levels. </li></ul></ul><ul><ul><li>If it’s an editing problem, you might not need to think about access levels at all. </li></ul></ul>
  15. 19. Planning for ACL <ul><li>Think about maintenance. </li></ul><ul><ul><li>It’s easier to allow all content within a category be editable or readable by a group, rather than setting individual articles. </li></ul></ul>
  16. 20. Planning for ACL <ul><li>Think about inheritance. </li></ul><ul><ul><li>Do users belong to more than one user group? If so, how does that affect their permission to do things? </li></ul></ul><ul><ul><ul><li>User group permissions ARE inherited </li></ul></ul></ul><ul><ul><ul><li>Access levels are NOT inherited </li></ul></ul></ul>
  17. 21. Joomla 1.7 ACL demo
  18. 22. Questions? <ul><li>Jen Kramer </li></ul><ul><li>4Web, Inc. </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li>[email_address] </li></ul><ul><li>Twitter: jen4web </li></ul>