Versions Compared

Key

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

...

The [dspace]/config/item-submission.xml contains the submission configurations for both the DSpace JSP user interface (JSPUI) or the DSpace XML user interface (XMLUI or Manakin)UI. This configuration file contains detailed documentation within the file itself, which should help you better understand how to best utilize it.

The Structure of item-submission.xml

Code Block
languagehtml/xml
<item-submission>
	<!-- Where submission processes are mapped to specific Collections -->
	<submission-map>
	<name-map collection-handle="default" submission-name="traditional" /> ...
	</submission-map>
	<!-- Where "steps" which are used across many submission processes can be defined in a
	   single place. They can then be referred to by ID later. -->
	<step-definitions>
	<step id="collection">
	<processing-class>org.dspace.submit.step.SelectCollectionStep</process;/processing-class>
	<workflow-editable>false</workflow-editable>
	</step>
		...
	</step-definitions>
	<!-- Where actual submission processes are defined and given names. Each <submission-process> has
	   many <step> nodes which are in the order that the steps should be in.-->
	<submission-definitions> <submission-process name="traditional">
	    ...
	<!-- Step definitions appear here! -->
	</submission-process>
	    ...
	</submission-definitions>
	</item-submission>

Because this file is in XML format, you should be familiar with XML before editing this file. By default, this file contains the "traditional" Item Submission Process for DSpace, which consists of the following Steps (in this order):

Select Collection -> Describe -> Upload -> Verify -> License -> Complete

If you would like to customize the steps used or the ordering of the steps, you can do so within the <submission-definition> section of the item-submission.xml .

In addition, you may also specify different Submission Processes for different DSpace Collections. This can be done in the <submission-map> section. The item-submission.xml file itself documents the syntax required to perform these configuration changes.

Defining Steps (<step>) within the item-submission.xml

This section describes how Steps of the Submission Process are defined within the item-submission.xml.

Where to place your <step> definitions

<step> definitions can appear in one of two places within the item-submission.xml configuration file.

...

Note
titleThe structure of this file changed slightly in DSpace 7

As of DSpace 7, the following structural changes were made to this file:

  • Step definitions under <step-definitions> now use the <step-definition> tag (previously, in 6.x, the tag was named <step>)
  • Every step definition now needs to be defined under <step-definitions> (previously, in 6.x, you could also define them in <submission-process>), and have a unique ID
  • Each <step-definition> now only represents a single "section" of the Submission UI. (previously, in 6.x, some steps like Describe represented multiple pages)
  • An attribute "mandatory=[true|false]" was added to the <step> element. When true, that section is always displayed to the user. When false, it's not displayed by default, but instead must be activated explicitly by the user by choosing to add the section in the Submission UI.
  • The old <workflow-editable> element has been replaced with a <scope> element which defines when/how this <step> should be displayed. 


Because this file is in XML format, you should be familiar with XML before editing this file. By default, this file contains the "traditional" Item Submission Process for DSpace, which consists of the following Steps (in this order):

Select Collection -> Describe (two steps) -> Upload -> License -> Complete

If you would like to customize the steps used or the ordering of the steps, you can do so within the <submission-definition> section of the item-submission.xml .

In addition, you may also specify different Submission Processes for different DSpace Collections. This can be done in the <submission-map> section. The item-submission.xml file itself documents the syntax required to perform these configuration changes.

Defining Steps (<step>) within the item-submission.xml

This section describes how Steps of the Submission Process are defined within the item-submission.xml.

Where to place your <step-definition> definitions

The <step-definition> always appear within the <step-definitions> section of the item-submission.xml configuration file.

  • This section allows all <step> definitions to be defined globally (i.e. so they may be used in multiple <submission-process> definitions). Steps defined in this section must define a unique id which can be used to reference this step.
  • For example

...

For example:

Code Block
languagehtml/xml
<step-definitions>
	<step id="custom-step">
	   ...
	</step>
	...
</step-definitions>

...

For example:

Code Block
languagehtml/xml
<submission-process>
	<step>
	   ...
	</step>
</submission-process>

The ordering of <step> definitions matters!

The ordering of the <step> tags within a <submission-process> definition directly corresponds to the order in which those steps will appear!

...

  • :

    Code Block
    languagehtml/xml

...

  • <step-definitions>
    	<step-definition id="custom-step">
    	   ...
    	</step>
    	...
    </step-definitions>


  • The above step definition could then be referenced from within a <submission-process> as simply <step id="custom-step"/>


The ordering of <step> definitions matters!

The ordering of the <step> tags within a <submission-process> definition directly corresponds to the order in which those steps will appear!

For example, the following defines a Submission Process where the License step directly precedes the Describe step (more information about the structure of the information under each <step> tag can be found in the section on Structure of the <step> Definition below):

Code Block
languagehtml/xml
<submission-process>
    <!--Step 1 will be to Sign off on the License-->
    <step id="license"/>

    <!--Step 2 & 3 will be to ask for metadata--> 
    <step id="traditionalpageone"/>
    <step id="traditionalpagetwo"/>
process>
    <!--Step 1 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>
	<!--Step 2 will be to Ask Initial Questions-->
	<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>
	...[other steps]...
</submission-process>

Structure of the <step> Definition

...

</submission-process>

Structure of the <step> Definition

The structure of the <step> Definition is as follows:

Code Block
languagehtml/xml
<step>
	<step-definition id="traditionalpageone" mandatory="true">
    <heading>submit.progressbar.describe<describe.stepone</heading>
	    <processing-class>org.dspace.submit.step.DescribeStep</processing--class>
	<jspui-binding>org.dspace.app.webuirest.submit.step.JSPDescribeStep</jspui-binding>
	<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.DescribeStep</xmluiprocessing-binding>
	<workflow-editable>true</workflow-editable>class>
    <type>submission-form</type>
</step>step-definition>

Each step contains the following elements. The required elements are so marked:

...