This guide explains how to create an auto-deactivating-user task in OpenMRS. The task involves setting the "number of days to retire users" via the user interface and running the auto-deactivation task.
Setting the Number of Days to Retire Users
Log in to OpenMRS.
Set the global property
users.numberOfDaysToRetire
Save the changes.
Running the Auto-Deactivating User Task
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.
Steps to Schedule the Task:
Set up configuration details for the task:
Task config ID: A unique id
Name: 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'.
Class: Set
schedulable_class
to beorg.openmrs.scheduler.tasks.AutoRetireUsersTask
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.Started: Set to
true
to start the task.Other properties: You can set other properties as desired
Save the configuration:
Save the task configuration.
The task will now be scheduled to run at the specified interval, automatically retiring inactive users based on the global property setting.