EPG | Version 4

EPG Administering Guide

Find out more about how to administer the add-on Electronic Program Guide.

To use the EPG add-on, the following precondition must be fulfilled:

  • At server side, the embedded SOLR must be enabled (see server properties sophora.solr.*). We recommend to enabled Block joins for the default core.
  • The required nodetypes and mixin types must be registered when activating the EPG add-on in the Deskclient by opening the EPG view (see nodetypes and mixins below)
  • A custom document type e.g. sophora-content-nt:broadcast must have the 'Broadcast Table' specified by the mixin sophora-epg-mix:program
  • Mixin sophora-epg-mix:template and its fields must be configured to sophora-nt:structureNode2 to configure program templates
  • Finally at least one station document (sophora-epg-nt:station) must be created
  • Now you can create documents of your custom program node type (e.g. sophora-content-nt:broadcast) with entries in their 'Broadcast Table' for the broadcasting dates and broadcasting station. These documents will appear in the EPG view.

Nodetypes and Mixins

Nodetype sophora-epg-nt:station

A full Sophora document type that represents a broadcasting station. Users can switch to stations in the top drop down of the EPG view to select the program of the station. A station has a title, an index for ordering in the EPG view, a structure node to locate programs created by a template, a structure node to locate templates created by a program of the station, and a daytime that specifies the start time of the station's program each day (e.g. at 6 o'clock in the morning). Additionally the background color of the gaps between programs and the background color indicating conflicts can be changed.

Validation of live versions (sophora-epg:numberOfDaysToConsiderProgramLiveVersions)

A program may have multiple broadcasts, and in consequence a program which is taken offline or online might affect the published schedules of multiple days at once. Usually the websites or exports which show programs to the audience are based entirely on the published versions of schedules. It is therefore crucial that the published schedules are valid, which means that there must be no gaps or overlapping broadcasts in a day's schedule

The EPG view can be configured to visualize these kind of "live"-problems by analyzing the published versions of programs and marking those parts of a schedule which are affected by problems.

Showing problems in the published version of the schedule is only useful if most of the programs of the schedule are published. Usually drafts of a station's schedules are planned a signification time ahead. However, they are usually considered "stable" (and are published) only a few weeks ahead. A schedule which contains mostly programs which have not been published yet would show a lot of "live"-problems. Validation of the published versions of programs will therefore only be useful for the number of days that are considered "stable".

This feature can be enabled by specifying the number of days in the future which are considered "stable" in a station's property sophora-epg:numberOfDaysToConsiderProgramLiveVersions:

  • If a positive number is provided, the feature is enabled.
  • If the field is left empty, the field's value will be "inherited" from the parent station, if this is a regional station.
  • If "0" is provided, the feature is disabled.

Nodetype sophora-epg-nt:stationRef

The type for referencing stations in other documents. This is used to reference regional stations in other stations.

Mixin type sophora-epg-mix:program

Mixin for custom document types that represent a program (or broadcast), e.g. for sophora-content-nt:broadcast. Documents with this mixin will be displayed in the EPG view depending on the entries of their 'Broadcast Table' (a dynamic table with valid child node type sophora-epg-nt:broadcastTableRow) and 'Broadcast Segment Table' (a dynamic table with valid child node type sophora-epg-nt:broadcastSegmentTableRow). Since program templates can be created from existing programs (and vice versa) a template target structure node can be specified.

Nodetype sophora-epg-nt:broadcastTableRow

Nodetype for the rows of a program's 'Broadcast Table'. The table holds the broadcasting dates and broadcasting stations of the program and some other optional information like 'rerun', 'live', 'program change' etc. You can remove these optional fields from the base tab if you do not need them for your use case.

Nodetype sophora-epg-nt:broadcastSegmentTableRow

Nodetype for the rows of a program's 'Broadcast Segment Table'. This optional table holds the broadcasting dates of the program when it is broadcasted as a feature story.

Mixin type sophora-epg-mix:template

Mixin type that must be added to sophora-nt:structureNode2 (no additional configuration of these fields required). A template is a collection of programs which are located under a structure node. The metadata of the template, i.e. name, station, start date and end date, is stored in the structure node document using the properties defined by this mixin.

Intermediate Broadcasts

There are use-cases where there is one long-running program and short, intermediate programs which are broadcasted during the long-running program. An example might be a major sports event, with a 6 hour long program showing a live broadcast from the sports event and short news programs every hour. Ordinarily, this would lead to conflicts between the long-running program and the intermediate news programs. While we recommend splitting the long-running program during the import process into shorter programs spaced between the intermediate programs, another option is activating dedicated support for intermediate broadcasts in the EPG add-on.

EPG Intermediate programs
EPG Intermediate programs (Image: subshell/CC BY)

To use intermediate broadcasts, edit the configuration for the nodetype sophora-epg-nt:broadcastTableRow and add the boolean property sophora-epg:intermediate to the 'Base'-tab. For intermediate broadcasts this property needs to be set to true.

Broadcasts that are marked as intermediate will show a blue arrow before the title in the EPG view. They are exempt from the normal validation of the EPG schedule, will never have conflicts with regular broadcasts and have no influence on the calculation of gaps in the schedule. They can, however, have conflicts with other intermediate broadcasts: intermediate broadcasts are not allowed to overlap.

Scripts for mass-operations on programs

By using a button visible in the EPG view of the Deskclient, scripts can be applied to all programs visible in the program list at once. For example, a script could be used to publish all programs, including those which are "hidden" behind regional windows, with a single click.

The scripts are configured per station. At the moment, only one script per station is allowed. For this purpose, the sophora-epg-nt:station node type has a sophora-epg:clientScript property, holding the external ID of the script. If the script is set on a main (non-regional) station, the script is available to all regional stations as well, unless they have a different script explicitly set for themselves. Once a script is configured for a station, a button to run the script is shown in the EPG view next to the station select-box.

Any client script may be used for this purpose if it meets the following requirements:

  • It is configured to accept documents of a program node type, i.e. the node types implementing the sophora-epg-mix:program mixin.
  • It accepts multiple documents as input. Otherwise only the first program in the program list will be affected by the script.

Customization Options for the EPG View

There are a few configuration parameters you can add to the DeskClient configuration file if you want to personalise your EPG add-on installation. If you do not know where to find this file, please refer to this page of our documentation.

ParameterDescriptionPossible ValuesDefault
sophora.epg.broadcastEntry.titlePropertyA String property of broadcast rows that should be used as title, which is displayed in the EPG view. Usually the document reference label of the program is shown and will still be used as fallback if the broadcast property is not set or contains an empty String.Property name
sophora.epg.icons.propertyNames.broadcastEntryProperties of broadcast rows that use a select value document. The icons of the select value will be displayed in a column in the EPG view.
After changing this option the EPG view needs to be reopened.
Property names
sophora.epg.icons.propertyNames.programProperties of the program (document) that use a select value document. The icons of the select value will be displayed in a column in the EPG view.
After changing this option the EPG view needs to be reopened.
Property names
sophora.epg.noTemplateLabelDefines the text that is shown in the template dropdown field when no template is selected.Any string(No template) resp. (Keine Vorlage), depending on your localization settings.
sophora.epg.template.delayWhen applying a program template, all the documents in the template are cloned and modified. To reduce the impact this might have on the server, a delay between cloning two documents may be specified using this property. The delay is in milliseconds.Positive integers. Use "0" to turn off the delay.0

Last modified on 10/16/20

The content of this page is licensed under the CC BY 4.0 License. Code samples are licensed under the MIT License.