Difference between revisions of "SUNScholar/Submissions/Steps"

From Libopedia
Jump to navigation Jump to search
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Edit "item-submission.xml"==
+
<center>
Go to the source folder by typing as follows:
+
  '''[[SUNScholar/Submission System|Back to Submissions]]'''
  cd /home/dspace/dspace-1.7.2-src-release/dspace/config
+
</center>
Edit the '''item-submission.xml''' file as follows:
 
nano /home/dspace/dspace-1.7.2-src-release/dspace/config/item-submission.xml
 
  
<pre>
+
===<font color="red">'''''PLEASE NOTE''''':</font>===
<!-- This XML configuration file allows you to configure the ordering    -->
+
There must be a minimum of one step and a maximum of six steps.
<!-- and number of the steps that occur in the Item Submission Process.   -->
 
</pre>
 
  
==Example==
+
===Introduction===
<pre>
+
First we map the custom steps to the collections which will use these custom steps and then we define the custom steps.
<?xml version="1.0" encoding="utf-8" ?>
 
<!DOCTYPE item-submission SYSTEM "item-submission.dtd">
 
  
<!-- Configurable Submission configuration file  -->
+
===Step 1 - Define mapping of the custom steps===
 +
Edit the '''item-submission.xml''' file as follows:
 +
  nano $HOME/{{Source}}/dspace/config/item-submission.xml
  
<!-- This XML configuration file allows you to configure the ordering    -->
+
For example:
<!-- and number of the steps that occur in the Item Submission Process.  -->
+
<pre>
<item-submission>
 
 
 
<!-- The process-map maps collection handles to a particular Item        -->
 
<!-- Submission Process.  This requires that a collection's name be      -->
 
<!-- unique, even within a community. DSpace does however insure that each-->
 
<!-- collection's handle is unique.  Process-map provides the means to    -->
 
<!-- associate a unique collection name with an Item Submission process.  -->
 
<!-- The process-map also provides the special handle "default" (which is -->
 
<!-- never a collection), here mapped to "traditional". Any collection    -->
 
<!-- which does not appear in this map will be associated with the mapping-->
 
<!-- for handle "default".                                                -->
 
 
  <submission-map>
 
  <submission-map>
 
   <name-map collection-handle="default" submission-name="traditional" />
 
   <name-map collection-handle="default" submission-name="traditional" />
 +
  <name-map collection-handle="99999.1/2170" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2171" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2172" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2173" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2174" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2175" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2176" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2177" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2178" submission-name="research" />
 +
  <name-map collection-handle="99999.1/2179" submission-name="research" />
 
  </submission-map>
 
  </submission-map>
 +
</pre>
 +
 +
===Step 2 - Define the custom steps===
 +
This is where you define what steps are completed per submission per collection.
 +
 +
Tip: Copy an existing definition to create a new one.
  
 +
For example:
 +
<pre>
 +
  <submission-process name="research">
  
 +
      <step>
 +
        <processing-class>org.dspace.submit.step.SkipInitialQuestionsStep</processing-class>
 +
      </step>
 
   
 
   
<!-- The 'step-definitions' allows you to define steps which you may wish -->
+
       <!--Step 1 will be to Describe the item.-->
<!-- to "share" amongst multiple submission-item definitions.  In order to-->
 
<!-- share the same step definition, you can refer to it by its unique id -->
 
<!-- defined in this section.  EVERY 'step' in this section MUST have a  -->
 
<!-- unique identifier in the 'id' attribute!                            -->
 
<!--                                                                      -->
 
<!-- Each <step> REQUIRES the following attributes (@) and properties:    -->
 
<!-- @id                - The unique identifier for this step            -->
 
<!--   -->
 
<!-- <processing-class> - The class which will process all information for-->
 
<!--            this step. The class must extend   -->
 
<!--            'org.dspace.submit.AbstractProcessingStep'              -->
 
<!--            (or one of the org.dspace.submit.step.* classes)        -->
 
<!--            This property should reference the full path of the class-->
 
<!--   (e.g. org.dspace.submit.step.MyCustomStep)              -->
 
<!--   -->
 
<!-- The following properties are OPTIONAL for each <step>:   -->
 
<!-- <heading> -    References the message key, from the   -->
 
<!--     Messages.properties file (JSP-UI) or messages.xml    -->
 
<!--                (XML-UI) which will be used as this step's heading in -->
 
<!--     the progress-bar.  If unspecified, the step does not  -->
 
<!--     show up in the Progress Bar.  Keys in the <heading>  -->
 
<!-- are prefixed as follows in the appropriate   -->
 
<!-- "messages" file:           -->
 
<!-- XML-UI:  "xmlui.Submission." prefix   -->
 
<!-- JSP-UI:  "jsp." prefix     -->
 
<!-- <jspui-binding> - JSP-UI binding step class which will generate the JSP-->
 
<!--                based user interface for this step.  The class must  -->
 
<!--                extend 'org.dspace.app.webui.submit.JSPStep'.        -->
 
<!--                This property should reference the full path of the  -->
 
<!--                class.  It is only necessary if you are using the    -->
 
<!--                DSpace JSP-UI, and the step requires user interaction-->
 
<!-- <xmlui-binding> - XML-UI binding step class which will generate the  -->
 
<!--                Manakin XML (DRI) structure for this step.  The class-->
 
<!--                must extend                                          -->
 
<!--                'org.dspace.app.xmlui.aspect.submission.StepTransformer'.-->
 
<!--                This property should reference the full path of the  -->
 
<!--                class.  It is only necessary if you are using the    -->
 
<!--                DSpace XML-UI, and the step requires user interaction-->
 
<!-- <workflow-editable> - whether or not this step will appear during the-->
 
<!-- "Edit Metadata" workflow approval process.  This field-->
 
<!-- defaults to TRUE (which means it can be edited during -->
 
<!-- the "Edit Metadata" workflow stage)   -->
 
<!--                                                                      -->
 
<!--                                                                      -->
 
<step-definitions>
 
    <!-- The "collection" step is a "special step" which is *REQUIRED* to be-->
 
    <!-- in this section!  In DSpace, all submitted items must be          -->
 
    <!-- immediately assigned to a collection. This step ensures that a    -->
 
    <!-- collection is always selected.  If a user is already submitting    -->
 
    <!-- from within a Collection (by clicking the "Submit to This          -->
 
    <!-- Collection" button) then this step will be automatically skipped.  -->
 
    <!-- In all other cases, this step ensures that the user *first* selects-->
 
    <!-- a collection!                                                      -->
 
    <!-- Since this is a "special step", it is *automatically* added at the -->
 
    <!-- beginning of each 'submission-process' (therefore it should not be -->
 
    <!-- referenced by any of the below 'submission-process' tags).  Also as-->
 
    <!-- a special step, it is currently NEVER editable in a workflow.      -->                             
 
    <step id="collection">
 
      <heading></heading> <!--can specify heading, if you want it to appear in Progress Bar-->
 
  <processing-class>org.dspace.submit.step.SelectCollectionStep</processing-class>
 
      <jspui-binding>org.dspace.app.webui.submit.step.JSPSelectCollectionStep</jspui-binding>
 
      <xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.SelectCollectionStep</xmlui-binding>
 
      <workflow-editable>false</workflow-editable>
 
    </step>
 
 
 
    <!-- The "complete" step is a "special step" which is *REQUIRED* to be-->
 
    <!-- in this section!  In DSpace, when a submission is completed,      -->
 
    <!-- a workflow is automatically kicked off (if one exists)            -->
 
    <!-- This "complete" step performs all backend processing that occurs  -->
 
    <!-- immediately upon completing the submission.                        -->
 
    <!-- Since this is a "special step", it is *automatically* added at the -->
 
    <!-- end of each 'submission-process' (therefore it should not be      -->
 
    <!-- referenced by any of the below 'submission-process' tags).  Also as-->
 
    <!-- a special step, it is currently NEVER editable in a workflow.      -->                             
 
    <step id="complete">
 
      <heading>submit.progressbar.complete</heading>
 
      <processing-class>org.dspace.submit.step.CompleteStep</processing-class>
 
      <jspui-binding>org.dspace.app.webui.submit.step.JSPCompleteStep</jspui-binding>
 
      <workflow-editable>false</workflow-editable>
 
    </step>
 
 
 
    <!-- This is the Sample Step which utilizes the JSPSampleStep class-->
 
    <step id="sample">
 
      <heading>Sample</heading>
 
      <processing-class>org.dspace.submit.step.SampleStep</processing-class>
 
      <jspui-binding>org.dspace.app.webui.submit.step.JSPSampleStep</jspui-binding>
 
      <workflow-editable>true</workflow-editable>
 
    </step>
 
</step-definitions>
 
 
 
<!-- The submission-definitions map lays out the detailed definition of  -->
 
<!-- all the Item Submission Processes (and the ordering of their steps). -->
 
<!-- Each separate "submission-process" has a unique name as an attribute,-->
 
<!-- which matches one of the names in the process-map. One named        -->
 
<!-- "submit-process" has the name "traditional"; as this name suggests,  -->
 
<!-- it is the default item submission process, which gets used when      -->
 
<!-- the specified collection has no correspondingly named submit-process.-->
 
<!--                                                                      -->
 
<!-- Each submit-process contains an ordered set of steps; each step      -->
 
<!-- defines one "step" occurring during the process of submitting an    -->
 
<!-- item.  A step can either be reference by 'id' (in which case it must -->
 
<!-- be defined in <step-definitions> above), or defined completely here. -->
 
<!--                                                                      -->
 
<!-- If the step is not referred to by 'id', then the <step> REQUIRES the -->
 
<!-- following properties are defined:                                    -->
 
<!-- <processing-class> - The class which will process all information for-->
 
<!--            this step. The class must implement the                  -->
 
<!--            'org.dspace.app.webui.submit.JSPStep' interface AND      -->
 
<!--            extend 'org.dspace.submit.AbstractProcessingStep'        -->
 
<!--            (or one of the org.dspace.submit.step.* classes)        -->
 
<!--            This property should reference the full path of the class-->
 
<!--   (e.g. org.dspace.app.webui.submit.MyCustomJSPStep)       -->
 
<!--                                                                      -->
 
<!-- The following properties are OPTIONAL for each <step>:   -->
 
<!-- <heading> -    References the message key, from the   -->
 
<!--     Messages.properties file (JSP-UI) or messages.xml    -->
 
<!--                (XML-UI) which will be used as this step's heading in -->
 
<!--     the progress-bar.  If unspecified, the step does not  -->
 
<!--     show up in the Progress Bar.  Keys in the <heading>  -->
 
<!-- are prefixed as follows in the appropriate   -->
 
<!-- "messages" file:           -->
 
<!-- XML-UI:  "xmlui.Submission." prefix   -->
 
<!-- JSP-UI:  "jsp." prefix     -->
 
<!-- <jspui-binding> - JSP-UI binding step class which will generate the JSP-->
 
<!--                based user interface for this step.  The class must  -->
 
<!--                extend 'org.dspace.app.webui.submit.JSPStep'.        -->
 
<!--                This property should reference the full path of the  -->
 
<!--                class.  It is only necessary if you are using the    -->
 
<!--                DSpace JSP-UI, and the step requires user interaction-->
 
<!-- <xmlui-binding> - XML-UI binding step class which will generate the  -->
 
<!--                Manakin XML (DRI) structure for this step.  The class-->
 
<!--                must extend                                          -->
 
<!--                'org.dspace.app.xmlui.aspect.submission.StepTransformer'.-->
 
<!--                This property should reference the full path of the  -->
 
<!--                class.  It is only necessary if you are using the    -->
 
<!--                DSpace XML-UI, and the step requires user interaction-->
 
<!-- <workflow-editable> - whether or not this step will appear during the-->
 
<!-- "Edit Metadata" workflow approval process.  This field-->
 
<!-- defaults to TRUE (which means it can be edited during -->
 
<!-- the "Edit Metadata" workflow stage).  Set to either  -->
 
<!-- "true" or "false".                       -->
 
<!--                                                                      -->
 
<submission-definitions>
 
 
 
  <!--This "traditional" process defines the DEFAULT item submission process-->
 
  <submission-process name="traditional">
 
   
 
    <!--Uncommment to display the SAMPLE step as your first step-->
 
    <!--<step id="sample"/>-->
 
         
 
    <!--Step 1 will be to gather initial information-->
 
  <step>
 
    <heading>submit.progressbar.initial-questions</heading>
 
<processing-class>org.dspace.submit.step.InitialQuestionsStep</processing-class>
 
<jspui-binding>org.dspace.app.webui.submit.step.JSPInitialQuestionsStep</jspui-binding>     
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.InitialQuestionsStep</xmlui-binding>
 
    <workflow-editable>true</workflow-editable>
 
  </step>
 
 
<!--If you disable the initial questions step you should insert the -->
 
<!--SkipInitialQuestionsStep below, to enable proper processing of  -->
 
<!--input-forms configuration                                      -->
 
<!--
 
<step>
 
<processing-class>org.dspace.submit.step.SkipInitialQuestionsStep</processing-class>
 
</step>
 
    --> 
 
     
 
      <!--Step 2 will be to Describe the item.-->
 
 
       <step>
 
       <step>
 
         <heading>submit.progressbar.describe</heading>
 
         <heading>submit.progressbar.describe</heading>
 
         <processing-class>org.dspace.submit.step.DescribeStep</processing-class>
 
         <processing-class>org.dspace.submit.step.DescribeStep</processing-class>
        <jspui-binding>org.dspace.app.webui.submit.step.JSPDescribeStep</jspui-binding>
+
<jspui-binding>org.dspace.app.webui.submit.step.JSPDescribeStep</jspui-binding>
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.DescribeStep</xmlui-binding>
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.DescribeStep</xmlui-binding>
 
         <workflow-editable>true</workflow-editable>
 
         <workflow-editable>true</workflow-editable>
 
       </step>
 
       </step>
         
+
 
       <!--Step 3 will be to Upload the item-->
+
       <!--Step 2 will be to Upload the item -->
 
       <step>
 
       <step>
 
         <heading>submit.progressbar.upload</heading>
 
         <heading>submit.progressbar.upload</heading>
 
         <processing-class>org.dspace.submit.step.UploadStep</processing-class>
 
         <processing-class>org.dspace.submit.step.UploadStep</processing-class>
        <jspui-binding>org.dspace.app.webui.submit.step.JSPUploadStep</jspui-binding>
+
        <jspui-binding>org.dspace.app.webui.submit.step.JSPUploadStep</jspui-binding>
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.UploadStep</xmlui-binding>
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.UploadStep</xmlui-binding>
 
         <workflow-editable>true</workflow-editable>
 
         <workflow-editable>true</workflow-editable>
 
       </step>
 
       </step>
   
+
 
  <!--Step 4 will be to Verify/Review everything -->
+
      <!--Step 3 will be to Verify/Review everything -->
 
    <step>
 
    <step>
 
         <heading>submit.progressbar.verify</heading>
 
         <heading>submit.progressbar.verify</heading>
 
         <processing-class>org.dspace.submit.step.VerifyStep</processing-class>
 
         <processing-class>org.dspace.submit.step.VerifyStep</processing-class>
    <jspui-binding>org.dspace.app.webui.submit.step.JSPVerifyStep</jspui-binding>
+
        <jspui-binding>org.dspace.app.webui.submit.step.JSPVerifyStep</jspui-binding>
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.ReviewStep</xmlui-binding>
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.ReviewStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
+
<workflow-editable>true</workflow-editable>
 
       </step>
 
       </step>
   
+
 
       <!--Step 5 will be to Sign off on the License-->
+
       <!--Step 4 will be to Sign off on the License-->
 
       <step>
 
       <step>
 
         <heading>submit.progressbar.license</heading>
 
         <heading>submit.progressbar.license</heading>
 
         <processing-class>org.dspace.submit.step.LicenseStep</processing-class>
 
         <processing-class>org.dspace.submit.step.LicenseStep</processing-class>
        <jspui-binding>org.dspace.app.webui.submit.step.JSPLicenseStep</jspui-binding>
+
        <jspui-binding>org.dspace.app.webui.submit.step.JSPLicenseStep</jspui-binding>
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.LicenseStep</xmlui-binding>
 
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.LicenseStep</xmlui-binding>
<workflow-editable>false</workflow-editable>
+
<workflow-editable>false</workflow-editable>
 
       </step>
 
       </step>
 
      
 
      
 
   </submission-process>
 
   </submission-process>
 
</submission-definitions>
 
 
</item-submission>
 
</pre>
 
==Submission maps (submission2collection map)==
 
Information from the file for setting up submission maps.
 
<pre>
 
<!-- The process-map maps collection handles to a particular Item        -->
 
<!-- Submission Process.  This requires that a collection's name be      -->
 
<!-- unique, even within a community. DSpace does however insure that each-->
 
<!-- collection's handle is unique.  Process-map provides the means to    -->
 
<!-- associate a unique collection name with an Item Submission process.  -->
 
<!-- The process-map also provides the special handle "default" (which is -->
 
<!-- never a collection), here mapped to "traditional". Any collection    -->
 
<!-- which does not appear in this map will be associated with the mapping-->
 
<!-- for handle "default".
 
</pre>
 
For example:
 
<pre>
 
<submission-map>
 
<name-map collection-handle="123456789/1" submission-name="full" />
 
</submission-map>
 
</pre>
 
 
==Submission definitions (submission steps)==
 
This is where you define what steps are completed per submission per collection.
 
 
Information from the file for submission definitions (workflows). Tip: Copy an existing definition to create a new one with a new process of '''name'''.
 
<pre>
 
<!-- The submission-definitions map lays out the detailed definition of  -->
 
<!-- all the Item Submission Processes (and the ordering of their steps). -->
 
<!-- Each separate "submission-process" has a unique name as an attribute,-->
 
<!-- which matches one of the names in the process-map. One named        -->
 
<!-- "submit-process" has the name "traditional"; as this name suggests,  -->
 
<!-- it is the default item submission process, which gets used when      -->
 
<!-- the specified collection has no correspondingly named submit-process.-->
 
<!--                                                                      -->
 
<!-- Each submit-process contains an ordered set of steps; each step      -->
 
<!-- defines one "step" occurring during the process of submitting an    -->
 
<!-- item.  A step can either be reference by 'id' (in which case it must -->
 
<!-- be defined in <step-definitions> above), or defined completely here. -->
 
</pre>
 
For example, the "full" workflow.
 
<pre>
 
<submission-definitions>
 
<submission-process name="full">
 
        <step>
 
          ...
 
        </step>
 
</submission-process>
 
</submission-definitions>
 
 
</pre>
 
</pre>
 
+
[[Category:Customisation]]
Now you can customize the number of steps for the "full" workflow by editing the steps in the new submission process of name '''full'''.
 
 
 
'''<font color="red">Note: There must be a minimum of one step and a maximum of six steps.</font>'''
 
 
 
==Shared submission definitions (shared submission steps)==
 
Information from the file for "shared" step definitions for submission processes.
 
<pre>
 
<!-- The 'step-definitions' allows you to define steps which you may wish -->
 
<!-- to "share" amongst multiple submission-item definitions.  In order to-->
 
<!-- share the same step definition, you can refer to it by its unique id -->
 
<!-- defined in this section.  EVERY 'step' in this section MUST have a  -->
 
<!-- unique identifier in the 'id' attribute!                            -->
 
</pre>
 
 
 
{{NANO}}
 
 
 
'''[[SUNScholar/Asset Submissions|Back to Submissions]]'''
 

Latest revision as of 15:43, 29 May 2016

Back to Submissions

PLEASE NOTE:

There must be a minimum of one step and a maximum of six steps.

Introduction

First we map the custom steps to the collections which will use these custom steps and then we define the custom steps.

Step 1 - Define mapping of the custom steps

Edit the item-submission.xml file as follows:

nano $HOME/source/dspace/config/item-submission.xml

For example:

 <submission-map>
   <name-map collection-handle="default" submission-name="traditional" />
   <name-map collection-handle="99999.1/2170" submission-name="research" />
   <name-map collection-handle="99999.1/2171" submission-name="research" />
   <name-map collection-handle="99999.1/2172" submission-name="research" />
   <name-map collection-handle="99999.1/2173" submission-name="research" />
   <name-map collection-handle="99999.1/2174" submission-name="research" />
   <name-map collection-handle="99999.1/2175" submission-name="research" />
   <name-map collection-handle="99999.1/2176" submission-name="research" />
   <name-map collection-handle="99999.1/2177" submission-name="research" />
   <name-map collection-handle="99999.1/2178" submission-name="research" />
   <name-map collection-handle="99999.1/2179" submission-name="research" />
 </submission-map>

Step 2 - Define the custom steps

This is where you define what steps are completed per submission per collection.

Tip: Copy an existing definition to create a new one.

For example:

   <submission-process name="research">

      <step>
         <processing-class>org.dspace.submit.step.SkipInitialQuestionsStep</processing-class>
      </step>
 
      <!--Step 1 will be to Describe the item.-->
      <step>
        <heading>submit.progressbar.describe</heading>
        <processing-class>org.dspace.submit.step.DescribeStep</processing-class>
 		<jspui-binding>org.dspace.app.webui.submit.step.JSPDescribeStep</jspui-binding>
		<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.DescribeStep</xmlui-binding>
        <workflow-editable>true</workflow-editable>
      </step>

      <!--Step 2 will be to Upload the item -->
      <step>
        <heading>submit.progressbar.upload</heading>
        <processing-class>org.dspace.submit.step.UploadStep</processing-class>
        	<jspui-binding>org.dspace.app.webui.submit.step.JSPUploadStep</jspui-binding>
		<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.UploadStep</xmlui-binding>
        <workflow-editable>true</workflow-editable>
      </step>

      <!--Step 3 will be to Verify/Review everything -->
 	  <step>
        <heading>submit.progressbar.verify</heading>
        <processing-class>org.dspace.submit.step.VerifyStep</processing-class>
        	<jspui-binding>org.dspace.app.webui.submit.step.JSPVerifyStep</jspui-binding>
		<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.ReviewStep</xmlui-binding>
	<workflow-editable>true</workflow-editable>
      </step>

      <!--Step 4 will be to Sign off on the License-->
      <step>
        <heading>submit.progressbar.license</heading>
        <processing-class>org.dspace.submit.step.LicenseStep</processing-class>
        	<jspui-binding>org.dspace.app.webui.submit.step.JSPLicenseStep</jspui-binding>
		<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.LicenseStep</xmlui-binding>
	<workflow-editable>false</workflow-editable>
      </step>
     
   </submission-process>