PloneLDAP already pulls out any user or group properties you've
configured.
---
Dylan Jay, Plone Solutions Manager
www.pretaweb.com
tel:+61299552830
mob:+61421477460
skype:dylan_jay
On 15/02/2010, at 11:07 AM, Dan Jacka wrote:
I'm building a person directory in my Plone 3.3 intranet. The
directory must:
- source people from Active Directory;
- source places from Active Directory;
- allow additional people or places to be added in Plone, without a
corresponding AD entry;
- allow a set of additional properties to be set per person/place in
Plone;
- allow grouping of people or places into organisational units.
Tall order huh? I'm thinking I'll tackle it this way:
- FacultyStaffDirectory is a great start. It'll provide the basic
directory framework, plus the grouping mechanism via
Products.Relations.
- I'll define interfaces IPerson and IPlace, detailing the fields of
a complete person/place. I'll change FSD to find and display objects
providing those interfaces.
- Every IPerson/IPlace will be made up of either:
- AD-sourced data plus additional Plone data,
or:
- An Archetypes object plus additional Plone data.
- The 'additional Plone data' will come from Zope 3 annotations.
With annotations I can have the same set of additional data on any
IPerson/IPlace object. I'll need a UI for editing the annotations.
- I'm using PloneLDAP for authentication, so I already have a
connection to AD. I'll write adapters to IPerson/IPlace that use the
connection to pull out required data.
- I'll add Person and Place content types to FacultyStaffDirectory
based on FSD's Person type. Priveleged users can manually add a
person/place to the directory by adding an object of the right type.
This all looks very challenging to get right. I've hunted around for
any products that can help, including membrane,
archetypes.ldapstorage, betahaus.memberprofile, ATMemberInfo, etc.
Although their code will doubtless be useful, none of them gets
close enough to my use case.
My approach is still very high level at the moment. I have a few
questions for the list before I dive fully into designing this:
- Is there a third party product I've missed that will do all this
for me? :-)
- Does my approach seem sane?
- What would you do differently?
Any pointers in the right direction would be very much appreciated.
Thank you,
Dan
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers