The Content Engine overview topic Documents makes a distinction between a document and its content. Simply put, a document object's content is the file the user checked into the object store.
Document objects contain many properties: the date it was created, who created it, when it was checked out, and how big it is. These properties, and many more, are properties of a document object. One of the document object's properties is its content element property, a property that either captures the file from its network location into the object store or just refers to the file which stays outside the object store.
NOTE The following scenario describes using a FileNet P8 Platform application like Workplace to checkin and checkout out documents, including the use of typical desktop applications to edit the documents. Content can be automatically added and changed using such means as workflow processes and automated scripts that can fire off checkin and checkout activities in response to specified events.
Specific applications can impose restrictions on what the document content consists of. For example, the application could disallow filename changes, or it could allow only one content element. But this is not a restriction of Content Engine's document versioning rules. You will see this if you use Enterprise Manager or an application like Workplace to perform a checkout and checkin cycle: you are free to add any content elements you like to the checkin, despite what the content elements were when you checked it out.
Once a document version is checked in, however, there are no more changes to that version's content. You can only change the content of a document object when its versioning state is Reservation. Content elements can only be changed, added to, or removed while the document is checked out during which time it is flagged as a Reservation. Content Engine provides no versioning or editing actions that would allow you to change the content of versions that are In Process, Released, or Superseded.
There are two ways to store content:
Content Element objects persist dependently, meaning that they cannot be directly saved or secured. They are added to either a document or annotation object, and their existence in the object store as well as their security depends on these objects.
Document objects do not have to have content. One reason to create a document object without content might be that it is not yet available and will be added later.
A document object with no content can also be useful for items that are stored in special locations yet still require version tracking or controlled access. Some examples are various types of physical objects like magnetic tapes, printed technical manuals, printed engineering drawings, and software source code listings. Each time something happens regarding the item that you want to record, you could check out the item's document object, make appropriate changes to the object's properties, and check it back in.
Content Engine has only one other content bearing object: the non-versionable Annotation object. Apart from not being versionable, an annotation object's content behaves the same as the content of a document.