Re: audit trails display
Re: audit trails display
- Subject: Re: audit trails display
- From: Fabian Peters <email@hidden>
- Date: Sat, 15 Nov 2014 12:46:47 +0100
Hi Ted,
Am 15.11.2014 um 03:31 schrieb Theodore Petrosky <email@hidden>:
> I have just started implementing ERCoreBusinessLogic’s AuditTrails. This is really good stuff. However, I had to ‘fix’ a boolean.
>
> In the migration of ERCoreBusinessLogic I see:
>
> ERXMigrationTable eRCAuditTrailTable = database.newTableNamed("ERCAuditTrail");
> eRCAuditTrailTable.newStringColumn("GID", 255, ALLOWS_NULL);
> eRCAuditTrailTable.newIntegerColumn("ID", NOT_NULL);
> eRCAuditTrailTable.newIntBooleanColumn("IS_DELETED", NOT_NULL);
> eRCAuditTrailTable.create();
> eRCAuditTrailTable.setPrimaryKey("ID”);
>
> In my postgresql backend, is_deleted is added as an integer column. So I had to run a migration of my own:
>
> ERXMigrationTable auditTrailTable = database.existingTableNamed("ercaudittrail");
>
> auditTrailTable.existingColumnNamed("is_deleted").delete();
> auditTrailTable.newFlagBooleanColumn("is_deleted", false);
>
> Is there a setting I can use to make the ERCoreBusinessLogic’s migration create a boolean column?
I don't think so. I've created additional migrations for some of ERCoreBusinessLogic, to change booleans and increase column sizes of ERCMAIL_MESSAG.
> Are there any Wonder components for displaying ercaudittrailentry data? I see when I insert a new entiry:
>
> {
> "releaseDate" = "2014-11-14 05:00:00 Etc/GMT";
> "width" = "728";
> "height" = "90";
> "current" = "true";
> "description" = "sfgsdfgsd";
> "company" = "Company.3";
> "theInsertion" = "ERFileAttachment.4";
> "jobNumber" = "1222";
> }
>
> Do I need to process this to display it? I see that toOne relations are listed Person.1. I was looking for components to display this. I don’t mind processing, but maybe there are components that could help.
There probably won't be a "one size fits all" solution. You can access an EO's audit trail via:
public ERCAuditTrail auditTrail() {
return ERCAuditTrail.clazz.auditTrailForObject(editingContext(), this);
}
And here are some sample rules for a product audit trail that tracks inventory and price changes:
40 : (entity.name = 'ERCAuditTrailEntry' and propertyKey = 'created') => formatter = "%Y-%m-%d %H:%M" [com.webobjects.directtoweb.Assignment]
100 : (entity.name = 'ERCAuditTrailEntry' and propertyKey = 'keyPath') => componentName = "ELD2WDisplayLocalizedString" [com.webobjects.directtoweb.Assignment]
100 : (entity.name = 'ERCAuditTrailEntry' and propertyKey = 'type.name') => componentName = "ELD2WDisplayLocalizedString" [com.webobjects.directtoweb.Assignment]
100 : (entity.name = 'Product' and propertyKey = 'auditTrail.entries') => componentName = "ERDList" [com.webobjects.directtoweb.Assignment]
100 : (entity.name = 'Product' and propertyKey = 'auditTrail.entries') => listConfigurationName = "ListEmbeddedERCAuditTrailEntry" [com.webobjects.directtoweb.Assignment]
100 : pageConfiguration = 'ListEmbeddedERCAuditTrailEntry' => defaultSortOrdering = ("created", "compareDescending") [com.webobjects.directtoweb.Assignment]
120 : pageConfiguration = 'ListEmbeddedERCAuditTrailEntry' => displayPropertyKeys = ("created", "type.name", "keyPath", "oldValues", "newValues", "user.fullName") [com.webobjects.directtoweb.Assignment]
ELD2WDisplayLocalizedString extends ERD2WDisplayString and localizes the property value.
Fabian
>
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden