Skip to content

cern-vc/cern-paella-plugins

Repository files navigation

Cern Paella Plugins

Build and push to NPM npm version License: MIT

This repository contains the plugins for the Paella Player used at CERN.

Available plugins

  • ch.cern.paella.liveStreamIndicatorPlugin
  • ch.cern.paella.liveStreamingProgressIndicator
  • ch.cern.paella.matomoAnalyticsPlugin
  • ch.cern.paella.matomoAnalyticsUserTrackingPlugin
  • ch.cern.paella.nextTimeButtonPlugin
  • ch.cern.paella.prevTimeButtonPlugin
  • ch.cern.paella.vttManifestCaptionsPlugin
  • ch.cern.paella.testButton

How to use

To use the plugins, you need to refer to the Plugins Documentation and add the plugins you want to use in the config.json file:

To load the plugins in the Paella Player, you need to add the import :

import getCernCustomPluginsContext from "@cern-vc/cern-paella-plugins";

And then, you need to add the following line to the init parameters of the Paella Player:

const initParams = {
    ...,
    customPluginContext: [
        getCernCustomPluginsContext(),
        ...
    ],
};

How to develop

To develop the plugins, you need to clone the repository and install the dependencies:

$ git clone https://github.com/cern-vc/cern-paella-plugins.git
$ cd cern-paella-plugins
$ npm install

To build the plugins, you need to run the following command:

$ npm run build

To test the plugins, you need to run the following command:

$ npm run dev

Go to http://localhost:8090/?id=test-video to test the plugins. You will maybe need to change parameters in the url to test the plugins.


You will need to modify the config/config.json file to add the plugins you want to test, and the repository_test/repository/test-video/data.json file to modify the video you want to test. Refer to the Plugins Documentation to know how to configure the plugins.

How to publish

Publish the npm package is done automatically by Github Actions when a new pull request is merged to the main branch.

The version of the package is automatically incremented regarding the value of the version in the package.json file.

If you try to merge a pull request without incrementing the version, no new package will be published.