Hello PEFS,
There are many ways to capture change history. I will describe a generic approach, which you can extend depending on the depth of information you want to record.
Object AuditTrail keeps a single change event and has the following attributes:
Name: MadeOn, Type: Timestamp, Initial value: CURRENT_TIMESTAMP
Name: MadeBy, Type: SystemUser
Name: ObjectID, Type: Number
Name: Description, Type: Text
To capture a change to a particular attribute, add a rule like the following to the object of interest (Person in this example):
If NOT(Person IS NEW) AND Person.DateOfBirth WAS CHANGED
Then CREATE AuditTrail WITH AuditTrail.MadeBy = LoggedInSystemUser, AuditTrail.ObjectID = Person.ID, AuditTrail.Description = 'Changed DateOfBirth on Person from <<OLD_VALUE(Person.DateOfBirth)>> to <<Person.DateOfBirth>>'
To capture creation of a new object, add a rule like this:
If Person IS NEW
Then CREATE AuditTrail WITH AuditTrail.MadeBy = LoggedInSystemUser, AuditTrail.ObjectID = Person.ID, AuditTrail.Description = 'Created new Person'
To capture deletion of an object, add a rule like this to the Rules When Object Is Deleted for the object:
CREATE AuditTrail WITH AuditTrail.MadeBy = LoggedInSystemUser, AuditTrail.ObjectID = Person.ID, AuditTrail.Description = 'Deleted Person'
You can also keep track of users logging in and out of the system. Please see sections Handling Login Events and Handling Logout Events in the Aware IM User Guide for details.