There are several major parts to the Content data model.
Storage Model
This describes how objects reference each other. This level knows nothing about learning objects, units, assessments... Lets call this the storage model.
It is abstracted from the actual storage: relation db, file system, object db...
Its design is concerned with issues of generic lifetime content management, fast deployment,
controlled caching.
This is the generic framework that the standard SAIL content objects will be built with.
Content Storage Model
SAIL Content Objects
An implementation using the Storage Model framework. It will have objects that represent units, assets, and assessments. All the data of this high level will be deployed to the "host" or LE. Some of it might be "running" on the host some of it might be running on the client. Some will reference the learner data.
SAIL Content Objects
This is the level of objects that could be shared and reused.
They can also be edited directly, but that might mean they will be unlinked from the Authored Content.
Authored Content
This is the source from which the SAIL Content Objects are generated. It will describe simple structures that get turned into complex collections of objects.
There might be several "schemas" of authored content. Depending on how a person or project prefers to author their content. A single user could start by picking an existing "schema". A project might define its own "schema" that is customized to that projects needs.
Some "schema" would allow a user to reference SAIL Content Objects directly.
[Pedagogica Formalisms for SAIL]