Versions Compared

Key

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

...

Code Block
languagehtml/xml
<input-forms>

    <--  Map of Collections to Form Sets -->
    <form-map>
        <name-map collection-handle="default" form-name="traditional"
	 />
        ...
    </form-map>

    <--  Form Set Definitions -->
    <form-definitions>
        <form name="traditional">
            ...
        </form>
        ...
    </form-definitions>

    <--  Name/Value Pairs used within Multiple Choice Widgets
	 -->
    <form-value-pairs>
        <value-pairs value-pairs-name="common_iso_languages"
	 dc-term="language_iso">
            ...
        </value-pairs>
        ...
    </form-value-pairs>
</input-forms>

...

Code Block
languagehtml/xml
    <form-map>
        <name-map collection-handle=" 12345.6789/42" form-name=" TechRpt"/>
        ...
    </form-map>
    
    <form-definitions>
        <form name="TechRept">
        ...
    </form-definitions>

It's a good idea to keep the definition of the default name-map from the example input-forms.xml so there is always a default for collections which do not have a custom form set.

...

The taxonomies are described in XML following this (very simple) structure:

Code Block
languagehtml/xml
<node id="acmccs98" label="ACMCCS98">

...


    <isComposedBy>
        <node id="A." label="General Literature">

...


            <isComposedBy>
                <node id="A.0" label="GENERAL"/

...

>
                <node id="A.1" label="INTRODUCTORY AND SURVEY"/>

...


                ...

...


            </isComposedBy>

...


        </node>

...


        ...

...


    </isComposedBy>

...


</node>

Your You are free to use any application you want to create your controlled vocabularies. A simple text editor should be enough for small projects. Bigger projects will require more complex tools. You may use Protegé to create your taxonomies, save them as OWL and then use a XML Stylesheet (XSLT) to transform your documents to the appropriate format. Future enhancements to this add-on should make it compatible with standard schemas such as OWL or RDF.

...

Vocabularies need to be associated with the correspondant DC metadata fields. Edit the file [dspace]/config/input-forms.xml and place a "vocabulary" tag under the "field" element that you want to control. Set value of the "vocabulary" element to the name of the file that contains the vocabulary, leaving out the extension (the add-on will only load files with extension "*.xml"). For example:

Code Block
languagehtml/xml
<field>

...


    <dc-schema>dc</dc-schema>

...


    <dc-element>subject</dc-element>

...


    <dc-qualifier></dc-qualifier>

...


    <repeatable>true</repeatable>

...


    <label>Subject Keywords</label>

...


    <input-type>onebox</input-type>

...


    <hint>Enter appropriate subject keywords or phrases below.</hint>

...


    <required></required>

...


    <vocabulary>srsc</vocabulary>

...


</field>

The vocabulary element has an optional boolean attribute closed that can be used to force input only with the javascript Javascript of controlled-vocabulary add-on. The default behaviour (i.e. without this attribute) is as set closed="false". This allow the user also to enter the value in free way.

...

Here is a menu of types of common identifiers:

Code Block
languagehtml/xml
<value-pairs value-pairs-name="common_identifiers" dc-term="identifier">
     <pair>
        <displayed-value>Gov't Doc #</displayed-value>
        <stored-value>govdoc</stored-value>
     </pair>
     <pair>
        <displayed-value>URI</displayed-value>
        <stored-value>uri</stored-value>
     </pair>
     <pair>
        <displayed-value>ISBN</displayed-value>
        <stored-value>isbn</stored-value>
     </pair>
   </value-pairs>

It generates the following HTML, which results in the menu widget below. (Note that there is no way to indicate a default choice in the custom input XML, so it cannot generate the HTML SELECTED attribute to mark one of the options as a pre-selected default.)

Code Block
languagehtml/xml
<select name="identifier_qualifier_0">
    <option VALUE="govdoc">Gov't Doc #</option>
    <option VALUE="uri">URI</option>
    <option VALUE="isbn">ISBN</option>
</select>

...

  1. Create the required Step Processing class, which extends the abstract org.dspace.submit.AbstractProcessingStep class. In this class add any processing which this step will perform.
  2. Add your non-interactive step to your item-submission.xml at the place where you wish this step to be called during the submission process. For example, if you want it to be called immediately after the existing 'Upload File' step, then place its configuration immediately after the configuration for that 'Upload File' step. The configuration should look similar to the following:
Code Block
languagehtml/xml
<step>
    <processing-class>org.dspace.submit.step.MyNonInteractiveStep</processing-class>
    <workflow-editable>false</workflow-editable>
</step>

...