 #  Task - Inactive Users Documentation 

 

- Extension Page: [Task - Inactive Users](/software/joomla/plugins/task-inactive-users)

The *Task - Inactive Users* plugin is a free Joomla task plugin designed to automate the management of inactive user accounts, ensuring your site remains secure and compliant. Commissioned by an anonymous member of the Joomla community, who generously offered this tool to the Joomla community, it identifies users who haven’t logged in for a specified period and either deactivates them or triggers custom actions like notifications. Built for Joomla 5.x, it integrates with the task scheduler, CLI, and event system, offering flexibility for community sites, membership platforms, or e-commerce portals.

## Overview

*Task - Inactive Users* provides two tasks:

- **Deactivate Inactive Users**: Blocks users inactive for a specified period, adds a note to their account, and triggers the `onInactiveUserDeactivate` event.
- **Warn Inactive Users**: Triggers the `onInactiveUserWarn` event for inactive users, allowing custom actions like notifications.
 
Key features include configurable inactivity periods (using ISO 8601 format), user group exclusions, categorized user notes, CLI support, and event-driven extensibility. Released under the GPL license, it’s a community-driven tool for Joomla administrators.

## Installation

1. **Download**: Get *Task - Inactive Users* from the Joomla Extensions Directory or the RicheyWeb GitHub repository.
2. **Install**: In your Joomla administrator panel, navigate to **System &gt; Install &gt; Extensions**, upload the plugin package, and install it.
3. **Enable**: Go to **System &gt; Manage &gt; Plugins**, search for *Task - Inactive Users*, and enable it.
 
## Configuration

### Plugin Settings

1. Navigate to **System &gt; Manage &gt; Plugins** and open *Task - Inactive Users*.
2. Configure the following parameters:
    
    
    - **Ignored User Groups**: Select user groups (e.g., Administrators) to exclude from inactivity checks. Use the multi-select field to choose groups.
    - **User Note Category**: Choose a category (from `com_users`) for notes added to deactivated users’ accounts. Create a category in **Users &gt; Categories** if needed.
 
### Task Setup

1. Go to **System &gt; Scheduler &gt; Tasks** and click **New**.
2. Select a task type:
    
    
    - *Deactivate Inactive Users*: Blocks inactive users and adds notes.
    - *Warn Inactive Users*: Triggers events for custom actions (e.g., notifications).
3. Set task parameters:
    
    
    - **Inactivity Period**: Enter an ISO 8601 duration (e.g., `P1Y` for 1 year, `P6M` for 6 months, `P1Y2M3D` for 1 year, 2 months, 3 days). Default is `P1Y`.
    - Example: For 6 months, enter `P6M`. For 1 year and 1 month, enter `P1Y1M`.
4. Configure the task schedule (e.g., daily, weekly) or set to manual execution.
5. Save and enable the task.
 
## Usage

### Running Tasks via Scheduler

- Tasks run automatically based on the schedule set in the Joomla task scheduler.
- The plugin queries the `#__users` table for users who:
    
    
    - Have a `lastvisitDate` older than the specified period, OR
    - Have a `registerdate` older than the period and `lastvisitDate` is `NULL` (never logged in).
- **Deactivate Task**:
    
    
    - Blocks users (`block = 1`).
    - Adds a note to the user’s account (e.g., “User account deactivated on 2025-10-20 13:51:00 due to more than 1 year of inactivity”).
    - Triggers the `onInactiveUserDeactivate` event.
- **Warn Task**:
    
    
    - Triggers the `onInactiveUserWarn` event without modifying accounts.
    - Requires a companion plugin to handle actions like notifications.
 
### Running Tasks via CLI

- Execute tasks manually or via cron using Joomla’s CLI:
    
     ```bash
    php joomla.php scheduler:run -i <task id>
    ```
- Find the `<task id>` in **System &gt; Scheduler &gt; Tasks** (e.g., `1` for the first task).
- Example cron job to run task ID 1 daily at midnight:
    
     ```bash
    0 0 * * * php /path/to/joomla/joomla.php scheduler:run -i 1
    ```
- Ensure the Joomla CLI is accessible and your server supports cron jobs.
 
### Event Handling

The plugin dispatches two events for extensibility:

- **onInactiveUserDeactivate**: Triggered when a user is deactivated, with data:
    
    
    - `userId`: User ID.
    - `username`: Username.
    - `email`: User email.
- **onInactiveUserWarn**: Triggered for inactive users, with the same data.
- Create a companion plugin in the `inactiveusers` group to listen for these events. Example for email notifications:
    
     ```php
    namespace MyCompany\Plugin\InactiveUsers\Notify\Extension;
    
    use Joomla\CMS\Plugin\CMSPlugin;
    use Joomla\CMS\Mail\MailTemplate;
    use Joomla\Event\SubscriberInterface;
    
    \defined('_JEXEC') or die;
    
    class Notify extends CMSPlugin implements SubscriberInterface
    {
        protected $autoloadLanguage = true;
    
        public static function getSubscribedEvents(): array
        {
            return ['onInactiveUserWarn' => 'onInactiveUserWarn'];
        }
    
        public function onInactiveUserWarn($event): void
        {
            $data = $event->getArgument('data');
            if (!$data['email']) {
                return;
            }
            $mailer = new MailTemplate('plg_inactiveusers_notify.warn', 'en-GB');
            $mailer->addRecipient($data['email']);
            $mailer->addTemplateData([
                'username' => $data['username'],
                'site_name' => \Joomla\CMS\Factory::getApplication()->get('sitename'),
                'login_url' => \Joomla\CMS\Uri\Uri::root() . 'index.php?option=com_users&view=login',
            ]);
            try {
                $mailer->send();
            } catch (\Exception $e) {
                error_log('Inactive user warning email failed: ' . $e->getMessage());
            }
        }
    }
    ```
- Save this as `notify.php` in a plugin package under the `inactiveusers` group and create a corresponding email template.
 
## Troubleshooting

- **Task Not Running**: Ensure the Joomla scheduler is enabled (**System &gt; Scheduler &gt; Settings**) and the task is enabled with a valid schedule.
- **CLI Errors**: Verify the path to `joomla.php` and PHP version (8.0–8.2 recommended). Check server permissions for CLI execution.
- **No Users Processed**: Confirm the inactivity period is correct (e.g., `P1Y` for 1 year) and users meet the criteria (active, not in ignored groups).
- **Event Not Triggering**: Ensure companion plugins are in the `inactiveusers` group and enabled. Check for errors in Joomla’s logs.
- **Notes Not Added**: Verify the user note category exists and is correctly set in plugin parameters.
 
 

- [      email ](mailto:?subject=Task+-+Inactive+Users+Documentation&body=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Ftask-inactive-users)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Ftask-inactive-users)
- [      x-twitter ](https://twitter.com/intent/tweet?text=Task+-+Inactive+Users+Documentation%3A+https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Ftask-inactive-users)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Ftask-inactive-users&title=Task+-+Inactive+Users+Documentation&summary=The+Task+-+Inactive+Users+plugin+is+a+free+Joomla...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Ftask-inactive-users&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=Task+-+Inactive+Users+Documentation)
 


 

   [  Previous article: System - X Autopost Documentation   System - X Autopost Documentation ](/software/documentation/system-x-autopost) [  Next article: User - Auth Log Documentation  User - Auth Log Documentation  ](/software/documentation/user-auth-log)  

##### We Value Your Privacy

 

We use cookies to enhance your experience and for traffic analysis. By continuing to visit this site you agree to our use of cookies.

[Privacy Policy](/privacy-policy)

 Details 

###### Google Tag Manager Items

- Ad Storage
- Ad User Data
- Ad Personalization
- Analytics Storage
- Functionality Storage
- Personalization Storage
- Security Storage
 
 

 

 

 

 

 Decline Accept
```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.richeyweb.com/#organization","name":"RicheyWeb","url":"https://www.richeyweb.com/","logo":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/logo/richeyweb.svg","contentUrl":"https://www.richeyweb.com/images/logo/richeyweb.svg","width":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"@id":"https://www.richeyweb.com/#logo"},"image":{"@id":"https://www.richeyweb.com/#logo"},"sameAs":["https://x.com/ComRicheyweb","https://www.facebook.com/RicheyWebDev/","https://www.youtube.com/channel/UCxnVG8BwOvQRO7hVqNX7T2g","https://community.joomla.org/service-providers-directory/listings/115:richeyweb.html"],"description":"RicheyWeb is a custom software developer specializing in Joomla extensions.","ContactPoint":[{"@type":"ContactPoint","url":"https://www.richeyweb.com/contact-us","telephone":"903-873-8460","contactType":"Owner/Administrator","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"},{"@type":"ContactPoint","url":"https://www.richeyweb.com/bugs","telephone":"903-873-8460","contactType":"Technical Support","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"}],"knowsAbout":["Computer programming",{"@type":"Thing","name":"Computer programming","sameAs":["https://en.wikipedia.org/wiki/Computer_programming","https://www.wikidata.org/wiki/Q80006","https://g.co/kg/m/01mf_"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"arduino","Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"White hat",{"@type":"Thing","name":"White hat","sameAs":["https://en.wikipedia.org/wiki/White_hat_(computer_security)","https://www.wikidata.org/wiki/Q7995625","https://g.co/kg/m/03ns_5"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Search engine marketing",{"@type":"Thing","name":"Search engine marketing","sameAs":["https://en.wikipedia.org/wiki/Search_engine_marketing","https://www.wikidata.org/wiki/Q846132","https://g.co/kg/m/06mw8r"]},"Digital marketing",{"@type":"Thing","name":"Digital marketing","sameAs":["https://en.wikipedia.org/wiki/Digital_marketing","https://www.wikidata.org/wiki/Q1323528","https://g.co/kg/g/122hcnps"]},"Web hosting service",{"@type":"Thing","name":"Web hosting service","sameAs":["https://en.wikipedia.org/wiki/Web_hosting_service","https://www.wikidata.org/wiki/Q5892272","https://g.co/kg/m/014pz4"]},"Email hosting service",{"@type":"Thing","name":"Email hosting service","sameAs":["https://en.wikipedia.org/wiki/Email_hosting_service","https://www.wikidata.org/wiki/Q5368818","https://g.co/kg/m/09w60m"]},"Internet hosting service",{"@type":"Thing","name":"Internet hosting service","sameAs":["https://en.wikipedia.org/wiki/Internet_hosting_service","https://www.wikidata.org/wiki/Q1210425","https://g.co/kg/m/09w5yw"]},"Virtual hosting",{"@type":"Thing","name":"Virtual hosting","sameAs":["https://en.wikipedia.org/wiki/Virtual_hosting","https://www.wikidata.org/wiki/Q588365","https://g.co/kg/m/024mvh"]},"Web performance",{"@type":"Thing","name":"Web performance","sameAs":["https://en.wikipedia.org/wiki/Web_performance","https://www.wikidata.org/wiki/Q7978612","https://g.co/kg/m/0gfj3f1"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"General Data Protection Regulation",{"@type":"Thing","name":"General Data Protection Regulation","sameAs":["https://en.wikipedia.org/wiki/General_Data_Protection_Regulation","https://www.wikidata.org/wiki/Q1172506","https://g.co/kg/m/0pk_7xs"]},"SERP",{"@type":"Thing","name":"SERP","sameAs":["https://en.wikipedia.org/wiki/SERP","https://www.wikidata.org/wiki/Q2205811","https://g.co/kg/g/11c5szp7kc"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},"Prompt engineering",{"@type":"Thing","name":"Prompt engineering","sameAs":["https://en.wikipedia.org/wiki/Prompt_engineering","https://www.wikidata.org/wiki/Q108941486","https://g.co/kg/g/11p6kpgt_n"]},"E-learning",{"@type":"Thing","name":"E-learning","sameAs":["https://en.wikipedia.org/wiki/E-learning_(theory)","https://www.wikidata.org/wiki/Q182250","https://g.co/kg/g/122czm1f"]},"Sharable Content Object Reference Model",{"@type":"Thing","name":"Sharable Content Object Reference Model","sameAs":["https://en.wikipedia.org/wiki/Sharable_Content_Object_Reference_Model","https://www.wikidata.org/wiki/Q827811","https://g.co/kg/m/06_40"]},"Experience API",{"@type":"Thing","name":"Experience API","sameAs":["https://en.wikipedia.org/wiki/Experience_API","https://www.wikidata.org/wiki/Q7807728","https://g.co/kg/g/1yw9ktxr8"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Nginx",{"@type":"Thing","name":"Nginx","sameAs":["https://en.wikipedia.org/wiki/Nginx","https://www.wikidata.org/wiki/Q306144","https://g.co/kg/m/02qft91"]},"MySQL",{"@type":"Thing","name":"MySQL","sameAs":["https://en.wikipedia.org/wiki/MySQL","https://www.wikidata.org/wiki/Q850","https://g.co/kg/m/04y3k"]}],"areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"memberOf":["Mensa International",{"@type":"Organization","name":"Mensa International","sameAs":["https://en.wikipedia.org/wiki/Mensa_International","https://www.wikidata.org/wiki/Q184194","https://g.co/kg/m/0140pf"]},"National Rifle Association",{"@type":"Organization","name":"National Rifle Association","sameAs":["https://en.wikipedia.org/wiki/National_Rifle_Association","https://www.wikidata.org/wiki/Q863259","https://g.co/kg/m/0j6f9"]},"CompTIA",{"@type":"Organization","name":"CompTIA","sameAs":["https://en.wikipedia.org/wiki/CompTIA","https://www.wikidata.org/wiki/Q597534","https://g.co/kg/m/040shq"]},"ISFCE LLC",{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://isfce.com","https://g.co/kg/g/11wxm5r0rg"]}],"hasCredential":[{"@type":"EducationalOccupationalCredential","name":"Joomla 3 Certified Administrator","credentialCategory":"Certification","description":"Administrator Exam is the first available Joomla! certification exam","recognizedBy":{"@type":"Organization","name":"Open Source Matters, Inc.","sameAs":["https://en.wikipedia.org/wiki/Open_Source_Matters,_Inc.","https://g.co/kg/g/11f00wvjhz"]},"url":"https://certification.joomla.org/certified-user-directory/michael-richey","about":["Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/badge.webp","contentUrl":"https://www.richeyweb.com/images/contact/badge.webp","width":{"@type":"QuantitativeValue","value":300,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":86,"unitCode":"PX"},"caption":"Joomla 3 Certified Administrator"}},{"@type":"EducationalOccupationalCredential","name":"Certified Computer Examiner","credentialCategory":"Certification","description":"Internationally recognized computer forensics certifiecation","recognizedBy":{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://en.wikipedia.org/wiki/ISFCE_LLC","https://g.co/kg/g/11wxm5r0rg"]},"url":"https://isfce.com/","about":["Digital forensics",{"@type":"Thing","name":"Digital forensics","sameAs":["https://en.wikipedia.org/wiki/Digital_forensics","https://www.wikidata.org/wiki/Q3246940","https://g.co/kg/m/0cnxzfx"]},"Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"Mobile device forensics",{"@type":"Thing","name":"Mobile device forensics","sameAs":["https://en.wikipedia.org/wiki/Mobile_device_forensics","https://www.wikidata.org/wiki/Q6887097","https://g.co/kg/m/06zp3tp"]},"Network forensics",{"@type":"Thing","name":"Network forensics","sameAs":["https://en.wikipedia.org/wiki/Network_forensics","https://www.wikidata.org/wiki/Q7001032","https://g.co/kg/m/05pb280"]},"Database forensics",{"@type":"Thing","name":"Database forensics","sameAs":["https://en.wikipedia.org/wiki/Database_forensics","https://www.wikidata.org/wiki/Q5227405","https://g.co/kg/m/0cgqsy"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/isfce-cce.webp","contentUrl":"https://www.richeyweb.com/images/contact/isfce-cce.webp","width":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"caption":"Certified Computer Examiner"}}],"hasOfferCatalog":{"@type":"OfferCatalog","name":"Web Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Hosting"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Development"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Search Engine Optimization"}}]}},{"@type":"WebSite","@id":"https://www.richeyweb.com/#website","url":"https://www.richeyweb.com/","name":"RicheyWeb","publisher":{"@id":"https://www.richeyweb.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.richeyweb.com/search?q={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string","valueMaxLength":256,"valueMinLength":2,"valuePattern":"^[A-Za-z0-9\\s]+$"}},"creator":{"@id":"https://www.richeyweb.com/#organization"},"copyrightHolder":{"@id":"https://www.richeyweb.com/#organization"}},{"@type":"WebPage","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#webpage","url":"https://www.richeyweb.com/software/documentation/task-inactive-users","name":"Task - Inactive Users Documentation","description":"Automate inactive user account management in Joomla 5.x. Schedule tasks to deactivate or warn inactive users, ensuring a secure and compliant site.","isPartOf":{"@id":"https://www.richeyweb.com/#website"},"about":{"@id":"https://www.richeyweb.com/#organization"},"inLanguage":"en-GB"},{"@type":"Article","headline":"Task - Inactive Users Documentation","description":"Automate inactive user account management in Joomla 5.x. Schedule tasks to deactivate or warn inactive users, ensuring a secure and compliant site.","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2025-10-21T00:00:00+00:00","dateModified":"2025-11-24T00:00:00+00:00","about":["Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Web access management",{"@type":"Thing","name":"Web access management","sameAs":["https://en.wikipedia.org/wiki/Web_access_management","https://www.wikidata.org/wiki/Q7978554","https://g.co/kg/m/0405dzw"]},{"@type":"Thing","@id":"https://www.richeyweb.com/software/joomla/plugins/task-inactive-users/#softwareapplication","name":"Task - Inactive Users","sameAs":["https://extensions.joomla.org/extension/clients-a-communities/user-management/task-inactive-users/"]},"Task - Inactive Users"],"mentions":["e-commerce","Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"GNU General Public License",{"@type":"Thing","name":"GNU General Public License","sameAs":["https://en.wikipedia.org/wiki/GNU_General_Public_License","https://www.wikidata.org/wiki/Q7603","https://g.co/kg/m/037cm"]},"GitHub",{"@type":"Organization","name":"GitHub","sameAs":["https://en.wikipedia.org/wiki/GitHub","https://www.wikidata.org/wiki/Q364","https://g.co/kg/m/0ryppmg"]},"Web development tools",{"@type":"Thing","name":"Web development tools","sameAs":["https://en.wikipedia.org/wiki/Web_development_tools","https://www.wikidata.org/wiki/Q4343954","https://g.co/kg/m/03nt3v1"]}],"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#article","isPartOf":{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"keywords":"Task - Inactive Users plugin, Joomla task plugin, inactive user accounts, secure site, compliant, Joomla 5.x, task scheduler, CLI, event system, community sites, membership platforms, e-commerce portals, Deactivate Inactive Users, Warn Inactive Users, inactivity periods, ISO 8601 format, user group exclusions, user notes, CLI support, event-driven extensibility, GPL license, Joomla administrators, Joomla Extensions Directory, RicheyWeb GitHub repository, System  Install  Extensions, System  Manage  Plugins, Plugin Settings, Ignored User Groups, User Note Category, System  Scheduler  Tasks, task type, lastvisitDate, registerdate, onInactiveUserDeactivate event, onInactiveUserWarn event, Joomla CLI, php joomla.php scheduler:run, Joomla scheduler, #__users table, compaion plugin, email notifications, namespace MyCompany\\Plugin\\InactiveUsers\\Notiify\\Extension, SubscriberInteface, onInactiveUserWarn, MailTemplate, email template, user ID, username, user email, error log, Joomla logs, user note category, users, active, ignored groups, Joomla scheduler settings, PHP version, server permissions, Joomla logs, user note category exists, correctlly set, user account, user login, sitename, login url, index.php, option=com_users, view=login, php /path/to/joomla/joomla.php, cron job, midnight, Joomla CLI, task ID, event handling, extensibility, plugin package, inactiveusers group, Joomla\\CMS\\Factory::getApplication()","articleSection":"Documentation","url":"https://www.richeyweb.com/software/documentation/task-inactive-users","hasPart":[{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-overview_2_1"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-installation_2_2"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-configuration_2_3"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-plugin-settings_3_4"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-task-setup_3_5"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-usage_2_6"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-running-tasks-via-scheduler_3_7"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-running-tasks-via-cli_3_8"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-event-handling_3_9"},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-troubleshooting_2_10"}]},{"@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex","@type":"ItemList","name":"Task - Inactive Users Documentation","numberOfItems":10,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-overview_2_1","name":"Overview","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-overview_2_1"}},{"@type":"ListItem","position":2,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-installation_2_2","name":"Installation","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-installation_2_2"}},{"@type":"ListItem","position":3,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-configuration_2_3","name":"Configuration","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-configuration_2_3"}},{"@type":"ListItem","position":4,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-plugin-settings_3_4","name":"Plugin Settings","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-plugin-settings_3_4"}},{"@type":"ListItem","position":5,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-task-setup_3_5","name":"Task Setup","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-task-setup_3_5"}},{"@type":"ListItem","position":6,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-usage_2_6","name":"Usage","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-usage_2_6"}},{"@type":"ListItem","position":7,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-running-tasks-via-scheduler_3_7","name":"Running Tasks via Scheduler","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-running-tasks-via-scheduler_3_7"}},{"@type":"ListItem","position":8,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-running-tasks-via-cli_3_8","name":"Running Tasks via CLI","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-running-tasks-via-cli_3_8"}},{"@type":"ListItem","position":9,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-event-handling_3_9","name":"Event Handling","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-event-handling_3_9"}},{"@type":"ListItem","position":10,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/task-inactive-users#articleindex-toc-troubleshooting_2_10","name":"Troubleshooting","url":"https://www.richeyweb.com/software/documentation/task-inactive-users#toc-troubleshooting_2_10"}}]}]}
```
