In this post, I will talk about a very common business requirement where in the business needs the user the user to be kept in disabled state and want to retain all user's accesses and data for certain grace number of days after his termination and delete the user only the after that grace period is over.
This post will cover how it can be achieved in OIM.
Well by default, If the User's End Date (for termination date) is reached.
OOTB Scheduled Job "Disable/Delete User After End Date" will delete the user because
"XL.UserDeleteDelayPeriod" is set to 0.
You can set this value to number of days you want to retain the user data and accesses.
Lets say you set it to 365 days.
So what will happen next is user will always go into Disabled State first and will remain so for next 365 days.
Once the 365 Days is over.
Another scheduled job "Delayed Delete User" does the job of finding the all the disabled users and checking if the grace period is over and deleting them.
This whole scenario invloves
2 Scheduled Jobs
"Disable/Delete User After End Date"
"Delayed Delete User"
1 System Property
"XL.UserDeleteDelayPeriod" = "Period to Delay User Delete"
2 USR DATE COLUMN
USR_END_DATE
USR_AUTOMATICALLY_DELETE_ON
Whole thing can be directly tested by just playing with DB and setting the values directly and running those jobs.