Cognos Analytics is an AI-fueled business intelligence platform that supports the entire analytics cycle, from discovery to operationalization. As content development grows, so does the demand to keep versions and monitor changes of the reports, dashboards, models, etc.
GitHub and GitHub Enterprise is a web-based hosting service for Git repositories to manage source code and revision history, and to track defects, feature requests and tasks. "More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects". This makes it the most popular source control, with no string attached. To learn more click here.
After changes are made to an object in Cognos and validation tests performed, the Developer can easily check in the new specification directly from Cognos Portal.
Each push synchronizes GitHub source with the Cognos object specification.
Creates an entry in GitHub with the developer's signature that indicates who, when and why did the change. This synchronization flow is based on GitHub process, saving the steps to extract the specification from Cognos and creating a file/tree structure in GitHub.
Adds a comment that the Developer provides in Cognos.
In addition, the Cognos System Administrator is able to add/push any new changes (based on DateTime selection) to GitHub through a scripted application or through Cognos Toolkit task.
The extension connects to a predefined GitHub repo. The repo can be set per environment, or a combination of environments. For example /master/Dev, /master/UAT, etc.
Content Tree is further extended dynamically (at add/push/commit) to match the Cognos Folder/Package hierarchy with same folder names and structure, as they are defined in Cognos Analytics environment.
After additional changes are made to an object in Cognos and validation tests performed, the Developer can easily check in the new version specification directly from Cognos Portal. If an entry already exists in GitHub, the application compares GitHub version and the new one. If the new version is the same, it will not be pushed to the repository. If the new version is different, it will be saved as new with the developer's signature that indicates who, when and why did the change (commit message).
If previous specification. of the same object is already stored in the GitHub repository, the user will be presented with a list of versions with date/time of commit, user committed and commit message, up to predefined versions. The user can select any of the previous versions and commit back to Cognos Content Store. The current version of the object in Cognos will be overwritten for all users.
Any submitted version of the specification can be downloaded locally to the user's environment. A list of the last (configurable) number of updates are displayed with their commit messages and users that pushed the specification. After selection, the specification is downloaded through the browser. This specification can be modified further or used for manual upload into a different Cognos Environment.
Cognos Toolkit GitHub Integration is distributed as Cognos Analytics extension and is easily uploaded to any environment, version 11.x that supports extensions. System Administrators can assign permissions to Groups or individual users to use the extension.
In addition, the implementation can be extended to suit Client additional requirements.