The ACL module (http://drupal.org/project/acl) is an API module, which
allows other modules to create Access Control Lists for controlling Node
Access. For this the module builds upon drupal's node access API.
Workflow-ng allows one to customize drupal in a very flexible way. It
allows one to configure actions that are executed on certain events.
(http://drupal.org/node/156288).
The task is to add some workflow-ng actions to the ACL module, so
workflow-ng users could configure rules to create / modify / delete ACLs.
Issue:
http://drupal.org/node/200579
1. Install the latest ACL module and get familiar with its API
2. Get familiar with drupal's node access API
http://api.drupal.org/api/group/node_access/5
3. Get familiar with workflow-ng and how to write actions for it.
(http://drupal.org/node/156754)
4. Add a new include file to the ACL module that is only included if the
workflow-ng module is active.
Add this actions to it:
* add user to ACL (use a user argument)
* remove user from ACL (use a user argument)
* add node to ACL (use a content argument)
* remove node from ACL (use a content argument)
* delete a whole ACL
Each action needs to identify an ACL. For this users have to specify the a
name for the ACL. Furthermore set "acl" as module and add an implementation
of acl_enabled() as required by the acl module (have a look at
acl_node_access_records()). If the ACL doesn't exist yet, it should be
automatically created.
Make sure to enable token support for all actions where it's possible. E.g.
add token support for the ACL name.
Furthermore the add user/node to ACL actions should check before, if the
user/node is already assigned to the ACL. The add/remove node actions
should set the node to be saved afterwards, so that the new node access
grants are written.
Verify that the actions work:
* configure workflow-ng to add created pages to an ACL, enable view access
* only add the content author to the ACL
* so these pages should be viewable only by the node author
Deliverable:
* Provide a patch for the ACL module (http://drupal.org/node/200579). When
the patch gets committed, the task is completed.
contacts: fago (http://drupal.org/user/16747), salvis
(http://drupal.org/user/82964)
Original issue reported on code.google.com by nup...@gmail.com on 14 Dec 2007 at 5:59
Original issue reported on code.google.com by
nup...@gmail.com
on 14 Dec 2007 at 5:59