*** Updated for 2009-12-25c ***
Ok, got it working.
Post all questions, concerns, problem reports, and/or code changes to the forums, I cannot guarantee timely response to emails
Below is the promised info:
Notes on ACL Modification Delegation by Yedric (
dokuwikid@jaxcon.net)
*** This is BETA release software. I have tested it in my environment and found only the issues mentioned below. ***
1) This is a very intrusive mod, touching five (5) common files, the plugin admin.php file, and two (2) ACL
plugin php files, in addition to needing changes to every language file for the ACL plugin. With very large
numbers of ACL's, this mod may noticeably impact performance.
2) This updated mod has only been tested against the bare
dokuwiki-rc2009-12-02 "Mulled Wine" RC1 dokuwiki-2009-12-25c “Lemming” version. Please post an issues encountered to the appropriate forum(s).
3) If the ACL-Delegate has been specifically given "None" permissions on a page, it will not show up in the
HTML tree in the upper left corner of the Access Control List Management page. This is true despite the
ACL-Delegate having AUTH_ACLMOD permissions to that namespace tree the page resides in. Maybe a *** FIXME ***, could be useful in some situations.
4) The ACL-Delegate must navigate to a page in a namespace tree for which the user has AUTH_ACLMOD for the
"Admin" button to be displayed. Currently, the only way to avoid this is to parse the entire namespace structure every time a page is served.
5) In the html tree shown in the upper left corner of the ACL Management page, only the namespace tree for the
page from which the ACL-Delegate navigated to the Admin page will show. To manage other namespace trees for
which the ACL-Delegate has AUTH_ACLMOD permissions, navigate to a page in that namespace and then navigate to
the Admin/Access Control List Management page. Access to (some of) these other namespaces MAY be possible by
using the normal open/close mechanism in the html tree.
6) ACL-Delegation can only be done on a per-namespace basis.
7) ACL-Delegates can be any non-Admin user.
8) Only English language files changes have been made, assistance with non-English files appreciated. *** FIXME ***
9) This mod can not be turned off via configuration options. *** FIXME ***
10) A new auth level AUTH_ACLMOD value 64 has been added to support this functionality.
In the attached patch file, the clean, unmodified copy is dokuwiki-2009-12-25c_clean, and the modified copy is dokuwiki-2009-12-25c_aclmod. On Unix/Linux, cd to the directory above your clean copy of dokuwiki-2009-12-25c and, substituting the correct path to the patch file run:
patch -Np1 --verbose <.../acl_delegate.diffs
You may need to manually input/copy-and-paste the proper file name to be patched. Make sure to verify that all hunks were successfully patched, this info will be in the output of the patch command. If you have a hunk with fails, please double check that you are in the correct directory and then ran the command above correctly. Once you have verified this, please contact me so that we can figure out what is going on and get it resolved.
If you are not running Unix/Linux, you can make the changes manually. Basically, just remove each line that starts with '-' and add each line that starts with '+'. Do not modify any other lines shown, they are in the patch file for context.
I do have a fully patched copy of 2009-12-25c available and provided Andreas has no objection, I will make available in the near future.