Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread Using publishing for audit trail
Tue, Mar 10 2020 9:48 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

I've finally reached the point where I want to add an audit trail into my little accounts app. I was going to use publishing. However, I think I've found a couple of issues that mean whilst publishing is great for replication its not suitable for an audit trail.

First and minorish - the computed columns are logged - this doesn't really make sense since they are not "real" data

Secondly, and this is the killer, if a field isn't changed its not logged. This make perfect sense for most columns and  especially for replication but for an audit trail a vital fact is whodunit

Any suggestions before I start rolling my own?

Roy Lambert
Tue, Mar 10 2020 8:09 PMPermanent Link

Ian Branch

Avatar

Can I interest you in a Third Party product?
I use the DBTrack components from the Rosinsky Software (http://www.rosinsky.cz/delphi.html) VCL components extensively.
It simply works and is easy to implement.
Tomas is very responsive to issues/suggestions.

My 2c worth.
Ian
Wed, Mar 11 2020 4:17 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Ian


I was looking at his stuff before I enhanced my dbgrid the last time. His on-line documentation doesn't give me any clues as to wether or not it will do what I want out of the box. His oldest download is for Delphi 10, he does say to contact him for other versions so shouldn't be a problem.

I assume you have it as part of the package - can you tell me if it will log fields which have not been changed? I'm guessing yes because of one of the propeties (toNoChange I think) it has.

It wouldn't be to difficult to do what I want with triggers which I have done before Frown



Roy Lambert
Wed, Mar 11 2020 5:22 AMPermanent Link

Ian Branch

Avatar

Roy Lambert wrote:

Ian


I was looking at his stuff before I enhanced my dbgrid the last time. His on-line documentation doesn't give me any clues as to wether or not it will do what I want out of the box. His oldest download is for Delphi 10, he does say to contact him for other versions so shouldn't be a problem.

IB - Ahh.  Didn't think about D2007. Frown

I assume you have it as part of the package - can you tell me if it will log fields which have not been changed? I'm guessing yes because of one of the propeties (toNoChange I think) it has.

IB - Good question.  Not something I have looked at/considered or tried.  Apologies.  I will check and advise.

It wouldn't be to difficult to do what I want with triggers which I have done before Frown



Roy Lambert
Wed, Mar 11 2020 5:27 AMPermanent Link

Ian Branch

Avatar

Ian Branch wrote:

Roy Lambert wrote:

Ian


I was looking at his stuff before I enhanced my dbgrid the last time. His on-line documentation doesn't give me any clues as to wether or not it will do what I want out of the box. His oldest download is for Delphi 10, he does say to contact him for other versions so shouldn't be a problem.

IB - Ahh.  Didn't think about D2007. Frown

I assume you have it as part of the package - can you tell me if it will log fields which have not been changed? I'm guessing yes because of one of the propeties (toNoChange I think) it has.

IB - Good question.  Not something I have looked at/considered or tried.  Apologies.  I will check and advise.
IB+ - I just remembered - You can insert additional data into the Log message.
e.g.
{code}
procedure TdmC.TRS_JobTicketsEditMessage(Sender: TTrackRecSource; var Msg: string);
begin
 //
 if TRS_JobTickets.LastAction = teEdit then
   Msg := 'Edit JT - ' + Msg;
 //
 if TRS_JobTickets.LastAction = teAppend then
 begin
   TRS_JobTickets.KeyValues := JobTickets.FieldByName('JobNo').AsString;
   Msg := 'New JT - ' + Msg;
 end;
 //
end
{code}
Which can ive you something like this.."Edit JT - Job~Status was changed from UR to AR"  in the changes CLOB field.
HTH


It wouldn't be to difficult to do what I want with triggers which I have done before Frown



Roy Lambert
Image