Posts

Showing posts from October, 2011

Cognos Retrieve deleted/orphaned user's my folders from content store

Recently I had a challenging requirement to retrieve some users My Folders content whose active directory profiles were accidentally deleted and recreated. This requirement came to me after three days the profiles have been recreated, because there were profiles with new GUID in active directory which is nothing but CAMID in cognos they were not able to see any of their reports in cognos. First i started importing the content store deployment from 3 days ago(this had to be extracted with a point in time copy as it gets overwritten every night) to a sandbox and it ran for 5hrs and showing errors on some user profiles saying their CAMID is missing. After struggling for 10 hours I found this slick SDK script that gave some hope. Basically this SDK script on cognos KB queries the content store for Orphaned My Folders and saves them to a folder in Public Folders with CAMID's. We then had our DBA's restore the content store to the point where users had old CAMID's and I pointed t

Cognos Transformer Cube failure Alert Mechanism

Recently I had a requirement to create a automatic alert mechanism on cube build failure. As we all know this can be a project by it self if we set it up in a traditional way of write cube logs to tables and creating reports on top of the tables and setting up events to send out alerts on any failure. But with the help of a network admin I was able to setup alerts and it took some basic Vb coding too.. Below is the workflow of how the setup works and the basic requirements(this is for windows environment only): There are two VB scripts we need to setup and schedule via windows scheduler. First script writes the name of the Transformer log file into a .txt file. In my case the log file had a date that had to queried everyday before writing the log file name. ' Declare Variables for Oracle SQL   Dim OdbcDSN   Dim connect, connectionstr, sql, resultset      Dim fso      Set fso = CreateObject("Scripting.FileSystemObject")    '*****************************