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 Views. Each entry is an object with the following attributes:

Name

Description

Required

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 buttons

yes

schedulingWidth

Type: String

Width of the scheduling area in pixels or percentage

no

showEndpointsFilter

Type: Boolean

Displays the Distribution Endpoints filter

no, default: false

showPrintButton

Type: Boolean

Toggle the "Print" button in the show Header

no, default: true

showOpenButton

Type: Boolean

Toggle the "Open Show or Template" button in the show header

no, 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, daypool

Note: The day trash is always visible.

no, default: all enabled

rundown

Type: Object

Configuration of rundown

Note: See further documentation below.

no, default: disabled

toolbar

Type: Array of Objects / Folder

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
"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:

Parameter

Description

Default 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.

Parameter

Description

Default 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 column

true

allowDragDrop

Type: Boolean

Toggle drag & drop for groups, stories and elements

true

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 number

false

hideColumnsHeader

Type: Boolean

Hide the columns header

false

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.

Property

Description

Type

label

Label used for header in table

String

field

Name 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

size

Width of column specified as a factor of the default width.

Number

tooltip

Additional information to display in a tooltip for users.

String

Toolbar

The toolbar is an array of objects, each representing a menu item to create a node in the rundown. By default, the first two objects from toolbar are displayed as buttons, and the remaining items appear in the dropdown menu - unless the displayAsButton parameter is explicitly set, which overrides this behavior.

Name

Description

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.

displayAsButton

Type: Boolean

When set to true, the item will be displayed as a button. By default, this parameter is false. 

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"],
		"displayAsButton": true,
    	"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.