Question
· Jul 1

Is it possible to audit code changes by user?

Is it possible to audit code changes in a namespace?

Ideally what we'd like to be able to do is check which classes were compiled (or deleted) in a time period, eg in last 3 months, and which user made those changes. Even better would be an audit of what those changes were, but that's less important (for us, as we can probably find that information in other ways).

We have a service where 3 groups, each with multiple users, potentially have access to make changes to the live service. With the best will in the world, each group doesn't always tell every other group about changes made... and it'd make managing things much easier if we had a log of who made what changes that doesn't need manually maintained.

Audit Log seems like a good place to start, but its not obvious to us how to get it to do what we want...

Product version: Caché 2018.1
$ZV: Cache for Windows (x86-64) 2018.1 (Build 184U) Wed Sep 19 2018 09:09:22 EDT
Discussion (7)5
Log in or sign up to continue

%System/%System/RoutineChange

A process generates a %System/%System/RoutineChange event because a routine has been compiled or deleted. When enabled, this event causes a record to be written to the audit log whenever a routine or class is compiled. The Description field of the audit record includes the database directory where the modification took place, what routine or class was modified, and the word “Deleted” if the routine was deleted.

This Audit Event is available in IRIS, I have no idea if was available back in 2018.

We are using a source control solution - for the code we develop - the problem is that the other groups (an external contractor doing development, and a platform management team making config changes, mostly in the Production class) don't use our source control. So we are having to manually merge changes made by others back into active development branches - and organisationally / given the historical situation with multiple interacting interfaces built in a single namespace, there's not a lot we can do to change that context. So an audit of who changed what when is probably the best we can get for now...

I was a part of a presentation at #Ready2025 very similar to what you are looking for. At Ready 2025, I worked with @John Goodgame , @Justin Owens, @Julio Rodriguez to present a Change Control Audit (Stealth Control) in which a task queries for changes and inserts the data into SQL tables that could be alerted or queried on.

When it is posted look for a session named...Partnering for Success Collaborative Innovations in Interoperability

@John Goodgame is talking with Product to see if this could be included, or might be publishing the code somewhere for others to use.