Directory Layer

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.

Summary

The Directory layer (or module) is involved in managing, storing and processing descriptive data about users and Workplaces on the system.

Scope

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.

Design

The Directory layer will be able to use one of three backends to serve as storage for the data:

  • Plaintext file
  • Database
  • LDAP

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:

  • Descriptive User data (authentication and personal details)
  • Descriptive Workplace data (such as the name, description, creation date, etc)
  • Workplace Roles (a definition of each role in terms of privileges as well as a list of users and their respective roles in each Workplace).

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.

Implementation

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.

Outstanding Issues

  • Is this layer to be flexible at run-time?
  • Will the soci library be used to provide database backend support?
 
development/blueprints/layers/directory.txt · Last modified: 2007/09/04 17:00 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki