As IBM's Cognos business intelligence tools become more sophisticated and reports, cubes and frameworks more complex, I find it difficult to understand why there is no easy way to version Cognos code. True, Framework manager does have the ability to connect to Source Safe or CVS, but have you ever tried to roll back to a previous version? The way the various framework components are versioned and stored within the CM tool does not group all the components together as a single version making it difficult if not impossible to roll back. I've even opened a case with IBM Cognos to make sure this is the case and they confirmed that this feature does not allow the ability back to previous versions. Knowing that a framework is just XML makes it even harder for me to understand why this is so difficult. IBM Cognos suggests that instead of rolling back using a source control system, you should roll back using the Synchronize Function. I've found it difficult to get back to where I want using this function.

What about versioning and control of report studio reports? A Report Studio report is nothing more than an XML file, so it should be simple to maintain a history of changes and allow the ability to roll back to a previous version if needed. Interestingly enough, unlike framework manager, there is no option to connect to a CM tool from within Report Studio (or any of the other studios for that matter). My clients are always shocked to find that this feature does not exist. The best workaround I have found is to copy the report to the clipboard, paste the XML definition into notepad and load into the CM tool of choice from there. In version 8.3 and later, this is made even easier with the ability to save a report to the local machine, avoiding the step of copying to the clipboard. It is still far from an ideal solution, but at least reports can be safely versioned and stored in a CM tool.

According to IBM Cognos, versioning is not available because of security concerns with a source control system connecting to the content store. If this is such a concern, why not build a versioning capability right into the content store? Given that everything is already in a relational database, it should be straightforward to add some versioning capabilities. I've also found a product by Motio that claims to allow versioning in the studios, I have not tried it, but if it can be done by a third-party, why not by IBM Cognos? Perhaps IBM might even think about acquiring Motio?

There just are not many good options for Cognos Configuration Management out of the box. With such a powerful and sophisticated tool I hope this changes soon. Until then, we'll have to make do with workaournds and 3rd party solutions.