Sakai uses types when different flavors of an object need to be determined and these flavors are well known. Types are not extensible at run time. Services may also use enumerated properties, particularly for status information.
Sakai Types are defined using the Sakai Type Manager. See Common Services. The Sakai TypeManager provides a means to define and persist types. Type objects can be retrieved using either an Id or by keyword string.
Sakai supports two kinds of Types at this time: legacy and OKI.
Legacy Types
Types in the Legacy Services are simple strings and used to distinguish one flavor of object from another.
OKI Types
OKI Types are part of the Shared OSID. Each type consists of three strings: authority, domain, and keyword. Together, they form a unqiue signature that can be used to distinguish one Type from another. Typically, the authority is the insitution that is defining this type (org.sakaiproject, org.okiproject, etc.). The domain reflects which service or part of the sytem this is used in (agent, coursemanagement, assessment, etc). Finally, the keyword identifies how this type will be interpreted.