CA PPM: "Who Published Object Views" Portlet using LOG_DETAILS and LOG_SESSION

Blog Post created by Aurora_Gaimon Employee on Feb 14, 2017

CA PPM does not provide an out of the box (OOTB) portlet or audit where we can check who has clicked on "Publish" button for object views. You have to analyze app-access logs and troubleshoot them, which can be a tedious and time consuming task.


But, if your CA PPM environment is running on tomcat, then we can always take advantage for LOG_DETAILS and LOG_SESSION tables


Let's see a quick example:


In my lab machine I've clicked on "Benefit Plan" and "Task" object Publish button.

As a result, portlet will show who and when has been published.



It would be nice to have it as OOTB feature. See related idea raised:

Provide "last published date" and "last published by" in the Object UI pages  

(don't be shy and vote it if you agree )


This great feature works just when environment is set to use Tomcat as Web Server. But, let's first talk about the out of the box you need to run:


1. Tomcat access log import/analyse:


According to official documentation:


This job imports and analyzes Tomcat access log files from the local CA PPM environment (all app
services), then stores and summarizes the data in designated tables (LOG_DETAILS, LOG_SUMMARY,
LOG_FILES, LOG_REPORTDEFS). With the addition of custom portlets and queries or externally
available content, this analysis data can provide details regarding the performance of the CA PPM
system. If you are not running a Tomcat application server, the job runs but does not import any


Log Date: Specifies the date for the access logs that are imported and analyzed. If no date is specified, the
default date is yesterday.





In other words, in order to see data in custom portlet, we must to run job.


How do I use it? I enter “Today” date in Log Date, otherwise it will just pick app-access logs until day before. Once job is completed, I go and check audit portlet/dashboard.



2. Delete Log Analysis Date:


According to official documentation:


This job removes the CA PPM log analysis-related data. The criteria for removing the data is the
LOG_DATE field on each of the log analysis tables.

This job is scheduled automatically to run at 1:00 AM each day.


Log retention in days
Specifies the number of days that data is retained in the tables that are related to analyzed access
logs. The default value for this parameter is 30 days.

Session token retention in days
Specifies the number of days that data is retained in the table LOG_SESSIONS. The data
specifically stores a mapping of the CA PPM session token to CMN_SEC_USERS.ID for analysis and
audit purposes. The default value for this parameter is 14 days.





3. Build your NSQL portlets


CA PPM offer the possibility to build custom NSQL graphical portlets. That's a perfect occasion to start practicing our developing skills.


What kind of portlets can we build? See below a list with some examples:


  • Audit "Published" Object Views
  • Audit "Restore Default" Object Views
  • Audit Who has Used / Visited portlet(s)
  • Audit "Published" Portlet Views
  • Audit "Restore Default" Portlet Views 
  • etc..


Basically we can audit any information which is capture in the app-access logs. It's important you split your data in different portlets and use filters. NSQL queries may pull huge amount of records and affect you CA PPM Performance.


I could continue talking about all never ending list of portlets you can build around those tables. 


If you need help with queries, NSQL and portlets, engage CA Services or ask questions in CA Communities.



Related and interesting links:

Clarity PPM Login History 

Most Viewed Portlets In Clarity PPM 



That’s all. Thanks for reading until here. Did you like it? Please, don’t be shy and share it.