Main Purpose of CMS is to convert unstructured data in to structured data. There are various different types of documents stored in CMS all those documents are referred as Content in CMS terms. Each CMS has well defined lifecycle of contents which are stored. Alfresco also has its own lifecycle defined. Here I am going to give detail about lifecycle of Alfresco Contents.
Figure shown above explain the Overall lifecycle of Alfresco Content.
Stage 1: Normal Document from file system is uploaded in to the Alfresco CMS. It became content for Alfresco with meta-data of content stored in Database and actual content stored in alf_data in form of binary file under alf_data/contentstore/ folder.
Stage 2: During normal state of content sometime it is being updated by user the user who wants to edit it first need to check out that document it will generate working copy of that content once user finish the update he check-in the working copy and original copy gets updated.
Stage 3: Content is of no use and it’s deleted from the User Interface. It will be moved to archived store. User can still retrieve the deleted items from the manage-deleted item dialog from his profile page. When deleted on the file-system it lives in exactly the same place. i.e.: alf_data/contentstore but in the database the document-node record is marked as living in a different store: archive: //SpacesStore/ In database it is marked as deleted.
Stage 4: After some fix period of time all Archived contents reference are deleted though scheduled program so it will remove all the references of that particular content but binary files are still stored in file system all such files are called orphan contents. Binary files are just moved to contentstore.deleted folder.
The search index will be empty of this node. Related node information gets deleted this stage (that is, *most* related rows in tables other than alf_node, such as alf_node_properties, alf_node_assoc, alf_child_assoc, etc).
There are various ways to manage those orphaned pages which I will explain in upcoming posts.