Auditing in outsystems

Auditing in outsystems

can anyone tell me how to do auditing in outsystems i searched forge but the component Auditing is deprecated and is too old.
have anyone of you tried to implement auditing in your current applications?  if yes, then please share the method.
Hi Leo,

You can use the Audit action in System, this messagens goes into General Log, you can check it on Service Center.

Or you can create your own Audit eSpace, this may bring advantages, because you can be more accurate on the audits.

Hope that helps
Thanks Nuno,
1st option is not feasible in my part as i need to log the actions into my own table and i cannot provide client access to service center to see the logs.

2nd option sounds interesting. but frankly i am very much unware of how to do it. could you please provide me any sample in which u have done this so that i can have a head start to implement.
At the moment i don't have any example available.

But it's quite simple.
  • Create a new eSpace (module) called Audit or something like that;
  • Define the table (entity) that will have the logs;
  • Create a public action that encapsulates the create action of the entity;
  • Create the screen to list that logs;
  • On the other eSpaces you only need to reference the public action and pass the values;
Thanks for the idea Nuno,
Thats  correct, but i need to have auditing for entire application (every field and table that is used in the application). just like triggers in database tables for every change to them.

the one you said is quite good if i am having auditing to specific fields (say 5 or 10 out of 100 fields), but in order to log only those fields out of all 100 that are modified for values, this will be very cumbersome.
like i said, i need the functionality just like triggers at database. Please advice.
I have done this two different ways. One is to create a parallel table to those you are auditing and store away previous copies of each record in these audit tables every time it's changed. Then you can see how a record has changed over time. You should implement a data-layer espace to provide actions that will automatically write to audit tables.

Another approach was to use elements of to compare updated records with the ones stored in the database and write a log of exactly which fields have changed with from and to values.
Well if you want to log changes made in records on your tables than Gerry's approach using the component Human-Readable/Change History is the best way to do it.
This way you pass the current and the old record, and it's returned a message with the changes, you can save that message into your audit table.
Thanks Guys !
Your suggestions helped me a lot in finding out resolution to my problem.
Thanks again guys.. you all are champs !