Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

Files:

  • [dspace]/config/input-forms.xml

Instructions:

  1. This XML file contains form definitions, each contained within its own
    <form> element. Each <form> element contains <page> elements that represent single pages of input. Each <page> element contains <field> elements with instructions for creating the fields on that page. This structure is mocked up below, for a single form with a single page.

    <form-definitions>
      <form name="traditional">
        <page number="1">
          <field>...</field>
        </page>
      </form>
    </form-definitions>
    
  2. The default form has a name attribute whose value is "traditional". To change all submission forms throughout DSpace, edit the XML inside this form.
  3. To change a submission form for a specific collection, add a new <form> element with a new and unique collection-related value for the name attribute. (You can copy the XML from the default and edit as desired, as long as you change the name attribute value.)
    • Once you've created your new <form> element, you will have to map it to your specific collection using the <form-map> section at the top of the XML:

      <form-map>
        <name-map collection-handle="default" form-name="traditional"/>
      </form-map>
      
    • You'll need to create a new <name-map> element to "map" your collection's handle to the new <form> you just created.
  4. Create all appropriate <page> elements, numbering them sequentially starting from 1 in the number attribute. Within them, add individual <field> elements according to this template:

    <field>
      <dc-schema>dc</dc-schema>
      <dc-element>identifier</dc-element>
      <dc-qualifier>citation</dc-qualifier>
      <repeatable>false</repeatable>
      <label>Citation</label>
      <input-type>onebox</input-type>
      <hint>Enter the standard citation for the previously issued instance of this item.</hint>
      <required></required>
      <vocabulary></vocabulary>
    </field>
    
  5. Stop and restart Tomcat (See Quick Restart in Rebuild DSpace).

Notes:

  • The <required> element contains the textual hint displayed to the submitter about why the field is required. Remove the tag to transform field to optional.
  • The <vocabulary> element is optional. It allows you to specify the controlled vocabulary (see Use Controlled Vocabularies for more information) that this field should select its values from. This field also has an optional closed attribute. If closed is set to true, a user can only select values from the controlled vocabulary. By default, closed is set to false, which allows a user to also enter in free text if he/she chooses. For example:

    <vocabulary closed="true">srsc</vocabulary>
    
  • The name of the controlled vocabulary must correspond to the name of the XML file (without ".xml") which contains the vocabulary. So, in the above example, srsc references the vocabulary specified in the file located at [dspace]/config/controlled-vocabularies/srsc.xml
  • Valid input types (for <input-type>) are:
    • "date"
    • "name" (two text boxes, labeled last and first name)
    • "onebox" (a one-line textbox)
    • "twobox" (two textboxes on a single line)
    • "dropdown" (for which you must specify a value-pairs-name attribute referring to the <value-pairs> list of allowed values, see Change a form value)
    • "qualdrop_value" (a textbox, which is preceded by a "qualifying" dropdown of values. Requires a value-pairs-name attribute, similar to "dropdown". Also requires <repeatable> is set to "true")
    • "textarea"
  • Setting the <repeatable> element to "true" creates an "Add more" button, which allows you to add multiple values into that particular field. Examples of this include the authors and keywords fields in the standard DSpace submission process.