Many of our projects involve writing reports that are either published or delivered to the customer. We have a very thorough editing process in place at Chmura that covers everything from spelling and grammar, to style, to making sure the correct number of spaces occur after each period. As each person in the project process write or edit drafts or make revisions, copies of the Word document get passed around through email. As the number of revisions increases, the most recent document inevitably gets lost, or at the very best, employees have to spend more time than necessary searching for the correct copy. One slip-up and it is no longer as easy as working off the last modified document.
Certainly there are many complex and expensive document management systems available that will allow us to implement a workflow around this process. However, OnStage file vaults, a simple form of version control, can deliver the same quality control without all the complexity.[postbreak]
As a programmer, version control comes very naturally to me since I use it every day in the form of our source control system. To a common word processor user, it can be an unfamiliar and confusing process. For the benefit of this audience, I will provide a brief overview of the proper use of version control in the form of OnStage File Vaults.
What is the purpose of version control? The purpose in this example is two-fold. The first goal isto make sure that no other users modify the document while you are making changes, and secondly, to ensure that you are working with the most recent copy. As a value-add, file vaults will store previous version of our documents, should we ever need to reference an old copy.
An example of an incorrect use of version control: With that being said, here is the incorrect way to use version control:
- Step 1. John downloads the latest copy of report.doc and begins to make changes.
- Step 2. Having completed his changes, John checks out the file vault and immediately checks it back in with the new copy of this document.
This process works just fine with one person, but you will soon see that it has the potential for disaster when there are two or people working on the same document. Let’s consider another scenario:
- Step 1. John downloads the latest copy of report.doc and begins his revisions.
- Step 2. Mary downloads the latest copy of report.doc and begins her revisions. (Let's assume neither John nor Mary is located in the same office and Mary is not aware that John is working on the same document.)
- Step 3. Mary completes her changes, checks out the file vault, and immediately checks it back in with her new copy.
- Step 4. John completes his changes, checks out the file vault, and immediately checks it back in with his new copy.
Uh-oh, John's version does not include Mary's changes and Mary may not even know her changes have been lost! Now we have a highly inefficient bottleneck in merging the two documents together.
An example of a correct use of version control In the examples above, it is simply the reversal in order of two seemingly insignificant steps that have entangled the process; specifically that is editing the document before checking it out of the vault. Using this order of events, the second user (Mary) is not aware that John is already working on the latest version of the document. When we reverse these two steps however, Mary is presented with a conspicuous message stating that John is already working on the document before she begins her work. To review, the correct order of events in this situation should be:
- Step 1. John checks out the file vault.
- Step 2. John downloads the latest copy of report.doc and begins to make changes.
- Step 3. Mary tries to check out the file vault but is unable and sees a message that John is currently working on it. Mary works on something else.
- Step 4. John completes his changes and checks his new copy back into the file vault.
- Step 5. Mary, having been notified that John has checked in his copy can now check the file vault out and continue the process.
Conclusion The examples above may be over-simplified, but with OnStage file vaults it really is that simple. Yes, there are version control and document management systems available that allow multiple users to work on a document and merge their changes but it is my opinion that the types of teams that use OnStage just want something that is simple and works. Try it for yourself. Sign up for a free OnStage account.