On 4/6/08, Andreas Hartmann <[EMAIL PROTECTED]> wrote: > Jörn Nettingsmeier schrieb: > > Andreas Hartmann wrote: > > > Hi Lenya devs, > > > the question is about determining the name of the author of a document, > > > e.g. for inclusion in RSS feeds. > > > > > > At the moment, the user ID is stored in the dc:creator meta data field. > > > This allows to determine the full name, but only if the user still > > > exists. If the user has been deleted from the system, there is no way to > > > find out her name. > > > > > > IMO we have to store both values, the user ID of the original creator > > > (for internal purposes) and the full name (to be displayed). IMO the > > > dc:creator field should contain the full name to make rendering as > > > straightforward as possible. That would mean we'd have to introduce a > > > new field for the user ID of the creator, probably as part of the > > > http://apache.org/lenya/metadata/document/1.0 meta > data. > BTW, this issue - mapping identities of people to documents - seems to > become a hot topic, especially in the educational domain (Open Access). See > for instance > http://www.heise.de/open/Wissenschaft-im-Zeichen-von-Web-2-0--/news/meldung/106052. > > I think it is a real challenge to provide a mechanism which allows to > identify the author of a document even after a long time. The author might > have changed her name, her e-mail address etc. If someone has experiences > about best practises, I think that could help us a lot. > -- Andreas
Best Practices in corporate and educational systems require eternal user ids. Practically, most people want IDs associated with their names (changing with marriages and other events.) Balancing both requirements can be difficult. For Lenya, IDs should be marked inactive rather than deleted. Marking an ID as inactive should: 1. Copy the current Groups and Roles to the ID file. 2. Remove the ID from all current Groups and Roles. 3. Move the ID file to a different directory. 4. The Inactive directory should be checked to disallow duplicating an ID . 5. Documents with inactive IDs can use the Inactive directory for name lookups. Performance Improvement: Use a single file for inactive name lookups. For administrative uses such as displaying an author's name stored as an ID, default to showing the ID if no other name can be found. Name changes should: 1. Create new ID. 2. Mark old ID inactive with translation to new ID. 3? Change records to use new ID. WARNING: Distributed applications may not find all uses of the old ID, and updating many records increases chances for conflicts. Better for system to update records during normal operations or just translate as needed. For IDs from other systems (e.g. LDAP), Lenya should create an internal stub. The stub contains the ID (as part of the filename), the source location, and the latest known full name. Whether Lenya caches Group and other information (password?) is a an administrative or design decision. If the LDAP runs on the same server, requiring LDAP may be good to save disk space. Some administrators may prefer Lenya to work properly (and waste some disk space) when other systems are offline. (External systems are often required to check passwords, but other access control information may often be cached.) My preference is update access control on a schedule when the other systems are available then use the local cache. Laws and regulations may require updates during sign-in or even during a session. Politics often create less well-designed systems. HTH, solprovider