Re: ERCoreBL's ERCAuditTrail - How do I use this?
Re: ERCoreBL's ERCAuditTrail - How do I use this?
- Subject: Re: ERCoreBL's ERCAuditTrail - How do I use this?
- From: Flavio Donadio <email@hidden>
- Date: Thu, 12 Nov 2015 14:35:48 -0200
Did this message reach the list? It seems so, but I thought I should ask...
> On 11/11/2015, at 23:11, Flavio Donadio <email@hidden> wrote:
>
> Hello, list! Hello, Ramsey!
>
>
> I want to implement ERCAuditTrail from Ponder (ERCoreBL framework, not ERCoreBusinessLogic) in a new app.
>
> Searching through the archives, I’ve found this:
>
> On 29 Jun 2012, at 12:31, Dieter Stollorcz wrote:
>
>> here is how i set up ERCAuditTrails and ERCPreference:
>>
>> 1. Add the ERCoreBusinessLogic to build path
>>
>> 2. Create the ERCoreBusinessLogic Tables in DB
>> Run migrations or add the relevant tables to DB
>>
>> 3. Implement ERCoreUserInterface on user entity ( my UserEntity is ECOM_Actor)
>> public class ECOM_Actor extends _ECOM_Actor implements ERCoreUserInterface {
>> ...
>> public static final String PreferencesKey = "preferences";
>> @Override
>> public NSArray preferences() {
>> return (NSArray)storedValueForKey(PreferencesKey);
>> }
>>
>> @Override
>> public void setPreferences(NSArray array) {
>> takeStoredValueForKey(array.mutableClone(), PreferencesKey);
>>
>> }
>>
>> @Override
>> public void newPreference(EOEnterpriseObject pref) {
>> addObjectToBothSidesOfRelationshipWithKey(pref, PreferencesKey);
>> }
>>
>>
>>
>> 4. In Application.java add
>> @Override
>> public void finishInitialization() {
>> super.finishInitialization();
>> ERCoreBusinessLogic.sharedInstance().addPreferenceRelationshipToActorEntity("ECOM_Actor");
>> }
>>
>> 5. Set the user as the actor at login (DirectAction.java)
>> public WOActionResults loginAction() {
>> ...
>> ((Session)session()).setCurrentUser(user);
>> ....
>> }
>>
>> 6. Set the Actor in session.java
>> public void setCurrentUser(ECOM_Actor user) {
>> ERCoreBusinessLogic.setActor(user);
>> _currentUser = user;
>> }
>>
>> public void awake() {
>> super.awake();
>> if (currentUser() != null) {
>> ERCoreBusinessLogic.setActor(currentUser());
>> }
>> }
>>
>> public void sleep() {
>> ERCoreBusinessLogic.setActor(null);
>> super.sleep();
>> }
>>
>> 7. In EntityModeler add the ERXAuditKeys
>> Include your list of ERXAuditKeys in the userInfo dictionary for the Entity.
>> If you include the ERXAuditKeys key with an empty value, it will log all your attributes by default.
>
> I have some questions:
>
> 1. Is this the way to do it? Has something changed from 2012?
>
> 2. Dieter says “[r]un migrations or add the relevant tables to DB”. If my app migrates automatically on startup, do I still need to do this?
>
> 3. Does the UserEntity have to be a subclass of ERUser?
>
>
> Cheers,
> Flavio
> _______________________________________________
> 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