Technical Overview

Key features of the technical architecture of MediaCore include:

  • A core suite of low level services fulfilling the essential requirements for managing heterogeneous digital assets.
  • Key constructs (Assets, Categories, Jobs/Events) that can be combined to build sophisticated workflows and business processes
  • An n-Tier system architecture that facilitates deployment on the ‘Cloud’ providing a low cost, scalable solution for any size of organisation.
  • A robust security model allowing secure access and control over the system and it's data.
  • A comprehensive set of management tools providing an array of features for various user ‘types’ to administer the content.
  • A flexible presentation layer with optional eCommerce functions enabling a range of online functions, e.g. ‘photo portal’, ‘online TV’, ‘searchable document archive’.

Key Concepts

Central to MediaCore is the way it handles data and assets. It cleverly combines individual metadata and hierarchical taxonomic data to enable the applications to index, search and retrieve assets in the most effective way possible. The essential entities within the system are Assets (images, videos, documents, etc), Categories and Jobs/Events.

  • Assets - As well as storing and manipulating the source file data, the import and management tools allow for the maintenance of asset metadata.
  • Categories - MediaCore provides a flexible categorisation structure to facilitate application-specific taxonomies. Categories can be both hierarchical and relational to give users numerous ways to group and tag assets and create online galleries. Category tags can be assigned automatically through the import process or through the administration functions and can be used to alert specific users when new content is added.
  • Jobs/Events - Assets can be grouped in an Event or Job.  Event-level metadata can be added to those events (prior to or post-import). This metadata can include essential standard fields such as title, description, date/time, comments, or any other additional arbitrary items. Assets within the Job/Event can inherit the Event metadata to enable more effective searching, and to enrich the metadata when exporting those assets.

Core Services

technical diagramThe core services within the MediaCore architecture are:

1. Media Storage Service (MSS)

The Media Storage Service abstracts the physical storage from the main applications. It acts as the gateway to the physical storage system, and the path to access and update the metadata recorded against each instance.  Storage of information is split across database and file systems, which can be local and/or networked storage or Cloud (Amazon) storage. In addition the storage utilises local caches to enhance performance & scalability. The Media Storage Service also handles the storage of the metadata for the three types of entities as detailed above; Assets, Categories and Jobs/Events.  This metadata includes:

  • The standard MWG, XMP™ or IPTC fields
  • Additional internal fields (such as ‘for-sale’, ‘is-public’, ‘private-comments’, etc.)
  • Transformation directives (cropping, colour adjustments, contrast adjustments, etc.)
  • Categorisation linking (used to support tagging, galleries, events, etc.)
  • Version linking

The system supports non-destructive editing always retaining the original asset.  The ‘Render Service’ performs ‘Transformation Directives’ upon that asset at runtime and cache the result.
Any updates performed outside of the system, can be re-imported and automatically linked as new versions off the original asset.

2. Indexing Service

The Indexing Service allows applications to query the contents of the metadata stored in the storage service.  It supports the indexing of tags, numbers, dates, object Ids and tokenised text (which allows the system to utilise the fuzzy matching and language stemming features). The index is stored on a local or networked file system, and is highly scalable ensuring that response times remain almost constant as the index size increases.

3. Render Service

The Render Service transforms media assets into other formats as required by the applications. It is configured to use difference render delegates for different mime types, and supports most common formats (including images (jpg, tiff, ai, psd), documents (PDFs, scans, etc) and video (extraction of poster-frames and re-rendering).
The Render Service uses a ‘transformation dictionary’ which will include the media reference, and the actions to perform on it. It supports ‘transitional sizes’ to enhance performance.

4. Metadata Handling Service

The Metadata Handling Service is responsible for extracting and updating the metadata, both on import and export. It is compliant with international metadata standards (including Adobe XMP™, EXIF and IPTC) and adheres to the guidelines provided by the Metadata Working Group (MWG) to ensure metadata consistency and preservation.
This Service also includes a powerful OCR (Optical Character Recognition) processor which extracts all readable text from the pages.  This includes positional data for each word, paragraph and block (to allow on-page text highlighting).  Block are classified as ‘Text’, ‘Headline’, ‘Picture’ or ‘Picture Caption’ to improve the search options.

Supporting Services

Importing Service

The Importing Service is used to configure a chain of processes to satisfy numerous workflow situations with extra plug-ins to handle special cases or processes.

Routing Service

The Routing Service is responsible for the processing, queuing and routing of media to external destinations.  This includes FTP, email, File copy.  The ‘Router’ is multi-threaded, and load balances all the queued items to ensure that a single slow connection does not block the entire queue.

Security

MediaCore’s security is controlled by a combination of both Access Privileges and Authorisation Profiles. The Authorisation Profile is defined in 3 layers:

  • System - defaults can be set to which all users are subject.
  • Groups - these can be created which ‘wrap’ a series of settings applicable to a specific role (e.g. Editorial Staff).  Users can be added to one or more Groups. The combination of the System and [any] Group level permissions then apply to that user.
  • Users - specific permissions can be overridden at the User level to allow for fine-grained control.

Access Privileges can be applied at a number of levels to restrict Read/Write and Delete activities upon data. Each User is assigned a Default level of privileges; this can be amended upon installation. A Group can be set to have general levels across all data (over and above the Default Set). These privileges then apply to users within that Group. Individual Categories and Jobs/Events can also define/override the levels of access Users and Groups to enable fine grained privileges.

System Architecture

The system can be deployed either in Cloud or Standalone forms. Both deployment forms use the same n-tier industry standard architecture model:

  • Web Tier - Responsible for presenting the user interfaces. It also makes use of caches to improve system performance.
  • Application Tier - This tier runs the application code and manages the mediation of the various services and sub-functions. It also makes use of various inherent caching and clustering technology to provide a resilient and scalable platform.
  • Database Tier - Responsible for data storage; MediaCore can utilise many common RDBMS engines including MySQL, Oracle and SQL Server.