Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Under “Metadata Datastream ID” put in the DSID of the Datastream where your content model stores its rich metadata (not the DC Datastream). You must use the existing DSID prescribed in your content model (e.g., MODS, MARCXML, etc.), or this metadata will not appear in your collection objects. If you do not know what the correct DSID is for rich metadata in your content model, please review the documentation for the relevant content model. When you have entered the DSID for the Datastream where you want your form’s information to be stored, select the “Form Name” from the drop-down menu. , click "select" in the “Title Field.”

When you do this, you will notice that there is a change in the “Title Field” drop-down menu. Islandora populates this drop-down field with the elements in your form, so that you can choose which element will serve as the source for the object’s label. Most of the time, you will likely want the object's label to come from the “Title” element. This label can be manually edited after ingest if ever necessary.

...

The next two options require a little bit more explanation: 

When you select an xsl transform, you are selecting the transformation .xslt file that lslandora will use to crosswalk your metadata The "XSL Transform" file you choose is used by lslandora to crosswalk the schema of your rich metadata XML to Islandora’s default DC stream. This means that this will always be a .xsl that transforms your schema to DC. In this case, where you are cloning a form, you will want to select the default xsl for your content model. This information is provided in the Solution Pack section of your document. (For more information about Islandora’s use of .xslts, please review the “Islandora and Metadata” section of the guide. XSLT are called from a folder within islandora_content_model_forms (in the XML Forms modules). In this case, where you are cloning a form, you will want to select the default xsl for your content model. This information is provided in the Solution Pack section of your document. islandora_content_model_forms (in the XML Forms modules).

The “Template Document” is a feature that allows you to submit a form with fields already completed. Usually, this will be a form that you have created by hand in an XML editor. It is not obligatory. 

Click “Add Association.” Now, whenever you create an object in a collection that is affiliated associated with the content model you have used here, you will see your new form as an option to select in the drop down menu.

...

The following section presumes that you are using the Virtual Machine Image or are visiting http://sandbox.islandora.ca OR that you have installed and configured the XML Forms module, and that you have a basic knowledge of XpathXPath and understand metadata schemas. For an overview of how Islandora handles descriptive metadata, read Chapter 13 - Descriptive Metadata and Islandora. This section will discuss how to create a new form using the Islandora Form Builder.

...

Adding form fields

Some schema require specify that elements appear in a certain order (an order-based schema), that certain elements be are required or not, that some only certain elements are repeatable and others not, or that whether and how elements can be nested. Refer to your schema documentation and to the any guidance it offers in the creation of records based on the schema. For In the schema we are using in this tutorial, Simple Dublin Core, each of the fifteen elements is optional and may be repeated, but no nesting is allowed. We will create a simple form for this exercise that utilizes several Dublin Core elements. Let’s create a table listing the elementselement names, the element form field labels, the type types of elementform fields, the content of the elementelements, and whether they are repeatable. We’ll use this information when adding elements fields to our form.

Element

Label

Type

Content

Repeatable

title

Title

textfield

The title of the work.

no

creator

Creator(s)

tags/tag

The creator(s) of the work.

yes

description

Description

textarea

A description of the work.

no

type

Type

select

A controlled list of terms 

no

date

Date

datepicker

The date the work was issued or published.

no

subject

Subject(s)

tags/tag

The topic of the work.

yes

rights

Rights

textarea

Information about rights held in and over the resource.

no

...

Adding a textfield type form field - the dc:title element

We can use the information in our table to fill out the "Element Form" pane. We can start with the title element.

In this part of the form you can enter values for Identifier, Type, Title, Description, Default Value, and Required. These can be defined as follows:

Identifier: Identifies An ID for this form field. It is the Drupal form array key for this element. Typically you would just enter the name of the element you are describing.

Type: Used to determine the type of form field. The form field type for this field (textfield, textarea, select, etc.)

Title: The label of the form field as it appears on your form. Typically you would just enter the name of the element you are describing.

Description: The description of the form fieldelement that this Element Form is about.

Default Value: The value of the form field that will be displayed or selected initially to be display or selected initially for this element if the form has not been submitted yet.

Required: Indicates whether or not the element is required. This automatically validates for empty fields, and flags inputs as required. Fields with a type Type of "file" are not allowed to be required.

...

The rest of the form deals with where each element is created, read, updated, and deleted in the XML tree. This is where it would be useful to understand how XML works and to have a basic understanding of XPATHXPath.

Reviewing our OAI DC XML sample record we can determine the location/context of the title element.

Code Block
languagehtml/xml
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" 
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/
[http://www.openarchives.org/OAI/2.0/oai_dc.xsd]">
<dc:title>Pioneer days & shanty ways</dc:title>

The full XPATH XPath in this XML document for the dc:title element would be:

Code Block
/oai_dc:dc/dc:title

where /oai_dc:dc is the parent element and dc:title is the child element. The Create dialogue is where we enter the information needed for creating an element in our form. We’ll be entering information into the Path Context, Path, Type, and Value properties in our example. If you had an order-based schema, you would also fill in the Schema field. Here are some definitions for each of those properties:

Path Context: the context in at which the path XPath action with be executed in.

  • document - the XPath query is run from the root element of the document
  • parent - the XPath query is run from the node created/read by its parent’s form field
  • self - only applies to Delete and Update actions and applies to the node selected by the Read action.

Path: An XPath to this element’s parent object. This is used to determine whether where this element is inserted.

...

Type: The type of node that will be created. If XML is specified, an XML snippet is expected in the value Value field.

Value: If the type Type is either Element or Attribute, "element" or "attribute," the name of the element or attribute is expected here. If the type Type is "XML," an XML snippet is expected in which %value% indicates where the value of the form field will be inserted whereever the string %value% is used in the XML snippet.

Review the image below and think about how your other OAI DC elements will be created based on this pattern.

...

Adding a textarea type form field - the dc:description element

For element The "textarea type" of form field should be used for elements that require a description or that contain a large amount of text, the textarea type form field is used.

Adding a select type form field - the dc:type element

...