This guide explains how to create an auto-deactivating-user task in OpenMRS. The task setup involves setting the "number of days to retire users" via the user interface and running configuring the auto-deactivation task .
Setting the Number of Days to Retire Users
...
Log in to OpenMRS.
...
Save the changes.
Running the Auto-Deactivating User Task
via the user interface.
The auto-deactivating user task is implemented as a scheduled task in OpenMRS. This task will automatically retire users who have been inactive for the specified number of days.
Note: Admin users (aka super users) will not be retired.
Implementation
The task is defined in the AutoRetireUsersTask
class.
...
Task Configuration
Set up configuration details for the task:
Task config ID:
A unique idName: Name of the task e.g.
Auto Retire Users
Description: Short description of the task e.g. Retires all active users that are inactive for XX number of days specified by the value of the global property 'users.numberOfDaysToRetire'.
Schedulable Class: Set
schedulable_class
to beorg.openmrs.scheduler.tasks.AutoRetireUsersTask
Schedule the task:
Start Time: Set the desired start time.
...
Start Time Pattern: Determines the pattern of start time.
Repeat Interval: Set to desired repeat interval.
Start on Startup: Set to
true
if you want the schedule to start immediately after the application starts.
...
Set
...
Other properties: You can set other properties as desired
Save the configuration:
...
the global property
users.numberOfDaysToRetire
and it’s value as numeric value e.g. 2 (if you want to auto-retire users after 2 days of inactivity).Save the configuration.
The task will now be scheduled to run at the specified interval, automatically retiring inactive users based on the global property setting.