Question
Simcha Gershon · Jul 17, 2017

Ensemble production change logging

Hi
I would like to follow any change made in the production IE -
date,time, user,production,service/process/operation - name, item changed, value before change, value after change.
Is there a way I can get this data & trap the act of change in order to log this data.
Thanks Simcha

0
0 370
Discussion (4)1
Log in or sign up to continue

Hi Simcha,

Your production class has a parent method called OnConfigChange() which you can override.

The method receives two objects, the updated production config object (Ens.Config.Production) and the production item config object that changed (Ens.Config.Item).

You will need to write your own diff solution around this.

Note, this method only gets called for changes made via the management portal, it will not record changes made to the production class directly.

Alternatively, you could implement an abstract projection class to trigger a diff method on compilation. This will work for both cases. Take a look at this post... https://community.intersystems.com/post/class-projections-and-projection... on how to implement this alternative.

If you want to know who made the change via the management portal then you can get the users login name using this value...

%session.Username

Sean.

Hi, Simcha!

If you satisfied with Sean's answer, would you please mark it as "Accepted"?  More Info.

Thank you in advance!

Thanks Sean

This is exactly what I look for

thanks again

Simcha

As I've communicated with Simcha directly, there is a built-in mechanism for this based on the Ensemble Security Audit functionality.

Enabling the '%Ensemble / %Production / ModifyConfiguration' event will yield an audit record for Ensemble Production configuration changes.

For example if you changed the "ArchivePath" setting of a Business Service called "XML In" the event would look like this in the Audit database search results:

And the event details will show this:

Note this will include not only the user that performed the change, the time and such general information, but also the:

  • Name of the Production
  • Name of the Item changed
  • Name of the Setting changed (for example)
  • Previous value (of setting)
  • New value (of setting)