| 1 |
The pacs Module (Tree Access Module)
|
| 2 |
====================================
|
| 3 |
|
| 4 |
Under pacs, every drupal node turns in a container wich can hold normal content
|
| 5 |
but also other nodes of any type, much like a directory in an apache web server.
|
| 6 |
|
| 7 |
You can control the access permissions on each of the nodes for each single
|
| 8 |
defined user role. Nodes with no explicit permission settings inherit them from
|
| 9 |
its parent node, like in a directory tree.
|
| 10 |
|
| 11 |
This means that if you set permissions on one node you are actually setting
|
| 12 |
these permissions on a whole branch, composed by this node itself and all of his
|
| 13 |
descendants (child nodes), up to the next one with its own permission settings.
|
| 14 |
|
| 15 |
Pacs should work with any type of nodes.
|
| 16 |
|
| 17 |
The Node View
|
| 18 |
=============
|
| 19 |
|
| 20 |
Under pacs, when viewing a node, the page breadcrumb will show the position of
|
| 21 |
the node in the pacs tree instead of the normal menu items sequence (not for
|
| 22 |
book pages).
|
| 23 |
|
| 24 |
If you have the "view tree" system permission, there will be a new "tree" tab.
|
| 25 |
Clicking on this tab will open a nice representation of the tree structure.
|
| 26 |
|
| 27 |
If the current node has child nodes, their titles will show up as a list of page
|
| 28 |
footer links (not for book pages).
|
| 29 |
|
| 30 |
If you have the appropriate permissions, the page footer will also show a "new
|
| 31 |
node" link that lets you create a new node of any type right under the current
|
| 32 |
node. Clicking on the standard "create content" menu item lets you create a new
|
| 33 |
node under the tree root.
|
| 34 |
|
| 35 |
The Tree View
|
| 36 |
=============
|
| 37 |
|
| 38 |
Clicking on the pacs "tree" tab will open a representation of the tree
|
| 39 |
structure, where the permissions are represented by the color of each node. If
|
| 40 |
you have sufficient permission, you can set node permissions for each node/role
|
| 41 |
or move the nodes in the tree structure.
|
| 42 |
|
| 43 |
Pacs and Book Pages
|
| 44 |
===================
|
| 45 |
|
| 46 |
Book pages, the nodes provided by the Book Module, have their own hierarchical
|
| 47 |
structure. To avoid possible inconsistencies between the pacs and the book
|
| 48 |
hierarchies, pacs maintains them both automatically synchronized. So, if you
|
| 49 |
extend or update your book structure, pacs will update its tree accordingly.
|
| 50 |
This feature is optional.
|
| 51 |
|
| 52 |
The Access Permissions
|
| 53 |
======================
|
| 54 |
|
| 55 |
You can set permissions for each user role on any node in the tree. If no access
|
| 56 |
permission is set on a node, it inherits the permissions from the parent node.
|
| 57 |
So, access permissions propagate downwards the tree up to the next node wich
|
| 58 |
have its own permission definition for a particular role.
|
| 59 |
|
| 60 |
The possible permissions are 'none' (no access at all), 'view' (user can view
|
| 61 |
the node), 'update' (user can view and update the node) and 'manage' (user can
|
| 62 |
view, update or manage the node).
|
| 63 |
|
| 64 |
The 'manage' access permission is a pacs extension for the standard drupal
|
| 65 |
'delete' permission. With this permission, the user can view, update and delete
|
| 66 |
nodes, but also create new nodes, move them in the tree and set its access
|
| 67 |
permissions for all roles.
|
| 68 |
|
| 69 |
The system administrator user (uid = 1) has all permissions inconditionally.
|
| 70 |
|
| 71 |
Installation
|
| 72 |
============
|
| 73 |
|
| 74 |
1) Add the new pacs fields to the drupal 'node' table and drop the 'all' realm
|
| 75 |
entry in the 'node_access' table:
|
| 76 |
|
| 77 |
From the command line, type:
|
| 78 |
mysql -u username -p drupal < pacs.mysql
|
| 79 |
(where drupal is your drupal database and username is your mysql username)
|
| 80 |
|
| 81 |
2) Create a 'pacs' directory under your drupal installation's 'module'
|
| 82 |
directory
|
| 83 |
|
| 84 |
3) Copy the files 'pacs.module', 'pacs.css' and 'help.css' into this directory
|
| 85 |
|
| 86 |
4) Activate the module from administer >> modules
|
| 87 |
|
| 88 |
Configuration
|
| 89 |
=============
|
| 90 |
|
| 91 |
1) From 'administer' >> 'settings' >> 'pacs', enable (recommended) or disable
|
| 92 |
the book page synchronization.
|
| 93 |
|
| 94 |
2) If enabled, and if you already have book page hierarchies, click on
|
| 95 |
'synchronize now' to get pacs synchronized with your book pages.
|
| 96 |
|
| 97 |
3) From 'administer' >> 'access control', enable the 'view tree' system
|
| 98 |
permission for all roles that should be able to see the tree view, and 'manage
|
| 99 |
tree' for all roles that should be able to set access permisions and change the
|
| 100 |
tree structure.
|
| 101 |
|
| 102 |
Using pacs
|
| 103 |
==========
|
| 104 |
|
| 105 |
1) From any node view, click on the 'tree' tab to see and manage your new pacs
|
| 106 |
node tree.
|
| 107 |
|
| 108 |
2) At the 'tree' view, click on the 'help' button for instructions.
|
| 109 |
|
| 110 |
That's it. Enjoy.
|