Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Code Block

Summary

Project

DSpace Submission Enhancements

Student

Gaurav Kejriwal

Mentors

Technologies

Submission UI,
etc.

Proposal

Melange

Location for project

Link to Source Code goes here

...

For solving the problem of modification of submission workflow we can have a *'Edit Workflow Page' *where the admin can select the list of steps and their order(priority) to be taken for that collection through a UI. Here, also we can give an option for admin to upload the desired workflow in xml format which will ultimately be updated in the database.

#
  1. We
  1. will
  1. need
  1. to
  1. define
  1. a
  1. Domain
  1. Model
  1. for
  1. representing
  1. the
  1. Submission
  1. Workflow
  1. and
  1. its
  1. steps
  1. in
  1. such
  1. a
  1. way
  1. as
  1. to
  1. allow
  1. it
  1. to
  1. be
  1. persistable
  1. in
  1. the
  1. database.
  1. An
  1. initial
  1. Model
  1. would
  1. have
  1. JAVA
  1. classes
  1. defined
  1. in
  1. Spring
  1. Workspace
  1. Service.
##
    1. Step:
    1. A
    1. physical
    1. Step
    1. with
    1. logic
    1. currently
    1. defined
    1. in
    1. Java
    1. code.
##
    1. Action:
    1. One
    1. or
    1. more
    1. Actions
    1. are
    1. the
    1. possible
    1. outcomes
    1. of
    1. the
    1. execution
    1. of
    1. the
    1. step
    1. and
    1. represent
    1. Tasks
    1. that
    1. may
    1. be
    1. completed
    1. prior
    1. to
    1. the
    1. Item
    1. transitioning
    1. to
    1. another
    1. step.
##
    1. Role:
    1. A
    1. Group
    1. of
    1. Individuals
    1. that
    1. are
    1. alerted
    1. to
    1. and
    1. participate
    1. in
    1. the
    1. completion
    1. of
    1. a
    1. Step.
##
    1. UserSelectionMethod:
    1. A
    1. View
    1. that
    1. allows
    1. the
    1. user
    1. to
    1. interact
    1. with
    1. the
    1. Step
    1. Executing
    1. Actions.
#
  1. Reviewing
  1. the
  1. Workflow,
  1. we
  1. find
  1. that
  1. the
  1. primary
  1. aggregate
  1. root
  1. of
  1. the
  1. Domain
  1. is
  1. a
  1. configuration
  1. that
  1. arranges
  1. the
  1. relationships
  1. between
  1. these
  1. 4
  1. Domain
  1. objects. 
Note
Wiki Markup
Code Block

<step id="{step.id}" nextStep="{next&nbsp;

     {alternate.step.id}\# An initial User interface should provide the user with an ability to select
## One or more steps that will be in a workflow
## Associate Specific Outcomes (status codes) With existing Workflow Steps, Identifying the paths through the workflow.
## Add/Remove EPeople/Groups from Roles associated with the Step
# An advanced User Interface may provide
## &nbsp;the ability to alter the Configuration of what Actions are Associated with the Step
## codes those action may generate.
" userSelectionMethod="{user.selection.bean.id}" role="{role.id}" >
   <!-- optional alternate outcomes, depending on the outcome of the actions you can alter the next step here -->
   <alternativeOutcome>
      <step status="{integer}">{alternate.step.id}</step>
   </alternativeOutcome>
   <action id="{action.bean.id}"/>
   <action id="{action.bean.id.1}"/>
</step>

# An initial User interface should provide the user with an ability to select

    1. One or more steps that will be in a workflow
    2. Associate Specific Outcomes (status codes) With existing Workflow Steps, Identifying the paths through the workflow.
    3. Add/Remove EPeople/Groups from Roles associated with the Step
  1. An advanced User Interface may provide
    1.  the ability to alter the Configuration of what Actions are Associated with the Step
    2. codes those action may generate.

 Other changes which I am interested to work on to improve the submission process is enabling tool-tip on submission fields.

...

This file contains the beans for the actions and user selection methods referred to in the workflow.xml. In order for the workflow framework to work properly, each of the required actions must be part of this configuration.

unmigrated-wiki-markup
Panel
Code Block

 <bean id="{action.api.id}" scope="prototype"/>
&nbsp;&nbsp;&nbsp;
    <bean id="{action.api.id.2}" scope="prototype"/>

&nbsp;<\
 <!-
\
- Below the class identifiers come the declarations for out actions -->

&nbsp;<bean
 <bean id="{action.id}" scope="prototype">
&nbsp;&nbsp;&nbsp;&nbsp;

     <constructor-arg type="java.lang.String" value="{action.id}"/>

&nbsp;&nbsp;&nbsp;&nbsp;
     <property name="processingAction" ref="{action.api.id}"/>
&nbsp;&nbsp;&nbsp;&nbsp;
     <property name="requiresUI" value="{true/false}"/>
&nbsp;<
 </bean>

UI configuration -

Each bean defined here will have an id which will be the action identifier and the class will a classpath which links to the xmlui class
responsible for generating the User Interface side of the submission-action.
In case an action requires a User Interface class, the workflow framework will look for a UI class in this configuration file.

unmigrated-wiki-markup
Panel
Code Block

 <beans
&nbsp;&nbsp;&nbsp;
    <bean id="{action.id}" scope="prototype"/>
&nbsp;&nbsp;&nbsp;
    <bean id="{action.id.2}" scope="prototype"/>
</beans>

Brief Outline of DB schema- 

...