Hi,
I have one question: in version 2.0.7 I have noticed that you have added a
preprocess function to the default pull actions class. We would like to alter
the syncdelta in certain cases ie the user should be kept as enabled (ie.
__ENABLED__ set to true) as the user can have two different roles
simultaneously and one primary role should be kept even though if the user is
seen to have lost one primary role in the case that the user (as an example)
has graduated and has been archived within the study register (__ENABLED__ set
to false within the connector in this case) + we get a match for the user and
this archive. We get a match, but the user should be set to active.
Arcada do not deprovision the users directly either if an entity matches an
archived version for a specific master source.
The user might still have a role as staff or employee and the syncdelta should
be set to __ENABLE__=true in this particular case but the rest of the roles
bound to the student role should be removed.
This could be done in 2.0.6 within the beforeupdate function also, that in
version 2.0.6 returned the SyncDelta but in version 2.0.7 the same function
returns void. How is this supposed to work in the new implementation in 2.0.7
when you do not have the user information (or entity together with role
information) available directly within the current function and syncdelta scope
within preprocess? The SyncDelta object just has an read-only map of the
current syncdelta attributes as far as I have seen if you try to alter the
attributes within beforeupdate, so it seems to be too late for that there. You
basically have to look up the user through the __UID__ I guess within
preprocess, but through which function and through which library? What is the
best option you have in this case?
It is enough if you have a hint to give and I'll find the rest. I hope this
text is somehow understandable!
Regards,
Mikael
Mikael Ekblom
System developer
Arcada, IT
Jan-Magnus Janssons plats 1,
FIN-00560 Helsingfors,
Finland
TFn: +358 207 699 467
Mobil: +358 207 699 467