The quickest path from CQM to DQM
It’s a straight line with MotioCI
Chances are good that if you’re a long-time Cognos Analytics customer you’re still dragging around some legacy Compatible Query Mode (CQM) content. You know why you need to migrate to Dynamic Query Mode (DQM):
- CQM is a risk. CQM is old technology and may be deprecated at any time
- DQM is future-proofing. DQM is scalable, more efficient and performs better
- The Cloud. If moving to the cloud is on your 5-year roadmap you need to move to DQM
The Myth
The job of migrating your packages and reports to DQM just appears daunting. For one thing, you suspect that something will break in the move, but you can’t be sure what. That’s surely the case, and there’s no easy way back. If there’s no easy way back, you just can’t be dead in the water for weeks with your users not having access to reports.
The Straight Line
What if you could just flip a switch and see how all your CQM content works as DQM? With MotioCI testing, that’s exactly what you can do. It’s that easy.
The Deets
We’ve written elsewhere about when you should migrate to DQM. This is how:
- Assessment and Inventory – First consider what you have and assess the effort. How many reports do you have? How many packages? How many of your packages are CQM? There are multiple ways in which you can approach this.
Find each Framework Manager model, open it and check the properties.
Or, find every package that has been published and check its properties.
Or, use MotioCI Inventory. The MotioCI Inventory Dashboard and Inventory Summary reports provide an overview of your entire content store. They tell you at a glance how many packages are in your Cognos content store are CQM and how many are DQM. An Inventory report shows additional details about the packages:
-
-
- Path. Exactly where they’re located.
- References. The number of incoming references give you an idea of how many reports depend on it.
- Obsolete. If there are no incoming references, that one’s going to be easy. You may not need the package. It’s not being used.
-
Testing – First you’ll want to establish a baseline on your CQM reports.
Create a project in MotioCI for your CQM package. MotioCI will help you automatically find all of the reports on which the package is based. Create Test Cases to establish a baseline for each of the reports for content and performance
-
-
- Output Stability – Creates a baseline for expected output of the report
- Execution Time Stability – creates a baseline for expected performance
-
Execute the Test Cases to generate the report output and record execution time.
Evaluation – This where you flip the switch to DQM and run the reports.
-
- Clone the project you created in the previous step so that a second MotioCI project will have the same package and reports. Change the project settings to Force Dynamic Package Query Mode. Create Test Cases for each of the reports to compare output and performance to the CQM baseline results.
- Output Comparison – Compares the report output in DQM to the CQM baseline.
- Execution Time Comparison – Compares the report execution time in DQM to the CQM baseline.
- Execute the Test Cases and evaluate the test results
- Success – These test cases pass both output comparison and performance. The reports tested in this group will migrate to DQM with no changes.
- Failure – Test Cases will fail if either or both of the Assertions fail.
- Failure of Output Comparison – You are presented with a side-by-side comparison of CQM and DQM output of the report with differences highlighted.
- Failure of Execution Time Comparison – This group of reports perform more slowly in DQM than CQM.
- Clone the project you created in the previous step so that a second MotioCI project will have the same package and reports. Change the project settings to Force Dynamic Package Query Mode. Create Test Cases for each of the reports to compare output and performance to the CQM baseline results.
Resolution – Based on the results of the Test Cases, you know exactly which reports need attention.
-
- Consider reviewing the MotioCI Report Test Case Failure Detail. With that report, you can see if there are any trends or groups of reports which have similar errors. Make edits to the Framework Manager model and republish the package.
- Rerun the Test Cases in the DQM project until you are satisfied with the output and performance.
- In some cases, you may need to address individual reports which are failing Output Comparison or Time Comparison. Fix any issues.
Migration – At this point, all of your CQM reports have been run in DQM and you are confident that they produce the same output and execute in a reasonable time.
-
- In Framework Manager you can safely change the Query Mode Property to Dynamic and republish the package.
- As a final step, in the MotioCI DQM project, remove the Force DQM Query Mode property and set it to Default. Re-run your test cases and check the results. This will confirm that changes you have made to the reports and packages have not affected the output or performance.
The Celebration![](https://motio.com/wp-content/uploads/2023/08/word-image-10502-11.png)
I forgot to mention this last step. The celebration. It’s time to enjoy all the benefits of DQM and start looking for other projects.
Bonus Pro Tip![](https://motio.com/wp-content/uploads/2023/08/word-image-10502-12.png)
You can use the free MotioPI utility to find CQM packages and reports. To find packages with models set to use CQM download and install MotioPI:
- Open MotioPI and click on the Content panel
- Query for models by setting Query for Types to Model.
- Narrow the Source of your search to the appropriate scope. Reduce the scope to increase performance.
- Add a filter, select Text Property Model is Dynamic Query Mode = false.
- Click Search
- Export the results as CSV and open in Excel
- Copy the Cognos Search Path of the model for which you want to find reports
- Edit the Search Path of the model by removing “/model[@name=” and what follows from the string
- Paste the shortened model path string into a new Content Panel in MotioPI.
- Edit Query for Types to show Report
- Narrow the Scope appropriately
- Filter to use Text Property Package Search Path Contains by pasting in the shortened model path string
- Click Search
- The results will return a list of all the reports that use the CQM package.
Granted, this is a little complicated, you can’t do any testing, and it doesn’t manage your progress in a project, but, hey, it’s free. MotioPI can get you part way there with the first two steps of Assessment and Inventory, then MotioCI can take it from there.