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.
collective.local.* packagesLight components for usermanagement delegationThomas Desvenain (Ecréall),PLOG 2013thomasdesvena...
A Workspace in PloneA place where members share data with a certainlevel of self-managementEasy to transpose into Plone:A ...
A Workspace in PlonePlone is good at➢Upload and organize contents our own way➢Grant users read and write access➢Grant shar...
What we can do withcollective.local.* products➢Locally delegate user creation with collective.local.adduser➢Delegate group...
Technical approachPlone does almost all the job. We just need additionalfeature wich have to fit with any environment with...
Technical approachPlone does almost all the job. We just need additionalfeature wich have to fit with any environment with...
Technical approachNo specific role➢Workspace manager can be a set-up of an existing role➢No role for Workspace member.Memb...
Technical approachNo dependency➢Each feature is entirely independentNo setup➢No workflow or security settings (excepted in...
collective.local.adduserThe context:➢Dozens of workspaces➢Several new users / week➢One overwhelmed site administrator➢Trus...
collective.local.adduserThe problem:Create a user + give local access: not a fluent process➢Workspace manager asks Admin f...
collective.local.adduserThomas Desvenain (Ecréall) 11/20 PLOG 2013 Sorrento
collective.local.adduserThomas Desvenain (Ecréall) 12/20 PLOG 2013 Sorrento
collective.local.addusercollective.local.adduser allows a workspace manager tocreate user➢Users are created globally➢Roles...
collective.local.addgroupThe context:➢Workspaces with dozens of membersThe problems:➢Sharing page turned unreadable➢Settin...
collective.local.addgroupThomas Desvenain (Ecréall) 15/20 PLOG 2013 Sorrento
collective.local.addgroupThomas Desvenain (Ecréall) 16/20 PLOG 2013 Sorrento
c.l.adduser + c.l.addgroupThomas Desvenain (Ecréall) 17/20 PLOG 2013 Sorrento
collective.local.addgroupcollective.local.addgroup allows a workspace manager tocreate groups➢Similar behaviour than colle...
c.l.adduser + c.l.addgroupThomas Desvenain (Ecréall) 19/20 PLOG 2013 Sorrento
collective.local.*Thank you for your attentionthomas.desvenain@gmail.comvincent.fretin@gmail.comhttp://github.com/tdesvena...
Upcoming SlideShare
Loading in …5
×

Introduction to collective.local.* packages at the Plone Open Garden 2013

3,016 views

Published on

Published in: Technology

Introduction to collective.local.* packages at the Plone Open Garden 2013

  1. 1. collective.local.* packagesLight components for usermanagement delegationThomas Desvenain (Ecréall),PLOG 2013thomasdesvenain@ecreall.comhttps://github/tdesvenain
  2. 2. A Workspace in PloneA place where members share data with a certainlevel of self-managementEasy to transpose into Plone:A folder where allowed users can share (and edit)contents and give rights to other people.Thomas Desvenain (Ecréall) 2/20 PLOG 2013 Sorrento
  3. 3. A Workspace in PlonePlone is good at➢Upload and organize contents our own way➢Grant users read and write access➢Grant sharing privileges to locally privileged users (a« Workspace manager » or « Can share » role)➢Providing views restricted to the content of theworkspace (navigation portlet, etc)➢Much morePlone is not so good at:➢Locally delegating user management➢Communicate with users we share documents withThomas Desvenain (Ecréall) 3/20 PLOG 2013 Sorrento
  4. 4. What we can do withcollective.local.* products➢Locally delegate user creation with collective.local.adduser➢Delegate group management with c.l.addgroup➢Display workspace members listing with c.l.userlisting➢Send content by mail to other members with c.l.sendto➢Display group members in sharing table with c.l.deploygroups➢Having this in a set-up bundle with c.l.workspaceWell focus oncollective.local.adduser and collective.local.addgroupThomas Desvenain (Ecréall) 4/20 PLOG 2013 Sorrento
  5. 5. Technical approachPlone does almost all the job. We just need additionalfeature wich have to fit with any environment withoutaltering it.No specific content type➢There is no Workspace, just Workspace features forfolders➢Folder just has to provide an interface to get a featureThomas Desvenain (Ecréall) 5/20 PLOG 2013 Sorrento
  6. 6. Technical approachPlone does almost all the job. We just need additionalfeature wich have to fit with any environment withoutaltering it.No specific content type➢There is no Workspace, just Workspace features forfolders➢Folder just has to provide an interface to get a featureThomas Desvenain (Ecréall) 6/20 PLOG 2013 Sorrento
  7. 7. Technical approachNo specific role➢Workspace manager can be a set-up of an existing role➢No role for Workspace member.Members are just all users with local roles➢No member list stored in any way➢Can theoretically be mixed with any other workspacesystem (collective.groupspaces,, collective.team...)Use existing Plone permissions as most as possibleThomas Desvenain (Ecréall) 7/20 PLOG 2013 Sorrento
  8. 8. Technical approachNo dependency➢Each feature is entirely independentNo setup➢No workflow or security settings (excepted inc.l.workspace)➢configure.zcml that setups feature for default folders➢minimal.zcml that sets up nothingUsing Plone views as most as possibleThomas Desvenain (Ecréall) 8/20 PLOG 2013 Sorrento
  9. 9. collective.local.adduserThe context:➢Dozens of workspaces➢Several new users / week➢One overwhelmed site administrator➢Trusted workspace managersThomas Desvenain (Ecréall) 9/20 PLOG 2013 Sorrento
  10. 10. collective.local.adduserThe problem:Create a user + give local access: not a fluent process➢Workspace manager asks Admin for user creation,➢Wait it is done...,➢Give the access,➢Notify the user.(When user receives the email, he has no right yet.« This doesnt work ! »)=> Admin often does the whole jobThomas Desvenain (Ecréall) 10/20 PLOG 2013 Sorrento
  11. 11. collective.local.adduserThomas Desvenain (Ecréall) 11/20 PLOG 2013 Sorrento
  12. 12. collective.local.adduserThomas Desvenain (Ecréall) 12/20 PLOG 2013 Sorrento
  13. 13. collective.local.addusercollective.local.adduser allows a workspace manager tocreate user➢Users are created globally➢Roles are setup only on workspacerequirements:➢Workspace manager locally needs « Manage Users »➢Workspace folder implements an interfacecollective.local.adduser.interfaces.IAddUserThomas Desvenain (Ecréall) 13/20 PLOG 2013 Sorrento
  14. 14. collective.local.addgroupThe context:➢Workspaces with dozens of membersThe problems:➢Sharing page turned unreadable➢Setting a role was critically slow(reindexObjectSecurity...)=> Delegating group creation became essentialThomas Desvenain (Ecréall) 14/20 PLOG 2013 Sorrento
  15. 15. collective.local.addgroupThomas Desvenain (Ecréall) 15/20 PLOG 2013 Sorrento
  16. 16. collective.local.addgroupThomas Desvenain (Ecréall) 16/20 PLOG 2013 Sorrento
  17. 17. c.l.adduser + c.l.addgroupThomas Desvenain (Ecréall) 17/20 PLOG 2013 Sorrento
  18. 18. collective.local.addgroupcollective.local.addgroup allows a workspace manager tocreate groups➢Similar behaviour than collective.local.adduserrequirements:➢Workspace manager locally needs « Manage Users »➢Workspace folder implements an interfacecollective.local.adduser.interfaces.IAddNewGroupThomas Desvenain (Ecréall) 18/20 PLOG 2013 Sorrento
  19. 19. c.l.adduser + c.l.addgroupThomas Desvenain (Ecréall) 19/20 PLOG 2013 Sorrento
  20. 20. collective.local.*Thank you for your attentionthomas.desvenain@gmail.comvincent.fretin@gmail.comhttp://github.com/tdesvenainhttp://github.com/vincentfretinThomas Desvenain (Ecréall) 20/20 PLOG 2013 Sorrento

×