Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Cleaning up old database changes text

...

Wiki Markup
The configuration file for the workflow user interface actions is located in the {{\[dspace\]/config/spring/xmlui/}} and is named "workflow-actions-xmlui.xml". BEach bean defined here has an id which is the action identifier and the class is a classpath which links to the xmlui class responsible for generating the User Interface side of the workflow action. Each of the class defined here must extend the {{org.dspace.app.xmlui.aspect.submission.workflow.AbstractXMLUIAction}} class, this class contains some basic settings for an action and has a method called {{addWorkflowItemInformation()}} which will render the given item with a show full link so you don't have to write the same code in each of your actions if you want to display the item. The id attribute used for the beans in the configuration must correspond to the id used in the workflow configuration. In case an action requires a User Interface class, the workflow framework will look for a UI class in this configuration file.

...

  • READ
  • WRITE
  • ADD
  • DELETE

Database

Database changes

...

Wiki Markup
The changes made to the database can always be found in the {{\[dspace\]/etc/\[database-type\]/xmlworkflow/}} directory in the file {{xml_workflow.sql}}.
Wiki Markup
The workflow uses a separate metadata schema named {{workflow}} the fields this schema contains can be found in the \{{\[dspace\]/config/registries}} directory and in the file {{workflow-types.xml}}.

The tables collectionrole, workflowitemrole were created and are used by the workflow system for the roles (the roles have been described above).

The tasklistitem table was altered to contain the step and the action identifiers so that the workflow system knows where in the workflow the item is.

The table taskowner was created so that multiple user can claim one item (this was not possible in the old workflow, there the owning user was a field in the workflowitem table).

Database additions

There are a number of important database changes in order to support the new reviewer workflow framework. The following tables have been added:

collectionrole

The collectionrole table stores the the groups that are assigned to one of the collection scope roles. A new entry in this table is created when an administrator creates a new collection role group in the Edit Collection interface. The table has the following columns:

  • collectionrole_id (INTEGER): Unique ID for a row in the collectionrole table
  • role_id: The (TEXT): Stores the name of this role as specified in the XML configuration document
  • collection_id: (INTEGER, REFERENCES collection(collection_id)): The ID of the collection for which the role is defined.
  • group_id: (INTEGER, REFERENCES epersongroup(eperson_group_id)): The ID of the group that contains the members of this role.

workflowitemrole

This table stores the the group or eperson that has been assigned to one of the workflow items to perform one of the steps in the workflow. This table stores the item scope workflow roles. For one item, multiple groups or epersons can be configured so multiple rows in this table can correspond to the same item, step and workflow. The selection of the members of these item roles is performed by another action earlier in the workflow. This table contains the following columns:

  • workflowitemrole_id (INTEGER): Unique ID for a row in the workflowitemrole table.
  • role_id (TEXT): Stores the name of this role as specified in the XML configuration document.
  • workflow_item_id (INTEGER, REFERENCES workflowitem(workflow_id)): The workflow item for which the role has been configured.
  • eperson_id (INTEGER, REFERENCES eperson(eperson_id)): The eperson that has been configured for this workflow item role. This value can be empty in case a group has been configured.
  • group_id (INTEGER REFERENCES epersongroup(eperson_group_id)): The group that has been configured for this workflow item role. This value can be empty in case an eperson has been configured.

taskowner

This table contains all the tasks that belong to an eperson. Entries in this table are created when a user claims a certain task from the task pool or can be automatically created when automated action assigns the user to a task. The taskowner table contains the following columns:

  • taskowner_id (INTEGER): Unique ID for a row in the taskowner table.
  • workflow_item_id (INTEGER, REFERENCES workflowitem(workflow_id)): The ID of the workflow item for which an eperson has a task assigned/claimed.
  • action_id (TEXT): The ID of the action the eperson has claimed or has been assigned to.
  • step_id (TEXT): The ID of the step that contains the action.
  • workflow_id (TEXT): The ID of the workflow process that contains the step.
  • owner_id (INTEGER, REFERENCES eperson(eperson_id)): The ID of the eperson who owns the task.

Database changes

 This schema is only used when using the score reviewing system at the moment, but one could always use this schema if metadata is required for custom workflow steps.

Wiki Markup
The changes made to the database can always be found in the {{\[dspace\]/etc/\[database-type\]/xmlworkflow/}} directory in the file {{xml_workflow.sql}}. The following tables have been added to the DSpace database. All tables are prefixed with 'cwf_' to avoid any confusion with the existing workflow related database 
The following tables have been added to the DSpace database. All tables are prefixed with 'cwf_' to avoid any confusion with the existing workflow related database
tables:

cwf_workflowitem

The cwf_workflowitem table contains the different workflowitems in the workflow. This table has the following columns:

...