Plugin name: JEM - Content Plugin
Extension: plg_content_jem
Plugin group: Content
Applies to: JEM 5.0 beta 3 for Joomla 5/6 and JEM 4.5 beta 5 for Joomla 4/5, when the plugin is available in the installed package.
Overview
The JEM Content Plugin is an internal support plugin for the JEM component. It does not provide a frontend tag, shortcode, visual output, JSON endpoint, or configurable user interface.
Its current purpose is to listen for Joomla content deletion events related to JEM events and clean up recurrence relationships when an event that belongs to a recurrence set is deleted.
Requirements
- The plugin should be installed with the JEM package.
- The plugin should normally remain enabled.
- The JEM component must be installed because the plugin relies on JEM event context and JEM recurrence helper logic.
Plugin Options
This plugin has no configurable options in the plugin manager.
What The Plugin Does
| Trigger | Condition | Action |
onContentAfterDelete |
The deleted content context is com_jem.event and the deleted event has an ID. |
Calls JEM recurrence cleanup logic for the deleted event ID. |
Technical Behaviour
When Joomla fires the onContentAfterDelete event, the plugin checks whether the deleted item belongs to the JEM event context. If the context is not com_jem.event, the plugin exits immediately.
If the deleted item is a JEM event and has a valid event ID, the plugin calls:
JemHelper::dissolve_recurrence($data->id);
This is used to dissolve recurrence sets where the deleted event may be the first event in the recurrence chain.
Administrator Guidance
- Keep this plugin enabled unless you are debugging JEM internals.
- Do not expect visible output in articles or event pages.
- Do not use this plugin as an article shortcode plugin; it does not process article text.
- If recurring events behave incorrectly after deletion, verify that this plugin is installed and enabled.
Typical Use Case
Deleting A Recurring Event
An administrator deletes a JEM event that is part of a recurrence set. After the event deletion, Joomla triggers onContentAfterDelete. The plugin detects that the deleted item is a JEM event and asks JEM to dissolve the affected recurrence relationship.
Troubleshooting
| Problem | Possible Cause | Suggested Fix |
| Recurring event relationships remain after deleting an event. |
The plugin may be disabled or missing. |
Check System → Manage → Plugins and confirm that JEM - Content Plugin is enabled. |
| No settings are available. |
This is expected behaviour. |
The plugin has no configurable parameters. |
| The plugin appears to do nothing on the frontend. |
This is expected behaviour. |
The plugin is an internal event listener and does not render content. |
Related Development Notes
Direct GitHub issue coverage for this small internal plugin is limited. The most useful references are broader discussions about JEM plugin events, recurrence handling, plugin packaging, and language installation.