Difference between revisions of "SUNScholar/Submissions/Steps"

From Libopedia
Jump to navigation Jump to search
Line 9: Line 9:
 
Edit the '''item-submission.xml''' file as follows:
 
Edit the '''item-submission.xml''' file as follows:
 
  nano $HOME/<u>[[SUNScholar/Install_DSpace/S03#Step_3.2|source]]</u>/dspace/config/item-submission.xml
 
  nano $HOME/<u>[[SUNScholar/Install_DSpace/S03#Step_3.2|source]]</u>/dspace/config/item-submission.xml
 
<pre>
 
<!-- This XML configuration file allows you to configure the ordering    -->
 
<!-- and number of the steps that occur in the Item Submission Process.  -->
 
</pre>
 
  
 
==Map submission steps to collections==
 
==Map submission steps to collections==

Revision as of 11:37, 4 March 2015

Back to Submissions

Introduction

First we define the custom steps and then we map the custom steps to the collections which will use these 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

Map submission steps to collections

Information from the file for setting up submission maps.

<!-- 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".

For example:

<submission-map>
 <name-map collection-handle="123456789/1" submission-name="full" />
</submission-map>

Submission steps per mapped collections

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.

 <!-- 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. -->

For example, the "full" workflow.

<submission-definitions>
 <submission-process name="full">
        <step>
          ...
        </step>
 </submission-process>
</submission-definitions>

Now you can customize the number of steps for the "full" workflow by editing the steps in the new submission process of name full.

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

Shared submission definitions (shared submission steps)

Information from the file for "shared" step definitions for submission processes.

 <!-- 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!                             -->

NANO Editor Help
CTL+O = Save the file and then press Enter
CTL+X = Exit "nano"
CTL+K = Delete line
CTL+U = Undelete line
CTL+W = Search for %%string%%
CTL+\ = Search for %%string%% and replace with $$string$$
CTL+C = Show line numbers

More info = http://en.wikipedia.org/wiki/Nano_(text_editor)


Example

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE item-submission SYSTEM "item-submission.dtd">

<!-- Configurable Submission configuration file  -->

<!-- This XML configuration file allows you to configure the ordering     -->
<!-- and number of the steps that occur in the Item Submission Process.   -->
<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>
   <name-map collection-handle="default" submission-name="traditional" />
 </submission-map>

 <!-- 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!                             -->
 <!--                                                                      -->
 <!-- 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>
        <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 3 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 4 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 5 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>

 </submission-definitions>

</item-submission>