Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A flexible user solution for Plone Intranet

A flexible user solution for Plone Intranet

How we combined Prototype-driven design, PAS, dexterity, z3c.form and LDAP to develop out-of-the-box user profiles for Plone Intranet which provide authentication, customisable profile fields and support for external user data sources (e.g. AD/LDAP)

1355978548f3cc66754c767f5a7f30ea?s=128

Matthew Sital-Singh

October 15, 2015
Tweet

Transcript

  1. ploneintranet.userprofile a flexible user solution for plone intranet Matthew Sital-Singh

    Senior Developer Netsight Intranet Solutions @mattss
  2. ploneintranet.userprofile a flexible user solution for plone intranet Matthew Sital-Singh

    Senior Developer Netsight Intranet Solutions @mattss
  3. User Stories As a [user type] I want to be

    able to [user action] So that I can [fulfilling user dream]
  4. User Stories As a human being I want to be

    able to do my job quickly So that I can go to the pub
  5. None
  6. Developer Stories

  7. Developer Stories As an integrator I want to be able

    to customise a deployment without monkey patching code So I can sleep at night
  8. Developer Stories

  9. Developer Stories Hide fields Reorder fields Add new fields Change

    field labels Change field validators Mark fields as read-only Change field permissions Load a subset of fields from an external source (AD/LDAP)
  10. Plone Intranet Rules Tested, proven default OOB solution No hard

    external dependencies Design-led UI and UX No z3c.form
  11. None
  12. Plone Intranet Rules Tested, proven default OOB solution No hard

    external dependencies Design-led UI and UX No z3c.form guidelines some
  13. The Solution dx.membrane z3c.form plone.app.registry deploy customise behaviours PAS integrate

    extend no monkeypatching = more sleep
  14. Deploy dx.membrane z3c.form

  15. Deploy dx.membrane users as content search integration

  16. Deploy dx.membrane z3c.form

  17. Customise plone.app.registry dx.membrane z3c.form

  18. Customise plone.app.registry dx.membrane z3c.form ploneintranet.userprofile.hidden_fields ploneintranet.userprofile.read_only_fields

  19. Extend behaviours dx.membrane

  20. Integrate pas.plugins.velruse plone.app.registry dx.membrane PAS plugin X plone.app.ldap

  21. Integrate pas.plugins.velruse plone.app.registry PAS plugin X plone.app.ldap IUserEnumerationPlugin ploneintranet.userprofile. primary_external_user_source

    /@@sync-users IPropertiesPlugin ploneintranet.userprofile. property_sheet_mapping /@@sync-user-properties
  22. dexterity.membrane 1.1.0 SSHA BCRYPT https://en.wikipedia.org/wiki/Bcrypt

  23. Documentation docs.ploneintranet.org/ development/ components