Skip to main content
Skip table of contents

Configuring Scheduling Page


Configuration of the scheduling page is part of the settings.json, but more complex than a simple parameter. Therefore this chapter covers its details.

The configuration is stored in a nested array of customized Scheduling views under Scheduling\\views. Each entry is an object with the following attributes:

NameDescriptionRequired

icon

Type: Path as String

Path to icon file of the view

Note: It's suggested to use a black-and-white SVG file.

yes

name

Type: String

Name of the view, used as caption on buttonsyes

schedulingWidth

Type: String

Width of the scheduling area in pixels or percentageno

showEndpointsFilter

Type: Boolean

Displays the Distribution Endpoints filterno, default: false
showPrintButton

Type: Boolean

Toggle the "Print" button in the show Headerno, default: true

showOpenButton

Type: Boolean

Toggle the "Open Show or Template" button in the show headerno, default: true

multiTrack

Type: Object

Configuration of the multiTrack view.

Note: See further documentation below.

yes

sidePanels

Type: Array

Enable side panels

Valid values: contentManager, metaData, transitions, rundown

no, default: all enabled

rundown

Type: Object

Configuration of rundown

Note: See further documentation below.

no, default: disabled

toolbar

Type: Object

Configuration of toolbar

Note: See further documentation below.

no, default: disabled

contentManager

Type: Object

Configuration of Content Manager

Note: See further documentation.

no, default: disabled

Example

JS
"Scheduling\\views": [
    {
        "icon": "custom/Scheduling.svg",
        "name": "Scheduling",
		"schedulingWidth": "60%",
		"sidePanels": ["metaData", "rundown"],
		"showEndpointsFilter": true,
        "tracksFilter": "0,1,110,120,130,1000,2001",

        "multiTrack": {
            "default": false
        },

        "rundown": {
            "columns": "Prelisten, StartMode, Class, StartStopTime, Title"
        },

        "toolbar": [
            {
                "caption": "New Element",
                "type": "element",
				"icon": "fa-regular fa-square-plus",
				"shortcut": ["Shift", "E"],
                "template": {
                    "Title": "New Element",
                    "Time_StartMode": "Manual",
                    "Time_StartType": "Floating"
                }
            },
            {
                "caption": "Schedule Recording",
                "type": "element",
                "template": {
                    "Title": "New Recording",
                    "Class": "Control",
                    "Time_StartMode": "Manual",
                    "Time_StartType": "Floating",
                    "Control_Operation1": "StartRecording",
                    "Control_Reference1": "MarkIn"
                }
            }
        ],

        "contentManager": {
            "defaultFilter": "Album:Hello World",
            "limit": 20,
            "acceptOnlyReady": true,
            "hideSoftDeleted": false,
			"sortBy": "createdate desc" 
        }
    }
]

Multi Track

The multiTrack object is used to show tracks side-by-side or as tabs on the Scheduling page. The button to enable it manually is displayed if more than one track is configured.

Its parameters configure the Multi Track view:

ParameterDescriptionDefault Value

default

Type: Boolean

Set default view state of Multi Track
  • true Multi Track view is default
  • false Single Track view is default
false

In the following example, the Single Track view will be used by default. Scrolling will be linked if the user switches to Multi Track view:

Example

JS
"multiTrack": {
	"default": false
}

Rundown

The rundown object is used to configure the main component of the Scheduling page. The table fields can be toggled and ordered.

ParameterDescriptionDefault Value

columns

Type: CSV as String

Toggle table columns and arrange their order

Available column names:

  • Title
  • StartStopTime
  • Duration
  • Intro
  • SendState
  • StartMode
  • Class
  • Loudness
  • ILK
  • FileState
  • Prelisten
  • HasText (Display of the Textflag)
  • Endpoints
  • Transitions

If bundleStartStopTime is disabled, these columns also are available

  • StartTime
  • StopTime

Note: See chapter Custom Columns for configuration of additional, custom columns.

"StartStopTime, Title"

bundleStartStopTime

Type: Boolean

Stack start and stop time in single columntrue

allowDragDrop

Type: Boolean

Toggle drag & drop for groups, stories and elementstrue

dragDropFillWidth

Type: Boolean

Set draggable area on nodes to full width or drag helper on the left side

  • true nodes are draggable everywhere
  • false nodes can only be dragged at the left side
false

hideTrackNumber

Type: Boolean

Hide the track numberfalse

hideColumnsHeader

Type: Boolean

Hide the columns headerfalse

showGapOverlap

Type: Boolean

Displays gap and overlap for the show in the rundown
(Displays for current and future shows)
false

durationsList

Type: Array

Available durations as entries to the array

  • show
    = duration of the show
  • text
    = duration of all texts from elements inside a show (detached from the metadata field "Time_DurationMode"
  • audio 
    = duration of all audio elements inside a show (detached from the metadata field "Time_DurationMode"
  • audioAndText
    = duration of all audios and texts of a show (with consideration of the metadata field "Time_DurationMode")
  • visibleText
  • visibleMedia
  • visibleMediaAndText
  • gaps
    = displays the sum of all gaps of a show
  • overlaps
    = displays the sum of all overlaps of a show
  • gapsOverlaps (displays gaps, else overlaps)
  • difference
    = calculates the difference between the show duration and audioAndText length

Note:

  • Fields are hidden on small screens.
  • Detailed information about time fields can be found in the BCSTechManual, chapter 8.8.
["show", "text", "gapsOverlaps"]

Example

JS
"rundown": {
	"columns": ["StartMode", "Class", "StartStopTime", "Title"],
	"bundleStartStopTime": false,
	"allowDragDrop": true,
	"dragDropFillWidth": true,
	"hideTrackNumber": false,
	"hideColumnsHeader": false,
	"durationsList": ["gapsOverlaps", "show", "text", "audio", "gaps", "overlaps"],
	"showGapOverlap": false,
},

Custom Columns

In most cases a column is defined by its name only, e.g. Class or Title. Sometimes it is desirable to have full control about the representation of a field or to include custom BCS data. In this case define a custom column as a JSON object inside the array of fields.

Example

JS
"columns": [
	"Title", 
	{
		"label": "Event",
		"field": "Event",
		"representation": "icon",
		"icons": {
			"done": "fa fa-check",
			"default": "fa fa-exclamation-triangle"
		},
		"tooltip": "Event"
	}, 
	"Class"
]

Following is a list of JSON attributes to specify a custom column.

PropertyDescriptionType
labelLabel used for header in tableString
fieldName of the BCS field

String

representation

Display the raw value or convert it to a visual representation (i.e. icon or image).

Conversion is done using the icons property, using either an icon font or image URLs (see icons property). 

String, valid values:

icon, image, string

icons

Mapping of content values interpreted based on representation.

  • icon: interpret as CSS classes, used to convert string values to icons from icon fonts
  • image: interpret as URL to use in an img tag
Object
sizeWidth of column specified as a factor of the default width.Number
tooltipAdditional information to display in a tooltip for users.String


Toolbar

The toolbar is an array of objects, each representing a menu in the ADD dropdown.

NameDescription

caption

Type: String

Caption of the button in the toolbar

type

Type: String

Type of the node to be created. Can be any of "Group", "Story", "EndpointStory" or "Element"

icon

Type: String

Icon is displayed before the caption and it can be CSS classes or image. By default a '+' icon is displayed.

shortcut

Type: Object

Shortcut to create the node. Refer to the "shortcut definition syntax" on the Configuring Shortcuts page or the examples below this section.

template

Type: Object

Preset of the node to be created; contains any BCS field. In most applications it is advised to include at least these attributes:

"Title": "New Recording",
"Time_StartMode" : "Manual",
"Time_StartType" : "Floating"

Since WDA version 1.4.357.0:  If no "AllowedClasses" attribute is specified for a node of type "group" ,"story" or "endpointStory", the default "AllowedClasses" are set:

  • For a group: "News,Text,Music,Cart,Commercial,Audio,Magazine,Promotion,Graphic,Video,Story,Live,Line,Info"
  • For a story: "News,Text,Music,Cart,Commercial,Audio,Magazine,Promotion,Graphic,Video,Live,Line,Info"
  • For an endpointStory: "News,Text,Music,Cart,Commercial,Audio,Magazine,Promotion,Graphic,Video,Live,Line,Info"

Note: Custom BCS fields use two underscores instead of a dot (i.e. DEMO__YouTube instead of DEMO.YouTube)

children

Type: Object

An array of objects, each representing the child node(s) of a "group", "story" or "endpointStory" node. The child nodes themselves are then defined by the parameters "type" and "template" again.

Note: A "group" cannot contain another "group", a "story" cannot contain another "group" or "story" and an "element" cannot contain any child.

Therefore, if the child node itself is of type "story", it can only contain "elements" in its parameter "children".

If the child node itself is of type "element", it cannot contain the parameter "children".

Example

JS
"toolbar": [
	{
    	"caption": "New Element",
    	"type": "element",
		"icon": "fa-regular fa-square-plus",
		"shortcut": ["1"],
    	"template": {
    	    "Title": "New Element",
    	    "Time_StartMode" : "Manual",
    	    "Time_StartType" : "Floating"
    	}
	}
]

Example with children

JS
"toolbar": [		
	{
		"caption": "Group + Story + Element",
		"type": "group",
		"icon": "fa-regular fa-square-plus",
		"shortcut": ["2"],
		"template": {
			"Title": "New Group",
			"AllowedClasses": "News,Text,Music,Cart,Commercial,Audio,Magazine,Promotion,Graphic,Video,Story,Live,Line,Info",
			"Time_StartMode" : "Manual",
			"Time_StartType" : "Floating"
		},
		"children": [
			{
				"type": "story",
				"template": {
					"Title": "New Story in Group",
					"AllowedClasses": "News,Text,Music,Cart,Commercial,Audio,Magazine,Promotion,Graphic,Video,Live,Line,Info",
					"Time_StartMode" : "Manual",
					"Time_StartType" : "Floating"
				},
				"children": [
					{
						"type": "element",
						"template": {
							"Title": "New Element in Story",
							"Time_StartMode" : "Manual",
							"Time_StartType" : "Floating"
						}
					}
				]
			}
		]
	}
]
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.