Abstraction is important to group and relate data in different versions. Therefore the needed context can be defined with a Content Model, which describes and defines related and depending data. A Content Model defines content consisting of main characteristics and specifying information. The specifying information can consist of main characteristics and further specifying information as well.
An example from an animated movie or games production could be a 3D model (content). This model comprises a source file, e.g. a 3ds Max file, and a description (character art/character description). The 3ds Max file in turn consists of different components which are essential for its completion. This can be for example a clothing texture like a shirt, which is linked to the content through the 3ds Max file.
All textures also have an according Content Model and the shirt texture refers to it. The Content Model “textures” is hence linked to the Content Model “3d models” via this relation. This means that the relations and dependencies between types of content are realized within the Content Models. To account the different stages of work of the texture and 3D model, concrete versions of these are linked to each other. This guarantees more transparency and reproducibility of stages. In case of errors it is always possible to revert to former versions.
To map all relations between the content types, it is essential that all Content Models are defined before the production start. Each content is supposed to be uniquely identified and has to belong to a Content Model. The once defined Content Models can be ported to other projects to enhance reusability and support a cross-project management and controlling.
In this case cross-references are important to relate these cross-project connections. If a file is used in two different projects and in one the file is deleted, the content itself must not be deleted just the file reference. This has an impact on the versioning of the files. If users are searching for files, they should find all linked elements like content versions and content descriptions because it is possible that e.g. two 3D models use the same texture in two different versions.