fix(manifest): component <name> must be element-safe (com_mokosuitebackup) #213
Reference in New Issue
Block a user
Delete Branch "fix/component-element-name"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root cause of "the main component won't update"
On suite.dev the package + all plugins/module are
02.56.07, but the admin component is duplicated: a newComponent - MokoSuiteBackup(id 1218 @ 02.56.07) exists alongside the orphaned realMokoSuiteBackup(id 951 @ 02.52.29). URLs (?option=com_mokosuitebackup) and the admin menu load 951, so the site runs old component code (legacy remote dropdowns + broken destinations tab).Why: Joomla derives a component's
elementfrom its<name>(com_+ sanitized name). Commitd155958applied the "Type - Name" convention, changing<name>toComponent - MokoSuiteBackup→ derived elementcom_component-mokosuitebackup(its own extension record + folder) instead ofcom_mokosuitebackup. So every update installs a new extension and never touches the real one.The package didn't break because it has
<packagename>mokosuitebackup</packagename>; plugins/modules didn't break because their<name>is only a display label.Fix
Revert the component
<name>toMokoSuiteBackup(→com_mokosuitebackup) and add a manifest comment documenting that the display convention must not be applied to a component<name>.Deploy note (suite.dev + any updated site)
Merging + releasing fixes future installs (the corrected element matches record 951 and updates it to current). The already-created orphans still need cleanup on affected sites:
com_component-mokosuitebackup) and itsadministrator/components/com_component-mokosuitebackup/folder,#__schemasrows,com_mokosuitebackup(951) updates to 02.56.07.Broader impact
Any other MokoSuite component that got the "Type - Name"
<name>via the same convention has this latent duplicate-registration bug and needs the same one-line correction.https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i