Poor man’s version control and development collaboration in Cognos 8
By Craig Colangelo, Sr Consultant for PerformanceG2
At several client sites, I’ve had the need to rollback specific production reports or report sets to previous versions. Often times, this was in a single Cognos environment (no dev or test, just prod). Additionally, my clients didn’t have the resources to provide version control systems to manage report source code, therefore, I had to create a pseudo source code management process specifically for C8 reports where archived report specs lived outside of the C8 content store (to allow for effective development collaboration).
There are many ways to supplement or vary this process to suit your own needs. It’s a simple idea and worked well considering the very low cost to utilize. I’m sure there’s plenty of similar freeware for this, however, we don’t always have the ability to add additional software to client servers.
I needed to be able to rollback previous versions of reports from an off C8 server location. I also needed to be able to refer back to ‘release notes’ to understand what I implemented in each iteration of these reports. To satisfy these needs I would simply save off the report spec (.xml) to a local/C8 server shared drive, with an iterative version number appended, and a same named text document that tracked the version number, and what was distinctly moved/added/changed for each iteration. The only thing that I had to do in C8 to enable local saves of the report spec was:
- Get the C8 LFA.dll from C8 server
- Open a command prompt window and register the LFA.dll file by typing regsvr32 LFA.dll
- In Report Studio, from the Tools menu, click Options
- Select the Allow local file access check box and click OK
- The menu items (Local) Open and (Local) Save As appear in the File menu
Note: This does require allowing ActiveX control via your browser and adding the Cognos site and your local computer to the Trusted Zone
Whenever I would work on a new version, I would first ‘check out’ the latest xml spec by adding the word ‘lock_’ to the front of the .xml and .txt files for that report. This indicated to anyone else looking to change this report, that the report was currently being modified. This process, coupled with good concise descriptions of updates in the .txt file for each version was more than enough to ensure effective group collaboration, solid enough version control, and the ability to rollback reports to specific points in development time.