feat: access.xml ACL permission configuration #95

Closed
opened 2026-06-29 14:05:21 +00:00 by jmiller · 3 comments
Owner

Summary

The component has no access.xml file defining Joomla ACL permissions. Without it, the component relies only on core permissions and cannot define component-specific actions.

Proposed permissions

<?xml version="1.0" encoding="UTF-8"?>
<access component="com_mokoog">
    <section name="component">
        <action name="core.admin" title="JACTION_ADMIN" />
        <action name="core.manage" title="JACTION_MANAGE" />
        <action name="core.create" title="JACTION_CREATE" />
        <action name="core.delete" title="JACTION_DELETE" />
        <action name="core.edit" title="JACTION_EDIT" />
        <action name="core.edit.state" title="JACTION_EDITSTATE" />
        <action name="mokoog.batch" title="COM_MOKOOG_ACTION_BATCH" />
        <action name="mokoog.import" title="COM_MOKOOG_ACTION_IMPORT" />
    </section>
</access>

Files

  • Create: source/packages/com_mokoog/access.xml
  • Update: source/packages/com_mokoog/mokoog.xml — ensure manifest references access.xml
  • Add language strings for custom actions

Acceptance Criteria

  • access.xml exists with standard + custom actions
  • Component manifest references access file
  • Permissions tab appears in component Options
  • Batch and Import/Export controllers check appropriate permissions
## Summary The component has no `access.xml` file defining Joomla ACL permissions. Without it, the component relies only on core permissions and cannot define component-specific actions. ## Proposed permissions ```xml <?xml version="1.0" encoding="UTF-8"?> <access component="com_mokoog"> <section name="component"> <action name="core.admin" title="JACTION_ADMIN" /> <action name="core.manage" title="JACTION_MANAGE" /> <action name="core.create" title="JACTION_CREATE" /> <action name="core.delete" title="JACTION_DELETE" /> <action name="core.edit" title="JACTION_EDIT" /> <action name="core.edit.state" title="JACTION_EDITSTATE" /> <action name="mokoog.batch" title="COM_MOKOOG_ACTION_BATCH" /> <action name="mokoog.import" title="COM_MOKOOG_ACTION_IMPORT" /> </section> </access> ``` ## Files - Create: `source/packages/com_mokoog/access.xml` - Update: `source/packages/com_mokoog/mokoog.xml` — ensure manifest references access.xml - Add language strings for custom actions ## Acceptance Criteria - [ ] `access.xml` exists with standard + custom actions - [ ] Component manifest references access file - [ ] Permissions tab appears in component Options - [ ] Batch and Import/Export controllers check appropriate permissions
Author
Owner

Branch created: feature/95-feat-access-xml-acl-permission-configura

git fetch origin
git checkout feature/95-feat-access-xml-acl-permission-configura
Branch created: [`feature/95-feat-access-xml-acl-permission-configura`](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteOpenGraph/src/branch/feature/95-feat-access-xml-acl-permission-configura) ```bash git fetch origin git checkout feature/95-feat-access-xml-acl-permission-configura ```
Author
Owner

Status: confirmed NOT done (audit of current dev). source/packages/com_mokoog/access.xml does not exist; mokoog.xml defines no custom actions; controllers check only core permissions (BatchControllercore.create; ImportExportControllercore.manage/core.create/core.edit).

Scope addition: the component also ships no config.xml, yet HtmlView::addToolbar() renders a ToolbarHelper::preferences('com_mokoog') Options button — which opens an empty/broken Options modal. This issue should also cover adding a config.xml (or removing the Options button). Both access.xml and config.xml are needed for the Permissions and Options tabs to function.

**Status: confirmed NOT done** (audit of current `dev`). `source/packages/com_mokoog/access.xml` does not exist; `mokoog.xml` defines no custom actions; controllers check only core permissions (`BatchController` → `core.create`; `ImportExportController` → `core.manage`/`core.create`/`core.edit`). **Scope addition:** the component also ships **no `config.xml`**, yet `HtmlView::addToolbar()` renders a `ToolbarHelper::preferences('com_mokoog')` Options button — which opens an **empty/broken Options modal**. This issue should also cover adding a `config.xml` (or removing the Options button). Both `access.xml` and `config.xml` are needed for the Permissions and Options tabs to function.
Author
Owner

Fixed in PR #111 (merged to dev). Added access.xml (core actions + custom mokoog.batch/mokoog.import) and config.xml (Permissions tab + a note pointing OG/SEO settings to the system plugin); both declared in the manifest. BatchController/ImportExportController now authorise the custom actions with a fallback to the prior core checks (no lockout). Closing.

Fixed in PR #111 (merged to `dev`). Added `access.xml` (core actions + custom `mokoog.batch`/`mokoog.import`) and `config.xml` (Permissions tab + a note pointing OG/SEO settings to the system plugin); both declared in the manifest. `BatchController`/`ImportExportController` now authorise the custom actions with a fallback to the prior core checks (no lockout). Closing.
Sign in to join this conversation.
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteOpenGraph#95