Content Store
The Content Store is the Xill4 database concept for storing any type of content targeting migrations. It uses a Mongo database and a combination of schemas. In Mongo terminology each data record stored is called a (BSON) document, to avoid conflicting terminology when talking about documents or content from an external repository the term RECORD
is used when referring to an actual file or document.
A very important concept about the Content Store is that each migratable object is stored separately.
Kinds of content
It distinguishes eight different kinds of content:
- ROOT
- CONTAINER
- RECORD
- BINARY
- RELATION
- ACL
- AUDITLOG
- PRINCIPAL
The CONTAINER, RECORD and BINARY are the three most important ones, because together they form about 80% of the actual content.
ROOT
The ROOT
document(s) are the starting point(s) of a migration. They hold the ID of the target repository container objects where the migrated content needs to land.
CONTAINER
The CONTAINER
kind is used for hierarchical content types like folders, sites, documentLibraries, archives, sub-sites, lists.
RECORD
The RECORD
kind is used for any actual content like pages, paragraphs, list-items, documents. It holds the metadata and references to the actual binaries. For a representing a file-system this means that each file will have both a RECORD
document and a BINARY
document stored.
BINARY
The BINARY
kind is used when representing physical file. It holds the metadata about the files and contains a reference to its location.
RELATION
The RELATION
kind is used for relationship type of objects other than representing a parent-child structure and (language) versions.
ACL
The ACL
kind is used for representing access control list objects.
AUDITLOG
The AUDITLOG
kind is used for representing audit log objects.
PRINCIPAL
The PRINCIPAL
kind is used for representing user and group objects.
Schemas
To store these different kinds of content, the Content Store supports 6 different schemas. Schemas describe the requirements of the content being stored in the Content Store.
The selection below describes the different schemas and there purpose.