Top Banner
MediaMosa A Drupal Distribution for Digital Asset Management Michel van de Ven (uid 28913) MediaMosa Project Management Committee http://mediamosa.org
26

Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Aug 10, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

MediaMosaA Drupal Distribution for

Digital Asset ManagementMichel van de Ven (uid 28913)

MediaMosa Project Management Committeehttp://mediamosa.org

Page 2: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management
Page 3: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

MediaMosa 101

● MediaMosa is built with Drupal (7)● MediaMosa is a

○ Digital Asset Management System (DAM)○ Media Asset Management System (MAM)○ Video Distribution System○ Document Management System

● Generic distributed database with metadata● MediaMosa is a back-end (!)

Page 4: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

● Storage and retrieval of any digital asset● Metadata functionality for any digital asset● Native functionality for specific content

types:○ video: transcoding, transcription, players○ audio: transcoding, transcription, players○ images: simple conversions○ pdf: pdf2swf, viewer

MediaMosa is a DAM

Page 5: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Assets, Mediafiles and Collections An asset in MediaMosa is an object with

● Standardised Metadata ● A collection of original mediafiles with technical metadata● Transcoded / derived mediafiles with technical metadata

...

Asset Metadata

Original mediafile

Original mediafile

transcoded file transcoded file transcoded file

techn. Metadata

techn. Metadata

Page 6: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Metadata Formats

● Supported standards:○ Dublin Core: video, images, web pages, and

physical resources such as books and objects like artworks

○ Qualified Dublin Core: refined and expanded DC○ IEEE LOM: Learning Object Metadata○ MAWG: W3C Ontology for Media Resources 1.0○ CZP: local Dutch standard, deprecated

● New metadata formats can be added

Page 7: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Authentication

● MediaMosa authenticates applications, not users (!)

● DBUS protocol used to establish trust between front-end and back-end

● Challenge-Response with hashing, no encrypted link necessary

● Handshake yields cookie that allows APIs to be called

MediaMosa

Application ID

Context + CookieID + ServerChallenge

Challenge + sha1(ServerChallenge + Challenge + cookie)

Server can compute same hash, if OK: authenticated

Page 8: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Authorisation

● Authentication & Authorisation (ACL)○ Domains: e.g. mediamosa.org○ Realms: e.g. ASelect, OpenID, DigID, &c.○ Users: e.g. [email protected]○ Groups of Domains / Realms / Users○ Restriction on start and end times

● Authorisation enforced on○ Mediafiles, not on assets (= metadata)○ Play / download

● Front-end must restrict access to metadata● Pure access control, no separate ACLs for

read / write / update &c (yet)

Page 9: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Authorisation -- behind the scenes

● Ticket system with symlinks for playing○ DRM / authorisation normally done by plugins in

streaming server --> Streaming server lock-in○ MM does not need this: streaming server

independent (!)○ Solution using expiring symbolic links

MediaMosa

SAN/NAS

/data

/media

streaming serverwowza/red5/...

symbolic link

Page 10: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Authorisation -- behind the scenes

● Expiry time of tickets: 20 minutes● Permanent links vs tickets

○ http://mediamosa.org/media/ticket/<random>○ http://mediamosa.org/media/mediafile_id

■ only for unprotected content (!)

Page 11: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Search

● Contextual Query Language (CQL)○ A formal language for representing queries to

information retrieval systems.■ dc.title any fish

■ dc.title any fish or dc.creator any sanderson

■ dc.title any fish sortBy dc.date/sort.ascending

○ Search/Retrieve via URL (SRU/SRW)○ http://www.loc.gov/standards/sru/specs/cql.html

● Apache SOLR used for indexing / searching○ http://lucene.apache.org/solr

Page 12: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

OAI-PMH

● Support for Open Archives Initiative - Protocol for Metadata Harvesting (OAI-PMH) http://www.openarchives.org

● Provider is available, a harvester is on the roadmap (was built for NIBG / Ed*it platform, but not contributed yet)

● Exposes all asset metadata, but not the associated mediafiles.

Page 13: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

MediaMosa Features & Services

● Transcoding of almost any video/audio format using FFmpeg http://www.ffmpeg.org.○ Use of predefined transcoding profiles.○ Support for literally hundreds of (open) formats.

● Distributed Job Processing Architecture○ Master has knowledge of slaves and #cores / slave○ Master distributes jobs to slaves○ Slave runs FFmpeg with profile for transcoding /

stills● Uploads: POST, PUT, FTP

Page 14: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

MediaMosa Features & Services

● Streaming solution is not part of MediaMosa○ This is by design: every institution has its own

requirements for this, or even an existing solution.○ Out-of-the box HTTP progressive download is

supported, so it “just works”● Notification infrastructure● Logging capabilities● Statistics gathering and reporting● Unit Tests across the board

Page 15: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

MediaMosa API

● Online docs @ http://mediamosa.org/api ● Also available inline @

/admin/mediamosa/browse/restcall● RESTful API: URL in, XML out

○ JSON / Atom output is on roadmap○ Schema validation in MediaMosa 3.5○ API cleanup in 4.0 (2012Q3)

Page 16: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

MediaMosa Apps

● MediaMosa Site Builder (demo)○ Drupal 7 front-end with direct Views and Media

module integration to MediaMosa REST API● Content Supplier Application

○ Drupal 6 front-end for bulk operations● Administrative Back-end

○ Administer & Configure the MediaMosa service in a Drupal-like fashion

Page 17: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Operational

● Runs on standard LAMP stack: GNU/Linux, Apache, MySQL, PHP.

● But also FreeBSD, OpenBSD, Nginx, Lighttpd, MariaDB, Varnish, memcached, MongoDB, &c.

● Apply existing knowledge for scaling up and out, to achieve redundancy, availability &c.

● In production since 2008● Scales up from a laptop with a USB memory

stick, to anything.

Page 18: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Architectural Principles

● Open Source (GPLv2)● Open Standards● Open Protocols● Drupal used as Web Application Framework● Drupal used to build front-ends● But any front-end technology is possible:

Java, .NET, Blackboard, Ruby on Rails, node.js, Lisp, Android, Apple, &cas long as it can do REST.

Page 19: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Architectural Principles

● Service Oriented Architecture (SOA)● Representational State Transfer (REST)● UNIX Design Principles http://www.faqs.

org/docs/artu/ch01s06.html● Worse is better http://www.jwz.

org/doc/worse-is-better.html● Modifiable & Self Documenting: "Use the

Source, Luke."

Page 20: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Open Source

● Project Management Committee (PMC)● Current members are: Surfnet, Kennisnet,

Dutch Institute of Sound and Vision, University of Amsterdam, Inuits, OneShoe.

● PMC decides on project direction, roadmap, events, funding.

● MediaMosa Foundation to be created this year.

● Currently using a Cathedral model, will transfer to Bazaar model as community matures

Page 21: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Users, builders & thinkers

● Acquia: DAM offering and video services● Archipel (BE): central DAM● Boekentoren (BE): central DAM● Surfnet (NL): original development,

surfmedia.nl & research platform● Uni Twente, Uni Amsterdam, Uni Groningen,

Uni Leuven, Uni Gent, Uni Oslo● NIBG: Ed*It platform, ed-it.nu● Kennisnet: teleblik.nl, leraar24.nl, e-tv.nl, s-

tv.nl

Page 22: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Users, builders & thinkers

● Cineca: linking 51 Italian universities with lecture recording system (Matteo Bertazzo) http://mediamosa.org/node/208665

● University of Berkely chose not to use MediaMosa for Opencast / Matterhorn, but still uses it as an architectural reference (and MediaMosa can be used as a back-end for the ingester anyway)

● accessibility.nl / webrichtlijnen.nl / Bartimeus: currently looking for funding to make MediaMosa WCAG2 compliant

Page 23: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Roadmap● 3.5 (Q1 2012)

○ Transcription: transform speech into text■ Useful for making video archives searchable■ Making meeting recordings searchable

○ “SURFconext” (TERENA/NREN), Open Social meets Federated Identity Management.

○ Flexible Workflow (Drupal Rules)○ Support for complex players (multistream)

● 4.0 (Q3 2012?)○ xml/json/atom output and parameter cleanup○ Cloud functionality: more Open API support &

building a cloud of MediaMosa instances○ MediaMosa as a DAM for OpenCast setups○ Archives support (checksums, BagIt, PREMIS)

Page 24: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

References

● https://github.com/mediamosaCanonical source code repository

● http://mediamosa.org/apiOnline version of the RESTful API reference guide

● http://mediamosa.org/tracMediaMosa ticket system and quick guides

● MediaMosa SDKThe MediaMosa Software Development Kit: Connector, testbed, debug

● MediaMosa CKThe MediaMosa Construction Kit: Drupal 6 & 7 modules (Media 2.x, Views 3.x)

● MediaMosa Site BuilderOur showcase and starting kit for front-end websites

Page 25: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management
Page 26: Digital Asset Management A Drupal Distribution for · MediaMosa 101 MediaMosa is built with Drupal (7) MediaMosa is a Digital Asset Management System (DAM) Media Asset Management

Q&A