MokoGalleryCalendar
JoomGallery and DPCalendar integration -- automatically creates a JoomGallery photo-gallery category for every DPCalendar event.
Features
- Automatic gallery categories -- a JoomGallery category is created for each DPCalendar event, giving every event its own photo gallery.
- Deferred creation -- categories for future events are queued and created automatically when the event date arrives, via Joomla Task Scheduler or a 7-day frontend fallback.
- Title sync -- renaming a DPCalendar event updates the linked gallery category title and alias.
- Cascade delete -- optionally removes the gallery category and its Joomla asset when the event is deleted.
- ACL permissions template -- copy permission rules from a template category so every new gallery inherits consistent access control.
- Configurable access level -- set the Joomla viewing access level (Public, Registered, etc.) for new categories.
- Existing event seeding -- on first install, all published DPCalendar events are scanned and mapped automatically.
- Recurring event awareness -- only the parent event gets a gallery; recurring instances are skipped.
- Joomla update server -- one-click updates via System > Update > Extensions.
Requirements
| Dependency | Version |
|---|---|
| Joomla | 5.x or 6.x |
| PHP | 8.1+ |
| DPCalendar | Any current version |
| JoomGallery | 4.x |
Both DPCalendar and JoomGallery must be installed and enabled before installing MokoGalleryCalendar.
Installation
- Download the latest ZIP from the releases page
- In Joomla admin, go to System > Install > Extensions
- Upload the ZIP and install
- Go to System > Manage > Plugins, search for "MokoJGDPC", and enable it
The install script automatically creates the mapping table, seeds existing events, and registers a daily scheduled task.
See the Installation Guide for full details.
Configuration
All settings are in System > Manage > Plugins > MokoJGDPC.
| Parameter | Default | Description |
|---|---|---|
| Parent Gallery Category | 1 (root) |
JoomGallery category under which event galleries are created |
| Delete on Event Remove | No | Also delete the gallery category when a DPCalendar event is deleted |
| Sync Title Changes | Yes | Keep the gallery category name in sync with the event title |
| Default Access Level | Public | Joomla viewing access level for new categories |
| Permissions Template Category | 0 (inherit) |
Copy ACL rules from this JoomGallery category to new galleries |
See the Configuration Guide for detailed descriptions of each parameter.
Usage
Once enabled, the plugin works automatically:
- Create a DPCalendar event -- if the event date is today or earlier, a JoomGallery category is created immediately. If the event is in the future, a pending mapping is stored.
- Pending categories are created when the event date arrives, either by the daily scheduled task (2:00 AM) or the frontend fallback.
- Edit an event title -- the linked gallery category title and alias update automatically (if Sync Title is enabled).
- Delete an event -- the mapping is always removed. The gallery category is also deleted if Delete on Event Remove is enabled.
Scheduled Task
The plugin registers a Joomla Task Scheduler entry: MokoJGDPC: Process pending gallery categories. This runs daily and creates categories for any events whose start date has arrived. Joomla's Task Scheduler requires either a server cron job or the "Lazy Scheduling" (Web Cron) option enabled.
Documentation
Full documentation is available on the Wiki:
| Page | Description |
|---|---|
| Installation | Install, update, uninstall, and auto-update server |
| Configuration | All plugin parameters explained |
| Architecture | File structure, data flow, database schema, nested set operations |
| Development | Local setup, building, CI/CD workflows, key methods |
| Troubleshooting | Common issues, log locations, database inspection queries |
Contributing
See the CONTRIBUTING guidelines and the Development wiki page.
License
This project is licensed under the GNU General Public License v3.0 or later -- see the LICENSE file.