Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another member of the Core Development Team before making changes.
The Directory layer (or module) is involved in managing, storing and processing descriptive data about users and Workplaces on the system.
The scope of this specification is to provide a user authentication and role management mechanism as well as a storage mechanism for all user and Workplace details.
The Directory layer will be able to use one of three backends to serve as storage for the data:
This layer will be able to interact with the most popular database servers, not just a single one.
The purpose of this layer is mainly to manage the following data and might process some of it when required:
This layer will, therefore, handle user authentication as well as supply informative data about users and Workplaces to the rest of the platform.
Possible (to be discussed): This layer will also be flexible at run-time: the fields which it manages and interprets will not be hard-coded but can be configured by other layers in the platform.
Support for the plaintext storage backend will be implemented manually. LDAP support will be added using the LDAP C++ library (see http://www.openldap.org/conf/odd-tuebingen-2006/Ralf.pdf) and support for multiple database servers will be added using a third-party Open Source library such as soci.
This layer will form a core part of both the mira-client and mira-server packages.
Discussion