Extended metadata oc 2015

Preview:

Citation preview

Extended MetadataManchester Opencast Conference 2015

Christoph Drießen christoph@entwinemedia.com

for the open minded

– for the open minded

What is metadata?

Enrich artifacts with structured informationtitle, author, date, ... Software components needed to make use of itvideo portal, admin UI, cover image generator, ...

– for the open minded

Metadata in Matterhorn

Adopts DublinCore standardOrdered name/value pairs with optional language and type annotation Metadata is organised in catalogs

Completely arbitrary metadata possibleThrough attachments but lacks common support

– for the open minded

What is extended metadata?

Extended metadata <=> custom metadata

Metadata semantically not covered by the DublinCore standard

– for the open minded

Extended metadata examples

Organisation specific metadata- Internal IDs and references- Links to associated resources- ...

Technical metadata - Metadata not meant for human consumption - Processing instructions- Visibility instructions- ...

– for the open minded

Use of metadata

Display

Searching & querying

ProcessingRequires software components DisseminationOAI-PMH, ...

– for the open minded

Getting metadata into Matterhorn

As an arbitrary attachment or catalog

Via the new Admin UI!

– for the open minded

Metadata challenges

No standardised set of metadata

No standardised value formatsDates, names, spatial information, ...

→ Generic editing capabilities

→ Generic search capabilities not yet available!

First name, Last name Position

for the open mindedfor the open minded

01

Extended metadata and the new Admin

– for the open minded

Overview

Extended metadata conforms to DublinCore standard for metadata representation

Defined by config file per metadata setmetadata set <=> catalog Viewing & editing per episode and series

Currently not searchable

– for the open minded

Roll your own

config file

load/ directory

view & edit

– for the open minded

Metadata set config fileorg.opencastproject.ui.metadata.CatalogUIAdapterFactory-catalog-name.cfg

Standard .properties format

Place in load/ directory of Matterhorn

– for the open minded

What's configurable?

series or episode multi-tenancy namespaces

read-only required

data types resulting in different UI elements

controlled vocabulary via ResourceListProviders

order definition

customisable date and time formats

– for the open minded

Example config file# The catalog type, either 'events' or 'series'type=events# The tenants organizationorganization=mh_default_org# The mediapackage element flavor type and subtype# Anything can be used instead of "mycompany", for example "metadata", "client", etc.# Note: The flavor should not contain any special character!flavor=ethterms/episode# The title of the catalog# This will show in the header of the section where the metadata are displayedtitle=ETH Extended Metadata# Name of the XML root element of the serialized catalogxml.rootElement.name=ethterms# Namespace binding for the XML root elementxml.rootElement.namespace.URI=http://ethz.ch/video/opencast# XML namespace bindingsxml.namespaceBinding.root.URI=http://ethz.ch/video/opencastxml.namespaceBinding.root.prefix= xml.namespaceBinding.terms.URI=http://ethz.ch/video/metadataxml.namespaceBinding.terms.prefix=ethterms

– for the open minded

Example config file, continued##### Field Definitions ###### Accessibility Descriptionproperty.accessibilityDescription.inputID=accessibilityDescriptionproperty.accessibilityDescription.label=Accessibility Descriptionproperty.accessibilityDescription.type=textproperty.accessibilityDescription.readOnly=falseproperty.accessibilityDescription.required=falseproperty.accessibilityDescription.namespace=http://ethz.ch/video/metadataproperty.accessibilityDescription.order=1 # Orderproperty.order.inputID=orderproperty.order.label=Orderproperty.order.type=textproperty.order.readOnly=falseproperty.order.required=falseproperty.order.namespace=http://ethz.ch/video/metadataproperty.order.order=2 # Ownerproperty.owner.inputID=ownerproperty.owner.label=Ownerproperty.owner.type=textproperty.owner.readOnly=falseproperty.owner.required=falseproperty.owner.namespace=http://ethz.ch/video/metadataproperty.owner.order=3

– for the open minded

Controlled vocabulary

Vocabulary provided by ResourceListProvidersOSGi component Rendered as drop down or labelssingle or multiple values Vocabulary may be static or dynamic

– for the open minded

Controlled vocabulary

Vocabulary provided by ResourceListProvidersOSGi component Rendered as drop down or labelssingle or multiple values Vocabulary may be static or dynamic

# Seriesproperty.series.inputID=isPartOfproperty.series.label=EVENTS.EVENTS.DETAILS.METADATA.SERIESproperty.series.type=textproperty.series.readOnly=falseproperty.series.required=falseproperty.series.listprovider=SERIESproperty.series.order=6

– for the open minded

Controlled vocabulary

Vocabulary provided by ResourceListProvidersOSGi component Rendered as drop down or labelssingle or multiple values Vocabulary may be static or dynamic

AclListProvider AgentsListProvider

BlacklistsListProvider CommentsListProvider

ContributorsListProvider EmailListProvider

EventsListProvider GroupsListProvider JobsListProvider

LanguagesListProvider ParticipationListProvider

RolesListProvider SeriesListProvider

ServersListProvider ServicesListProvider

SingleResourceListProvider ThemesListProvider UsersListProvider

WorkflowsListProvider

– for the open minded

Data types

Affect backend processing Date parsing, property generation, ... Affect UI input element

Extendable Frontend and backend work required

– for the open minded

Data types

Affect backend processing Date parsing, property generation, ... Affect UI input element

Extendable Frontend and backend work required

text text_long iterable_text mixed_text boolean

date start_date start_time duration

– for the open minded

Pattern suitable for Java's DateTimeFormatter

Date & time format

# Createdproperty.created.inputID=createdproperty.created.label=EVENTS.EVENTS.DETAILS.METADATA.CREATEDproperty.created.type=dateproperty.created.readOnly=trueproperty.created.required=falseproperty.created.pattern=yyyy-MM-dd'T'HH:mm:ss'Z'property.created.order=15

– for the open minded

Summary

New Admin UI features viewing and editing capabilities for customisable metadata sets

Available since Matterhorn 2.0

Live demo instance @ https://opencast.entwinemedia.com/

Documentation is about to come ;-)

– for the open minded

Questions?

Thanks for your attention!

christoph@entwinemedia.com

Recommended