Giter VIP home page Giter VIP logo

islandora_workflow's Introduction

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.

islandora_workflow's People

Contributors

adam-vessey avatar dannyjoris avatar djevans avatar jmacwilliams avatar jordandukart avatar willtp87 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.