http://drupal.org/node/200579
http://drupal.org/node/199000

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

contacts: fago, salvis

Comments

fago’s picture

ops, the user account page of salvis is of course: http://drupal.org/user/82964

aclight’s picture

Component: GHOP Task » Task idea
Status: Needs review » Needs work

1. The title is a bit mysterious to those who don't know the acronyms. The task might be more appealing at first glance if it was clearer from the title what the task was for.

2. A paragraph at the top written in clear english (using as few acronyms as possible) that explained what ACL and workflow-ng do and explained why this task is useful/important would be helpful.

3. Deliverable is not clearly specified. A patch in which queue that is marked RTBC? What specific versions of ACL and workgroup-ng should be used for the task?

Other than the above comments, this looks like a good task.

fago’s picture

Title: ACL workflow-ng integration » Provide workflow-ng integration for the ACL module
Status: Needs work » Needs review

ok, next try:

Title: Provide workflow-ng integration for the ACL module

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.

Issues:
http://drupal.org/node/200579
http://drupal.org/node/199000

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. When the patch gets committed, the task is completed.

contacts: fago (http://drupal.org/user/16747), salvis (http://drupal.org/user/82964)

aclight’s picture

Status: Needs review » Reviewed & tested by the community

Looks good. If you could please make it a little more obvious that students should post their work in the two issue queues you gave links for that would be great (just so they don't post everything to the Google task where it might not get seen).

Go ahead and create the issue in the Google task tracker, and after that you can come back here and mark this task as closed.

Thanks.

fago’s picture

Status: Reviewed & tested by the community » Closed (fixed)