Skip to content
This repository has been archived by the owner on Feb 7, 2020. It is now read-only.

Customisation

Edward Silverton edited this page Nov 1, 2013 · 13 revisions

###Core

The Wellcome Player project repository can be cloned and used with a deep zoom image pyramid created using Deep Zoom Composer. See Deep Zoom Composer Example for a walk-through.

The set of core extensions and modules can be extended to provide extra functionality. This is exactly how the Wellcome Player itself is implemented. You can see the custom Wellcome extensions and modules listed here.

###Extensions

When loading a data package, the player inspects the assetType property of the assetSequences node in order to ascertain which extension to create. In the case of the Biocrats this will be seadragon/dzi.

An extension is an implementation of the player to handle a particular file type. For the Biocrats the player is configured to use the wellcomeplayer-seadragon-extension. This is configured in app.ts along with which provider, config and css files to use.

###Providers

The Provider Model is a pattern designed to keep data access within an abstracted layer that can easily be swapped out. The core player seadragon extension provider for example has a getDziUri method for retrieving the path to an asset's deep zoom pyramid. In this case, the data package itself contains the entire file uri, but providers could be written to create it on request where this data was not available directly.

###Modules

Modules are collections of functionality for a specific UI region within the player as defined in the shell. The shell itself is located in the coreplayer-shared-module which provides a collection of features common to all player implementations.

If we examine the coreplayer-seadragoncenterpanel-module we can see that it defines a number of events, ui elements and methods to provide a seadragon zooming experience for a given asset.

If we examine the coreplayer-seadragon-extension we can see where this module is being instantiated in the createModules method, along with other modules that define the player's core functionality.

A new center panel module could be written instead that simply shows a link to the asset instead of loading it into an Open Seadragon viewer. See Custom Module Example for a walk-through.

Clone this wiki locally