JEM Content Plugin

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

TriggerConditionAction
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

ProblemPossible CauseSuggested 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.

RankReferenceWhy It Matters
1 #1959 - Trigger plugin by onEventEdited / list of plugin events Useful broader context for JEM plugin event handling and extension points.
2 #1762 - Feature request: Review of Recurrences Relevant background for recurrence behaviour and why cleanup matters.
3 #1764 - Event registration for a whole series of events Related to recurring event series and operational implications around event groups.
4 #1854 - Translation files for some JEM plugins installed wrong Relevant for plugin installation and language file handling.
5 #1808 - Correct linking to language files Related packaging/language context for plugins.