Domesday/Directory Design

From MozillaWiki
< Domesday
Revision as of 18:28, 3 February 2011 by Gerv (talk | contribs) (Created page with "The current plan is to make the back-end of Domesday an LDAP directory. This page documents the requirements for the schema etc. A lot of the requirements revolve around the [Do...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The current plan is to make the back-end of Domesday an LDAP directory. This page documents the requirements for the schema etc.

A lot of the requirements revolve around the [Domesday#Tagging tagging system].

Attributes

See [Domesday#Data_Fields the main Domesday page] for a list of data items to be stored, which has been annotated with possible attribute names from inetOrgPerson or elsewhere. The only data which probably cannot be stored in a single entry for a person, or subentries of it in the case of the various service IDs, is the tagging data.

We will need an additional auxiliary objectClass for our own attributes, such as "Call Me" and "Year Started".

Queries

Some of the most common queries are as follows:

  • All data (including tags) for a particular individual, specified by an exact attribute value match - must be particularly fast, as will happen very, very often
  • All data for all individuals with a particular tag
  • All data for all individuals with a certain value or range of values for an attribute or attributes (e.g. everyone in London, everyone on Facebook, everyone whose family name starts with Q)

Updates

The directory will be updated in two ways:

  • Users will update their own entry and personal tags (fairly infrequent)
  • Users will add user tags to other users (reasonably frequent)