Skip to content

discoverygarden/islandora_workflow

Repository files navigation

This is a drupal module to implement a generic workflow around Fedora objects.

It uses an inline xml datastream and rdf to record the state of the workflow and notes associated with the workflow in workflow managed objects.
Acceptable state values: created, submitted, approved, published, rejected.

Wheather or not to treat collections as being workflow tracked during ingest is handled in a RESL-EXT relationship:
@todo put relationship here... FALSE and not set will initialy(at least) be functionaly equivalent.

Workflow is enforced through the use of XACML. All items that are in workflow are marked as inactive in Fedora.

For a user to see the 'My Islandora Work' link they need module permissions and some collection level permission set.
Collection level permissions for users and roles can be set at admin/settings/islandora_workflow_perms.

How do we recover if Drupal side modifications occurred when Fedora was inactive? Please don't do this, be mindful of fedora's state.

To be able to set user specific permissions without restriction you need to set authenticated user permissions to islandora_workflow_Submitter, islandora_workflow_Editor and islandora_workflow_Manager permissions.
Also, anyone who is to edit other users permissions will need the permission 'access administration pages'.
Do not set the islandora_workflow_Administrator permission for the authenticated user role.
If a user has two levels or more of permissions on the same collection the highest level takes precedence.

For a Drupal user to see the main workflow page they must both have appropriate permissions and have access set to a collection.

To start an object in the workflow call this function from islandora_workflow.inc: islandora_workflow_init_workflow($object_id)

PERMISSIONS
'islandora_workflow_Editor'
'islandora_workflow_Manager'
'islandora_workflow_Administrator'
'islandora_workflow_Submitter'

STATES
'created'
'submitted'
'approved'
'published'
'rejected'

-- INSTALLING WORKFLOW --
Note when installing workflow you need to remove a global fedora XACML policy that prevents regular users from modifying objects in an inactive state. This policy is located here:
$FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-inactive-or-deleted-objects-or-datastreams-if-not-administrator.xml

-- ANONYMOUS ROLE --
If an anonymous user is a submitter they can only create items.
Anonymous editors/managers are not suported.
Anonymous users will not have access to the workflow page.

About

This is a drupal module to implement a generic workflow around Fedora objects.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages