Sofie Core

The main application in the Sofie system. It is a web-server and serves the Web-GUI. It is a NodeJS process backed up by a MongoDB database and based on the framework Meteor. Read more: System architecture, Getting Started


Gateways are NodeJS processes that connect to Sofie Core and provide different kinds of functionality. Examples of Gateways are the MOS Gateway, the Spreadsheet Gateway and the Playout Gateway. All gateways use the Core-integration library to communicate with Core. Read more: System architecture


Blueprints are plug-ins that run in Sofie Core. They interpret the data coming in from the rundowns and transform them into a rich set of playable elements (Segments, Parts, AdLibs etc).

The blueprints are webpacked javascript bundles which is uploaded into Sofie via the GUI.

There are 3 types of Blueprints, and all 3 must be uploaded into Sofie before the system works.

  • System Blueprints Handle things on the System level

  • Studio Blueprints Handle things on the Studio level, like "which showstyle to use for this rundown"

  • Showstyle Blueprints Handle things on the Showstyle level, like generating Segments, Parts and Timelines in a rundown.

The blueprints are custom-made and changes depending on the show style, type of input data and the controlled devices. A generic blueprint for rundowns based on spreadsheets is available here.

Read more: System architecture

Playing Things

Take Point

The Take point is currently playing Part in the rundown, indicated by the "On Air" line in the GUI. What's played on air is calculated from the timeline objects in the Pieces in the currently playing part.

You can TAKE the next Part by pressing F12 or the rightmost Enter key.

Next Point

The Next point is the next queued Part in the rundown. When the user clicks Take, the Next Part becomes the currently playing part, and the Next point is also moved.

Change the Next point by right-clicking in the GUI, or by pressing (shift+) F9 & F10.


Elements in the Next point (or beyond) might be pre-loaded or "put on preview", depending on the blueprints and play-out devices used. This feature is called "Lookahead".

Sofie Setup


The System settings are settings for this installation of Sofie. In here goes the settings that are applicable system-wide.


A Studio in Sofie-terms is a physical location, with a specific set of devices and equipment. Only one show can be on air in a studio at the same time. The _studio_ settings are settings for that specific studio, and contains settings related to hardware and play-out, such as:

  • Attached devices; the Gateways related to this studio

  • Blueprint configuration; custom config option defined by the blueprints

  • Layer Mappings; Maps the logical timeline layers to physical devices and outputs

The Studio uses a studio-blueprint, which handles things like mapping up an incoming rundown to a Showstyle.


A Showstyle is related to the looks and logic of a show, which in contrast to the studio is not directly related to the hardware. The Showstyle contains settings like

  • Source Layers; Groups different types of content in the GUI

  • Output Channels; Indicates different output targets (such as the Program or back-screen in the studio)

  • Blueprint configuration; custom config option defined by the blueprints

Please note the difference between Source Layers and timeline-layers:

Pieces are put onto Source layers, to group different types of content (such as a VT or Camera), they are therefore intended only as something to indicate to the user what is going to be played, not what is actually going to happen on the technical level.

Timeline-objects (inside of the Pieces) are put onto timeline-layers, which are (through the Mappings in the studio) mapped to physical devices and outputs. The exact timeline-layer is never exposed to the user, but instead used on the technical level to control play-out.

An example of the difference could be when playing a VT (that's a Source Layer), which could involve all of the timeline-layers video_player0, audio_fader_video, audio_fader_host and mixer_pgm.


The migrations are automatic setup-scripts that help you during initial setup and system upgrades.

There are system-migrations that comes directly from the version of Sofie Core you're running, and there are also migrations added by the different blueprints.

It is mandatory to run migrations when you've upgraded Sofie Core to a new version, or upgraded your blueprints.


A Rundown is what starts playing when you start a show. It contains Segments and Parts, which can be selected by the user to be played out. A Rundown always has a showstyle and is played out in the context of a Studio.

Only a single Rundown can be active at a time within each Studio.

The Producer's view and naming conventions of components


The Segment is the horizontal line in the GUI. It is intended to be used as a "chapter" or "subject" in a rundown, where each individual playable element in the Segment is called a Part.


The Part is the playable element inside of a Segment. This is the thing that starts playing when the user does a TAKE. The Part in itself doesn't determine what's going to happen, that's handled by the Pieces in it.


The Pieces inside of a Part determines what's going to happen, the could be indicating things like VT:s, cut to cameras, graphics, or what script the host is going to read.

Inside of the pieces are the timeline-objects which controls the play-out on a technical level.

Tip! If you want to manually play a certain Graphics piece, you can at any time double-click it in the GUI, and it will be copied and played at your play head, just like an AdLib would!

See also: Showstyle

Timeline Object

The timeline-objects are stored inside of the Pieces and they control what's going to be played out on a technical level. When a Part starts playing, all the timeline-objects from it's Pieces are added to the Timeline and played out by the Playout Gateway.

AdLib Pieces

The AdLib pieces are Pieces that isn't programmed to fire at a specific time, but instead intended to be manually triggered by the user.

The AdLib pieces can either come from the currently playing Part, or it could be global AdLibs that are available throughout the show.

An AdLib isn't added to the Part in the GUI until it starts playing, instead you find it in the Shelf.


The Shelf contains the playable AdLib pieces, as well as some other non-essential information.

You can open the shelf either by clicking the handle at the bottom of the GUI, to by pressing the TAB key.


The Baseline is a timeline with timeline-objects that works as "fallback" during play-out. The baseline is generated by the Blueprints. There are different types of Baselines:

  • The Studio Baseline; this is activated whenever there is no rundown active in a studio. This is used for controlling things like turning off the lights, or start the coffee-machine after a show. This is generated by the Studio Blueprints.

  • The Rundown Baseline; is merged together with the timeline in a running rundown. This is used for controlling things like pulling down audio faders with a nice transition, etc. This is generated by the Showstyle Blueprints.


The timeline is used to control all play-out.

Read more at Concepts and Architecture