XML Form Builder - Islandora

Transcription

XML Form BuilderThe Metadata Editor’s Editor

What’s Metadata?Metadata is the data about other data. No specific format (Binary, JSON, XML) Contextualizes data It’s kinda of a big deal

Types of MetadataType of MetadataFunction SupportedSchema ExamplesDescriptiveResource Discovery; Selection; AccessDC: creator, title, subjectMODS: namePart, title, topicDarwinCore: scientificNamePreservationResource ManagementFITS/FOXML: mimetypeExiftool: scannerModelName, ApertureValueFITS/FOXML: checksumsPREMIS: contentLocationTypeProvenanceLifecycle management; AuthenticationFOXML: audit:responsibilityDC: sourceMODS: note type "ownership"DC: date, relationMODS: dateIssued, dateCaptured, relatedItemContextualAwareness; Comprehension;InterpretationTechnicalUse; Access; Resource ManagementJhove: imageWidthJhove: sizeRights ManagementAccess; Reproduction; Use/Re-useDC: rightsMODS: accessionConditionMETSRights

Metadata Standards Visualizing StandardsLibrary of CongressWikipediaJISC

Why use a metadata standard ? Decisions made for you Support from a wider community Interoperability between your data andothers Leverage existing tools data dictionaries Digital Library Federation/Aquifer Implementation Guidelines forShareable MODS Recordsdata extraction and transformation tools .html

10/1/1991ca. June 10, 1901ca. 1920.(ca). June 19, 1901)(ca). 1920)Scanned and Processed: 1998-06 012001.06.08 by CAD[between 1904 and 1908]Unknown[ca. 1967]18531918?c1875191-?c1908 November 191870 December, c1871[2001 or 2002]1920, 1921, 1922, 1923, 1924,1925, 1926, 1927, 1928, 1929[1919?]th20centuryHalloween 1975IIIrd century A.D. (not before 237 A.D.)PEI’s centennialJanuary-February, 200 A.D.1926 Web site: 7/25/02Series 1871 ca. 1871

What is the XML Form Builder? A tool for creating/storing HTML forms thatcan create/manipulate XML Documents. A low level API for processing FormDefinitions. A GUI build with Ext-JS that aids in creatingForm Definitions.

XML Form Builder Features MODSPBCoreFGDCMADSLIDODarwin CoreDublin CoreEAC-CPFYours!etc.Works with most standards, wanna share?Will work with custom standards.Highly configurableForms are portableSafeBuilt upon the existing Drupal Form API

What the XML Form Builder is not Particularly user friendly Simple Intuitive

How to use the FormBuilder

By Way of the XPathForm definitions are essentially about XPath.ExamplesCheat SheetA good tool to help you work with XML XSLT'sand XPath is Oxygen!

CRUD RulesCreate / Read / Update / DeleteThe form treats each field in the form as apotential action.XPaths describe where the action will takeplace in the XML Document.

CRUD (Read)Populates the form with data from an XMLdocument. Performed before displaying the form Remembers what was read for later: Updating or Deletion (self::)

CRUD (Update)If Read was successful.andIf the element/attribute exists.After the form is submitted:We use the value in the form field to updated theelement/attribute selected.

CRUD (Delete)If Read was successful.andIf the form field was removed from the form.After the form is submitted:We Delete the element/attribute selected.

CRUD (Create)If Read was failed.andIf the parent XML element exists.After the form is submitted:We create the new element/attribute andappend it to the parent XML element.

CRUD (Create) Options Attribute eg. name type "personal" Joe /name Element eg. genre book /genre XML: Snippets and the use of %value% eg. typeOfResource collecton ”yes” %value% /typeOfResource

CRUD (Create, Read, Update, Delete)

Create a DC Collection FormLets create a DC form for the CollectionContent ModelYou can also download the formhttp://bit.ly/IfDcXM

Guidance DocumentsA well formed DC collection type ods.htmlDublin Core Metadata Element Set, Version1.1http://dublincore.org/documents/dces/

Add Form Properties

Form Propertiesroot element oai dc:dcnamespace uri http://www.openarchives.org/OAI/2.0/oai dc/namespacesoai dc http://www.openarchives.org/OAI/2.0/oai dc/xsi http://www.w3.org/2001/XMLSchema-instancedc http://purl.org/dc/elements/1.1/

Root element

Add dc:title element

Add dc:title element

That’s the pattern we’ll follow.1. copy the title element we just created2. Select the Root element3. Select Paste and then update theelement information.

Save & Preview

Enter test data.

Now add a dc:type element. It is acontrolled vocabulary so we’ll add that as aSelect form element. Get the terms fromhttp://dublincore.org/usage/terms/dcmitype/#H7 .

DC Types ngImagePhysicalObjectServiceSoftwareSelect Add, then create theValue and Label for each type.Select Update after addingeach type. If you start with thelast term first it saves onhaving to sort the terms.

Your record can have multiple types you can use tab panels.Tabs Read

Tab Panels Create Read Delete

Text Field Read Update

Associate the form

Go edit a Collection Object

Using Markup with Forms

Renders this

Form building Best Practices! Prefer Parent context for both Createand Read. Prefer Self context for Update andDelete. Have the hierarchy of form fieldsmatch the XML document it creates.

Debugging ErrorsWatchdog log http://192.168.56.195/#overlay admin/reports/dblogYour apache log

Drupal Form API (Form Controls)Drupal !forms api reference.html/7

Questions?

What is the XML Form Builder? A tool for creating/storing HTML forms that can create/manipulate XML Documents. A low level API for processing Form Definitions. A GUI build with Ext-JS