fix(plugin): production readiness + Gitea update server #81

Merged
jmiller merged 2 commits from fix/production-readiness into main 2026-05-16 13:54:42 +00:00
Owner

Summary

  • Harden installation script: dynamic category/component ID resolution, proper exception qualification, admin user ownership for created articles
  • Add missing PLG_SYSTEM_MOKOJOOMTOS_ERROR_LOADING_MENU_ITEMS language key to all locale files
  • Standardize help text URL across all locale files
  • Remove obsolete src/plugins/ legacy directory
  • Add Gitea update server URL (updates.xml on main) to plugin manifest

Test plan

  • Clean install on Joomla 5.x � verify article, menu type, and menu item are created
  • Set site offline and visit /terms-of-service � verify content renders without template chrome
  • Check System > Update > Extensions � verify update server is detected
  • Trigger a database error in MenuslugField � verify translated error message appears
  • Install on a site where Uncategorised category has a non-default ID � verify article is still created

Closes #80

?? Generated with Claude Code

## Summary - Harden installation script: dynamic category/component ID resolution, proper exception qualification, admin user ownership for created articles - Add missing `PLG_SYSTEM_MOKOJOOMTOS_ERROR_LOADING_MENU_ITEMS` language key to all locale files - Standardize help text URL across all locale files - Remove obsolete `src/plugins/` legacy directory - Add Gitea update server URL (`updates.xml` on `main`) to plugin manifest ## Test plan - [ ] Clean install on Joomla 5.x � verify article, menu type, and menu item are created - [ ] Set site offline and visit `/terms-of-service` � verify content renders without template chrome - [ ] Check System > Update > Extensions � verify update server is detected - [ ] Trigger a database error in MenuslugField � verify translated error message appears - [ ] Install on a site where Uncategorised category has a non-default ID � verify article is still created Closes #80 ?? Generated with [Claude Code](https://claude.com/claude-code)
jmiller added 2 commits 2026-05-16 13:54:17 +00:00
Fixes hardcoded category/component IDs, missing language key,
unqualified exception catches, and removes legacy plugin directory.

- Query Uncategorised category ID dynamically instead of assuming ID 2
- Remove fragile component_id fallback (fail gracefully with log)
- Use installing admin's user ID for article ownership
- Add missing PLG_SYSTEM_MOKOJOOMTOS_ERROR_LOADING_MENU_ITEMS key
- Qualify all Exception catches with backslash for namespace safety
- Standardize help text URL across all locale files
- Remove obsolete src/plugins/ legacy directory

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Points to updates.xml on the main branch of the Gitea repository
so Joomla can check for new versions automatically.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jmiller merged commit 0e281bd7f9 into main 2026-05-16 13:54:42 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoJoomTOS#81