Your SlideShare is downloading. ×
Make your extension more powerful by implementing Joomla ACL - J and Beyond 2014
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Make your extension more powerful by implementing Joomla ACL - J and Beyond 2014

1,231
views

Published on

Did you already implemented support for Joomla ACL in your extension? No? Join this session to learn all about making your extension more powerful by implementing support for Joomla ACL. …

Did you already implemented support for Joomla ACL in your extension? No? Join this session to learn all about making your extension more powerful by implementing support for Joomla ACL.

In an attempt to keep Joomla user friendly many site builders would like to be able to set customized access for the end users of the website. For example by proving access to a specific page of a specific extension in the backend.

Many extensions still don't offer the possibility to configure ACL permissions. I will explain why it is important for the customers of your extension to implement Joomla ACL support and how easily this can be implemented.

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,231
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Make your extension more powerful by implementing Joomla ACL Sander Potjer - @sanderpotjer www.aclmanager.net J and Beyond 2014
  • 2. Sander Potjer Extension: ACL Manager Joomla Agency: Perfect Web Team I love Joomla
  • 3. Sander Potjer Extension: ACL Manager Joomla Agency: Perfect Web Team I love Joomla Slides: slideshare.net/sanderpotjer
  • 4. Photo by: Mark Fischer Joomla ACL
  • 5. ACL?!?! ACL = Access Control List ! ! ! ! ! ! !
  • 6. ACL?!?! ACL = Access Control List ! 1) Visibility of content ! ! ! ! !
  • 7. ACL?!?! ACL = Access Control List ! 1) Visibility of content ! ! ! ! 2) Actions on objects
  • 8. Photo by: Chris Smith Overview
  • 9. user
  • 10. user permissions
  • 11. user permissionspermissions ! Site Login Admin Login Offline Access Super Admin / Configure Access Admin. Interface Create Delete Edit Edit State Edit Own
  • 12. user permissions group
  • 13. user permissions access level group
  • 14. user permissions access level group
  • 15. user permissions access level group
  • 16. user permissions access level group
  • 17. user permissions access level group
  • 18. user permissions access level group
  • 19. user permissions access level role
  • 20. ACL levels Photo by: Ian Sane
  • 21. Global Configuration permissions Component permissions Category / Module permissions Article permissions
  • 22. Photo by: Andreas Inheritance
  • 23. Global Configuration permissions Component permissions Category / Module permissions Article permissions
  • 24. Global Configuration permissions Component permissions Category / Module permissions Article permissions
  • 25. Global Configuration permissions Component permissions Category / Module permissions Article permissions not set inherited inherited inherited
  • 26. Global Configuration permissions Component permissions Category / Module permissions Article permissions allowed inherited inherited inherited
  • 27. Global Configuration permissions Component permissions Category / Module permissions Article permissions allowed inherited denied locked
  • 28. Global Configuration permissions Component permissions Category / Module permissions Article permissions not set allowed inherited inherited
  • 29. Global Configuration permissions Component permissions Category / Module permissions Article permissions not set inherited allowed inherited
  • 30. Global Configuration permissions Component permissions Category / Module permissions Article permissions denied allowed locked locked
  • 31. Global Configuration permissions Component permissions Category / Module permissions Article permissions denied allowed locked locked CONFLICT
  • 32. Why? Photo by: jon jordan
  • 33. Why not! Photo by: Peter Reed
  • 34. Usability Photo by: Rick Dolishny
  • 35. Don’t make me think Photo by: Alper Çuğun
  • 36. Basic ACL implementation Photo by: Daniel Kulinski
  • 37. Configure To configure the access settings via the 'Options' toolbar button ! Access Administration Interface To define which group is able to access/manage the component 2 actions required
  • 38. 4 steps 18 lines of code couple minutes
  • 39. Add actions 1
  • 40. File: administrator/components/com_foobar/config.xml
  • 41. Access check 2
  • 42. File: administrator/components/com_foobar/foobar.php
  • 43. ‘Options’ toolbar button 3
  • 44. File: administrator/components/com_foobar/views/foobars/view.html.php
  • 45. File: administrator/components/com_foobar/views/foobars/view.html.php
  • 46. Add language string 4
  • 47. File: administrator/language/en-GB/en-GB.com_foobar.ini
  • 48. Done!
  • 49. Basic ACL support is not optional, it is a requirement for any Joomla extension!
  • 50. Advanced ACL implementationPhoto by: Patrick Lauke
  • 51. Database
  • 52. Rules - JSON encoded {"core.login.site":{"6":1,"2":1}
  • 53. com_content.article.24 [extension].[section].[object id] Action name format (database)
  • 54. JTable
  • 55. Access.xml
  • 56. File: administrator/components/com_foobar/config.xml
  • 57. File: administrator/components/com_content/access.xml
  • 58. File: administrator/components/com_content/access.xml
  • 59. File: administrator/components/com_content/access.xml
  • 60. File: administrator/components/com_content/access.xml
  • 61. File: administrator/components/com_content/access.xml
  • 62. File: administrator/components/com_content/access.xml Component permissions Category / Module permissions Article permissions
  • 63. File: administrator/components/com_content/access.xml
  • 64. Site Login: core.login.site Admin Login: core.login.admin Offline Access: core.login.offline Super Admin / Configure: core.admin Access Administration Interface: core.manager Create: core.create Delete: core.delete Edit: core.edit Edit State: core.edit.state Edit Own: core.edit.own Title vs Name
  • 65. File: administrator/components/com_content/access.xml
  • 66. File: administrator/components/com_content/access.xml Component permissions Category / Module permissions Article permissions allowed inherited inherited
  • 67. Custom Actions
  • 68. File: administrator/components/com_akeeba/access.xml
  • 69. File: administrator/components/com_akeeba/access.xml
  • 70. File: administrator/components/com_akeeba/access.xml
  • 71. File: administrator/components/com_akeeba/access.xml
  • 72. File: administrator/components/com_akeeba/access.xml
  • 73. Action name format (xml) akeeba.backup [name extension].[name action]
  • 74. Keep it structured
  • 75. Interface
  • 76. File: administrator/components/com_foobar/views/foobar/tmpl/edit.php
  • 77. getActions helper
  • 78. File: libraries/cms/helper/content.php
  • 79. File: can be used anywhere
  • 80. File: can be used anywhere
  • 81. addToolbar
  • 82. File: administrator/components/com_foobar/views/foobars/view.html.php
  • 83. File: administrator/components/com_foobar/views/foobars/view.html.php
  • 84. Resources Photo by: Schub@
  • 85. Is your extension really Joomla 1.7 ready?
 http://www.aclmanager.net/news/general/28-is-your-extension-really-joomla-17-ready ! How to add basic ACL support to your extension http://www.aclmanager.net/news/general/31-how-to-add-basic-acl-support-to-your- extension 
 Developing a MVC Component/Adding ACL http://docs.joomla.org/J2.5:Developing_a_MVC_Component/Adding_ACL 
 Adding ACL rules to your component http://docs.joomla.org/Adding_ACL_rules_to_your_component ! Access Control List Tutorial http://docs.joomla.org/J2.5:Access_Control_List_Tutorial ! Support for ACL permissions per module in com_modules https://github.com/joomla/joomla-cms/pull/1930/files ! JHelperContent::getActions() improvements
 https://github.com/joomla/joomla-cms/pull/2728 ! This presentation http://slideshare.net/sanderpotjer/

×