JEM Action Log plugin

Plugin name: JEM - Action Log
Extension: plg_actionlog_jem
Plugin group: Action Log
Current versions: JEM 5.0.1, JEM 5.0.2 Beta 1 and JEM 5.1.0 Beta 4
Joomla compatibility: Joomla 5.4.x and Joomla 6.x

Overview

The JEM Action Log Plugin integrates selected JEM operations with Joomla's User Actions Log. It provides administrators with an audit history showing who performed an action, when it happened and which JEM resource was affected.

The plugin can record operations affecting:

  • Events.
  • Venues.
  • Categories.
  • Event types.
  • JEM groups.
  • Backend attendee registrations.
  • Attachments.
  • JEM global settings.
  • Successful frontend email invitations.
  • Notification retry and resend operations in JEM 5.1.0 Beta 4.
Important: This plugin records selected successful JEM operations. It is not a replacement for Joomla permissions, server logs, security monitoring or a complete record of every database change.

Compatibility

JEM versionStatusSupported Joomla versionsAction Log support
JEM 5.0.1 Stable Joomla 5.4.x and Joomla 6.x Events, venues, categories, types, groups, attendees, attachments, settings and successful email invitations.
JEM 5.0.2 Beta 1 Beta Joomla 5.4.x and Joomla 6.x Same functional Action Log support as JEM 5.0.1.
JEM 5.1.0 Beta 4 Beta Joomla 5.4.x and Joomla 6.x Includes the previous operations and adds administrator notification retry and resend records.

How Action Logging Is Activated

JEM action logging uses two independent controls. Both must be enabled before records are written:

  1. The JEM - Action Log plugin must be enabled.
  2. Joomla User Actions Log must be enabled in JEM Global Settings.
Default state: The JEM global User Actions Log option is disabled by default. Installing the plugin alone does not activate JEM action logging.

Activation Procedure

Step 1: Enable the plugin

  1. Open the Joomla administrator area.
  2. Go to System → Manage → Plugins.
  3. Search for JEM - Action Log.
  4. Enable the plugin.

Step 2: Enable action logging in JEM

  1. Open Components → JEM → Settings.
  2. Open the global parameters section.
  3. Find Joomla User Actions Log.
  4. Set it to Yes.
  5. Save the JEM settings.

Step 3: Select the operations to record

  1. Return to System → Manage → Plugins.
  2. Open JEM - Action Log.
  3. Enable or disable each resource type as required.
  4. Save the plugin configuration.

Plugin Options

All plugin operation options are enabled by default. The global JEM Action Log switch still takes precedence over these individual options.

OptionParameterDefaultRecorded operations
Events log_events Yes Create, update, delete and state changes for events.
Venues log_venues Yes Create, update, delete and state changes for venues.
Categories log_categories Yes Create, update, delete and state changes for JEM categories.
Types log_types Yes Create, update, delete and state changes for event types.
Groups log_groups Yes Create, update, delete and state changes for JEM groups.
Attendees / registrations log_attendees Yes Backend attendee creation, updates, deletion and registration status transitions.
Attachments log_attachments Yes Attachment creation, updates and deletion.
Settings log_settings Yes Successful saves of JEM global settings.
Email invitations log_mailto Yes Successful authenticated email invitations for events, venues and categories.
Notification retry / resend log_notifications Yes Administrator retry and resend requests for stored registration notifications. Available in JEM 5.1.0 Beta 4.

Recorded Actions

Content creation and updates

When an administrator creates or updates a supported JEM resource, the log identifies:

  • The Joomla account that performed the operation.
  • The type of JEM resource.
  • The resource title.
  • The internal JEM resource ID.
  • A backend link to the resource when it still exists.

Example:

User Administrator created event Joomla Event Management Workshop (ID 42).

State changes

The plugin recognises the following standard state operations:

  • Publish.
  • Unpublish.
  • Archive.
  • Move to trash.

Example:

User Event Manager changed state of event Joomla Event Management Workshop
(ID 42) to publish.

Deletion

Deleted resources are recorded with their type, title and previous ID. A link is not included because the resource no longer exists.

Attendee and registration changes

Backend registration records can include the attendee, event, registration ID and registration status. Detailed status transitions can also record:

  • Previous registration status.
  • New registration status.
  • Previous and new number of places.
  • The operation source.
  • Whether a notification was requested.
  • Whether the transition was forced by an administrator.

Supported registration states include:

  • Invited.
  • Attending.
  • Not attending.
  • Waiting list.
Attendee logging covers JEM administrator operations. Normal frontend registration activity is not presented as a general frontend activity history by this plugin.

Attachments

Attachment records include the attachment name or filename, its ID and the associated JEM object when that information is available.

JEM settings

When an authorised administrator saves JEM Global Settings, the plugin can record that the settings were updated. It does not store a copy of every previous and new setting value.

Email invitations

Successful frontend email invitations can be recorded for:

  • Events.
  • Venues.
  • Categories.

The log stores the authenticated sender and the referenced JEM item.

Privacy protection: Recipient addresses, message subjects and message bodies are deliberately excluded from the Joomla User Actions Log.

Where to View the Records

JEM records are stored in Joomla's standard User Actions Log. Administrators with the required Joomla permissions can open the User Actions Log from the Joomla administrator menu.

The component can also be opened directly with:

administrator/index.php?option=com_actionlogs

The exact menu position can vary between Joomla versions and administrator menu presets.

Permissions

The JEM Action Log Plugin does not grant permission to manage JEM resources or read the Joomla User Actions Log.

  • JEM permissions determine whether a user can create, edit, publish or delete JEM resources.
  • Joomla User Actions Log permissions determine who can view or manage the resulting audit records.
  • Disabling a log option does not remove the corresponding JEM permission.
  • Enabling a log option does not grant access to the related JEM resource.

Action Log Versus JEM Diagnostic Logging

FeaturePurposeTypical content
Joomla User Actions Log Administrative accountability and activity history. User, action, resource, resource ID and date.
JEM diagnostic log level Technical diagnosis and error investigation. Warnings, errors, debug information and internal diagnostics.

These are separate systems. Enabling the JEM Action Log does not enable debug logging, and changing the JEM diagnostic log level does not activate Joomla User Actions Log records.

Configuration Examples

Example 1: Complete administrative audit

Recommended for an organisation with several JEM administrators:

  • Enable the JEM Action Log plugin.
  • Enable Joomla User Actions Log in JEM Settings.
  • Leave every plugin operation option enabled.

This records the broadest supported set of JEM administrator operations.

Example 2: Event and venue management only

For a site interested primarily in programme changes:

  • Enable Events.
  • Enable Venues.
  • Enable Categories.
  • Disable attendee, attachment and email invitation records.

Example 3: Privacy-focused configuration

To reduce the amount of user-related information retained in the activity history:

  • Enable events, venues, categories, types and settings.
  • Disable attendees / registrations.
  • Disable email invitations.
  • Configure an appropriate retention policy for Joomla User Actions Log.

Example 4: Registration operations

For a site where several administrators manage reservations:

  • Enable attendees / registrations.
  • Enable notification retry / resend in JEM 5.1.0 Beta 4.
  • Restrict access to Joomla User Actions Log to trusted administrators.

This helps identify who changed a registration status or requested another notification delivery.

Privacy and Data Retention

Depending on the enabled options, the User Actions Log can contain Joomla usernames, JEM resource titles and attendee display names. Administrators should:

  • Restrict access to trusted users.
  • Use Joomla's retention and deletion controls where appropriate.
  • Keep records only as long as required by the site's operational policy.
  • Avoid treating the log as a permanent backup of JEM data.

Technical Structure

File or directoryPurpose
jem.xml Defines the Action Log plugin, its namespace, files, languages and configurable operation switches.
services/provider.php Registers the namespaced plugin and injects Joomla's database service.
src/Extension/Jem.php Subscribes to Joomla and JEM events, prepares privacy-aware messages and writes them to Joomla User Actions Log.
language/en-GB Contains plugin option labels and the translated action messages displayed in Joomla.

This plugin has no frontend layout, CSS stylesheet or template override. Its output is rendered by Joomla's standard User Actions Log component.

Verification Checklist

  1. Enable the JEM - Action Log plugin.
  2. Enable Joomla User Actions Log in JEM Settings.
  3. Confirm that the required resource option is enabled in the plugin.
  4. Create or update a test JEM event in the administrator area.
  5. Open Joomla User Actions Log.
  6. Confirm that the account, operation, event title and event ID are correct.
  7. Disable the Events option and update the test event again.
  8. Confirm that no new event record is created.
  9. Re-enable the option after completing the test.

Troubleshooting

ProblemPossible causeSuggested action
No JEM actions are recorded. The plugin is disabled or the global JEM User Actions Log switch is disabled. Enable both the plugin and the JEM Global Settings option.
Only some JEM resources are recorded. The corresponding plugin operation option is disabled. Review every option in the JEM Action Log plugin configuration.
Frontend event edits or registrations are not shown. General content and attendee logging is restricted to supported administrator operations. Use the log for its documented backend scope. Successful authenticated email invitations are the specific supported frontend operation.
An administrator cannot open User Actions Log. The account lacks permission for Joomla's Action Logs component. Review Joomla permissions for User Actions Log.
An email invitation does not appear. The invitation failed, the sender was not authorised, or email invitation logging is disabled. Confirm successful delivery and check the Email invitations plugin option.
The notification retry option is missing. The installed version is JEM 5.0.1 or JEM 5.0.2 Beta 1. This option is introduced by JEM 5.1.0 Beta 4.
A deleted resource has no clickable link. The resource no longer exists. Use the recorded title, ID, user and date to identify the deleted item.

JEM 5.1.0 Beta 4 Appendix

JEM 5.1.0 Beta 4 adds the Notification retry / resend option to the Action Log plugin.

When enabled, JEM records administrator requests to retry or resend a stored registration notification. The record contains the acting Joomla user, the notification ID, the requested operation and a link to the filtered notification history.

The new option is:

log_notifications = Yes

The option is enabled by default at plugin level, but it remains subject to the global JEM User Actions Log switch.

Source Code

Related Development Reference

GitHub issue #2185 – JEM Action Log integration