Sakai Super Structure API

Sakai Super Structure API

Use Cases

The Super Structure – OSID Adaptor

MIT is in the process of formalizing access to its campus services using OKI OSIDs. These Open Service Interface Definitions have been proposed as a standard way to access enterprise services in a campus environment.

The Hierarchy OSID was intended to allow campus and other hierarchical structures to be represented. Sakai has proposed the Sakai Super Structure API for this purpose.

In most respects, there is a simple mapping between the SuperStructure Node and a Hierarchy node. However, a few issues need to be dealt with.

Multiple Hierarchies

The HierarchyManager OSID allows multiple hierarchies to be accessed. This can be managed from the Sakai side by creating an abstract root node with each hierarchy as its children.

Multiple Roots in a Hierarchy

The Hierarchy OSID allows multiple roots in a single hierarchy. This can be managed by Sakai by linking each root to the heirarchy node (see above). Care will be needed to correctly interpret both hierarchy and hierarchy-root nodes from the Sakai perspective. Sakai tools may make assumptions about the Super Structure root (which is TBD, since the Super Structure is not actually being used yet).

Multiple Parents for a Node

The Node OSID allows each node to have multiple parents. Discussions with MIT indicate that this is largely used to handle cross-listing of courses, but it is provided as a general capability in the Hierarchy OSIDs. Cross-listing is handled by the Course Management API in Sakai. It is proposed that the first parent in an OKI Node be treated as the "primary parent" for purposes of inheritance (AuthZ) and parent-traversal.

Object References

Sakai includes an object reference in its Node object. OKI uses a mix-in approach where an agent implementation (for example) would implement both the Agent OSID and the Node OSID. It may be possible to use the OKI object Id as the primary Identifer. More research is indicated.

Implementing a Super Structure using LDAP

LDAP is capable of representing many of the same things as the Sakai Super Structure. This use case should be fleshed out to describe how the Super Structure API can be used to access and LDAP representation.

Useful References