Updating a person in a deferred fashion

Hello, 

I am using Open Identity Manager 9.2 and would like to ask you how should I proceed with the use case where I need to create a deferred object instead of updating a Person on a Web Portal (PUT /portal/person/reports/interactive) report when updating specific properties - for example only when I am updating Surname it should create a deferred update instead of hard update but when im updating First Name it should just execute. The deferred object is wired to a custom approval process that is already implemented on our side.

What Ive tried to do was a custom API Plugin but Im not sure if its a correct way because still someone can call the PUT /portal/person/reports/interactive and just update all of the properties. Also I cannot find any documentation related to the custom API C# methods.

Parents
  • Hi Pavelek,

    Is the switch from a 'normal' save to a 'deferred' save something you want to be web portal / API specific? Or do you actually want saves on these fields (such as Surname) to always be turned into a deferred update / deferred operation regardless of where they come from?

    If the later is the case you could consider adding a script / check to the 'onSaving' script of the person so that any saves done on certain columns of that table actually call a script which creates a deferred operation with the update you want.

    In the onSaving afterall you have the option to see what is being changed (the old and the new value), what column is being changed and to execute a script to create the deferred Operation (and not actually update the value).

    It's not going to be the simplest script, but by putting it on the onSaving you would have a nice 'generic' option for all saves happening on these fields. Would that possibly work?

Reply
  • Hi Pavelek,

    Is the switch from a 'normal' save to a 'deferred' save something you want to be web portal / API specific? Or do you actually want saves on these fields (such as Surname) to always be turned into a deferred update / deferred operation regardless of where they come from?

    If the later is the case you could consider adding a script / check to the 'onSaving' script of the person so that any saves done on certain columns of that table actually call a script which creates a deferred operation with the update you want.

    In the onSaving afterall you have the option to see what is being changed (the old and the new value), what column is being changed and to execute a script to create the deferred Operation (and not actually update the value).

    It's not going to be the simplest script, but by putting it on the onSaving you would have a nice 'generic' option for all saves happening on these fields. Would that possibly work?

Children
No Data