Learn about DokuWiki
Learn about DokuWiki
Compatible with DokuWiki
Standard DokuWiki ACL manager has a strong limitation, ACL management can't be delegated to other users but site-wide admin and/or managers.
With this action plugin, ACL information can be written in wiki pages, so the permission to edit a pages in a particular namespace means the permission to edit ACL of a corresponding page or namespace.
You can define a specific namespace under which you create pages with the same hierarchy of the root tree.
For example if you have a namespace named “xx:yy:” and you want to grant Edit privilege to user “john” on it, you have to create the page “acl:xx:yy:start” (“start” is the page you set as “Start page name” in DokuWiki config), and write into it:
When you submit, an ACL like
xx:yy:* john 2 # distributedACL autogenerated for xx:yy:* #
is immediately written into
If you want to set a permission for a page named “xx:yy:mypage” create the page “acl:xx:yy:mypage”.
In the page you should write:
perm:whoAccess perm:whoAccess perm:whoAccess
| ||None (deny anything)||0|
| ||alias for “Delete”||16|
whoAccess can be a username or a @group.
If you want to permit a user (or a group) to edit ACLs for a namespace or a page, you have to grant him to edit the corresponding page into “acl:”.
For example, you want JOE to edit ACLs for “xx:yy:*”:
To do that he should edit the page “acl:xx:yy:start”. To grant him to do it, you edit the page “acl:acl:xx:yy:start” and write:
and so, a permission will be created to grant JOE to edit “acl:xx:yy:*”. When he edit “acl:xx:yy:home”, he set ACLs for “xx:yy:”.
The only configuration you can make is the ACL namespace, into the
action.php set the variable
to the namespace you want. Default is “acl:”.
When a user change permission for a namespace or a page, all permission
to that (only for that item) will be overwritten, if you inserted other
ACL to that item by the standard
aclplugin they will disappear.
If your wiki use distributedACL I suggest, to avoid confusion, to stop
aclplugin, or at least don't use
aclplugin to manage ACLs for the same namespace or page.