Difference between revisions of "SUNScholar/Submissions/Steps"
m (Text replacement - "/home/dspace" to "$HOME") |
m |
||
| Line 2: | Line 2: | ||
'''[[SUNScholar/Submission System|Back to Submissions]]''' | '''[[SUNScholar/Submission System|Back to Submissions]]''' | ||
</center> | </center> | ||
| + | |||
| + | ===Introduction=== | ||
| + | First we define the custom steps and then we map the custom steps to the collections which will use these custom steps. | ||
==Edit "item-submission.xml"== | ==Edit "item-submission.xml"== | ||
Revision as of 11:35, 4 March 2015
Back to Submissions
Contents
Introduction
First we define the custom steps and then we map the custom steps to the collections which will use these custom steps.
Edit "item-submission.xml"
Go to the source folder by typing as follows:
cd $HOME/source/dspace/config
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 --> <!-- and number of the steps that occur in the Item Submission Process. -->
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.
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>