TSG has over 15 years experience building systems to manage controlled documents. Most of these systems have been built on top of Documentum for clients in various industries including Pharmaceuticals, Nuclear Energy, Manufacturing and others. When talking to these clients about their thoughts on moving from Documentum to Alfresco, the inevitable conversation comes up: “How do we manage our controlled documents?”
One of our products, Active Wizard, is an electronic forms and workflow product that is well suited for controlled document systems. With the help of a TSG client in the pharmaceutical industry, version 5.0 of Active Wizard will support both Alfresco and Documentum repositories.
Controlled Document Process
Controlled documents are commonly managed under the following life cycle, as described in this post. The key takeaway is this diagram:
The above scenario can be read as:
- A user wants to make a change to Doc A, which is an Effective document in the system
- The user versions Doc A, which creates a 1.1 Draft. The user can version the document any number of times, hence the 1.x to denote any revisions to the Draft.
- During this editing process, document consumers still see the Effective version 1.0. This way, a manager on the manufacturing floor or an operator at the nuclear plant never sees the Draft version.
- When ready, the user routes the 1.x Draft document for approval. The status changes to ‘Pending Approval’. During the approval, eSignatures are added to the document’s PDF rendition.
- When the document garners all of the required signatures, the document is marked as Approved, major versioned to 2.0, and all 1.x minor versions are deleted.
- All users can see Approved and Effective content. Consumers of the document must train on the 2.0 Approved version.
- When all training plus any other business specific actions are complete, the 2.0 version becomes Effective and 1.0 becomes Superseded. As when we started, the majority of the users again can only see the Effective version. A small subset of users can access the Superseded version.
Managing Security with Active Wizard 5.0 and OpenContent
The main limitation to the above scenario on the Alfresco platform is the concept of having different security applied to different document versions at the same time. Alfresco only allows one security set applied to a document at a time, and all versions abide by this security. Obviously, this presents an issue in the controlled document scenario, since most of the users should only be able to see the Effective version of a document while it is being routed for approval.
To solve this problem, we create a new node in the repository for each major version and relate them together with a tsg:supersedes relationship. All of this is hidden from the user behind our services layer, OpenContent. So, to the user, it looks like they’re seeing different versions of the same document:
Active Wizard 5.0
All of the concepts from prior Active Wizard posts still hold true. Specifically, we like to call out how the Active Wizard’s form and dynamic workflow approach contrasts with a typical templated approach to workflow.
Check out the AW 5.0 preview demo in the TSG Learning Zone to see an example Change Request form and Document Change form in action. These demos show the Active Wizard 5.0 running on an Alfresco repository and illustrate how the product allows users to:
- Create a Change Request or Document Change form
- Route the form and documents for review
- Apply annotations to the form or documents using OpenAnnotate
- Route the form for approval
- Apply eSignatures during the approval process
- Make documents effective
At TSG, we’re really exited about the 5.0 release of the Active Wizard. Look for a separate post in the next few weeks that will add more detail around how we are leveraging the Activiti workflow engine in the Active Wizard. Also, we will be posting a preview release of the Active Wizard 5.0 to our downloads page before the end of the year. We’ll be sure to notify you through the blog when the download is available!