[Zope3-dev] Question: Are principals (sometimes aka users) content or meta-content?

Garrett Smith garrett@mojave-corp.com
Thu, 8 May 2003 09:59:48 -0500


Jim Fulton wrote:
> I think it would be worthwhile to brainstorm this a bit here.
>=20
> Thoughts?

Would it be helpful to sketch out some use cases? I see this issue as
being somewhat related to the "what are content fields/what are
metadata" question I've raised.

In our application, principals/users/members (PUMs?) will be used for
several things:

1 - authentication and security
2 - application preferences/settings
3 - user info (e.g. contact info, department, benefits plan, etc.)
4 - relationships (e.g. user 'Bob' is working on these projects, has
purchased these items, etc.)

Most business apps treat items 1 and 2 separately from items 3 and 4.
I.e. application users are treated separately from business objects such
as customers, employees, etc. Whether these should be unified is up to
the app developers, but it would be nice if they could be.

Another issue is integration. It would be nice to be able to support
multiple external PUM (sorry, last time I use this term :-) sources.
E.g. an application might support activity for employees, customers, and
partners:

- employee user info would come from a local Windows Active Directory
- customer user info would be stored in the app -- e.g. the customer can
'sign up' over the web
- a particular partner might expose an LDAP server

(Btw, MS SharePoint does a pretty nice job of this within MS
environments.)

Obviously, this sort of thing should be supported for security, but how
will items 2, 3, and 4 be handled in conjunction with external systems?
E.g. an Active Directory user will certainly have a user's email
address, which could be used for subscriptions/notifications. But an
application might support an alternative address that is stored/managed
within the app that replaces the AD email address.

I suppose I'm not really addressing Jim's issues here, but maybe some
more concrete use cases will help.

 -- Garrett