Skip to content

Commit 4884208

Browse files
committed
wip
1 parent a707964 commit 4884208

File tree

18 files changed

+227
-213
lines changed

18 files changed

+227
-213
lines changed

packages/documentation/docs/for-developers/for-blueprint-developers/intro.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,30 @@ sidebar_position: 1
88
Documentation for this page is yet to be written.
99
:::
1010

11-
[Blueprints](../../user-guide/concepts-and-architecture.md#blueprints) are programs that run inside Sofie Core and interpret
12-
data coming in from the Rundowns and transform that into playable elements. They use an API published in [@sofie-automation/blueprints-integration](https://sofie-automation.github.io/sofie-core/typedoc/modules/_sofie_automation_blueprints_integration.html) library to expose their functionality and communicate with Sofie Core.
11+
[Blueprints](../../user-guide/concepts-and-architecture.md#blueprints) are JavaScript programs that run inside Sofie Core and interpret data coming in from the Rundowns and transform that into playable elements. They use an API published in [@sofie-automation/blueprints-integration](https://sofie-automation.github.io/sofie-core/typedoc/modules/_sofie_automation_blueprints_integration.html) [TypeScript](https://www.typescriptlang.org/) library to expose their functionality and communicate with Sofie Core.
1312

1413
Technically, a Blueprint is a JavaScript object, implementing one of the `BlueprintManifestBase` interfaces.
1514

15+
Sofie doesn't have a built-in package manager or import, so all dependencies need to be bundled into a single `*.js` file bundle using a bundler such as [Rollup](https://rollupjs.org/) or [webpack](https://webpack.js.org/). The community has built a set of utilities called [SuperFlyTV/sofie-blueprint-tools](https://github.com/SuperFlyTV/sofie-blueprint-tools/) that acts as a nascent framework for building & bundling Blueprints written in TypeScript.
16+
17+
:::info
18+
Note that the Runtime Environment for Blueprints in Sofie is plain JavaScript at [ES2015 level](https://en.wikipedia.org/wiki/ECMAScript_version_history#6th_edition_%E2%80%93_ECMAScript_2015), so other ways of building Blueprints are also possible.
19+
:::
20+
1621
Currently, there are three types of Blueprints:
1722

1823
- [Show Style Blueprints](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie_automation_blueprints_integration.ShowStyleBlueprintManifest.html) - handling converting NRCS Rundown data into Sofie Rundowns and content.
1924
- [Studio Blueprints](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie_automation_blueprints_integration.StudioBlueprintManifest.html) - handling selecting ShowStyles for a given NRCS Rundown and assigning NRCS Rundowns to Sofie Playlists
2025
- [System Blueprints](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie_automation_blueprints_integration.SystemBlueprintManifest.html) - handling system provisioning and global configuration
26+
27+
# Show Style Blueprints
28+
29+
These blueprints interpret the data coming from the [NRCS](./installing-a-gateway/rundown-or-newsroom-system-connection/intro.md), meaning that they need to support the particular data structures that a given Ingest Gateway uses to store incoming data from the Rundown editor. They will need to convert Rundown Pages, Cues, Items, pieces of show script and other types of objects into [Sofie concepts](../concepts-and-architecture.md) such as Segments, Parts, Pieces and AdLibs.
30+
31+
# Studio Blueprints
32+
33+
These blueprints provide a "baseline" Timeline that is being used by your Studio whenever there isn't a Rundown active. They also handle combining Rundowns into RundownPlaylists. Via the [`applyConfig`](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie-automation_blueprints-integration.StudioBlueprintManifest.html#applyconfig) method, these Blueprints enable a _Configuration-as-Code_ approach to configuring connections to various elements of your Control Room and Studio.
34+
35+
# System Blueprints
36+
37+
These blueprints exist to allow a _Configuration-as-Code_ approach to an entire Sofie system. This is done via the [`applyConfig`](https://sofie-automation.github.io/sofie-core/typedoc/interfaces/_sofie-automation_blueprints-integration.SystemBlueprintManifest.html#applyconfig) providing personality information such as global system configuraiton or system-wide HotKeys via the Blueprints.

packages/documentation/docs/user-guide/configuration/settings-view.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ Clicking on the action and filter pills allows you to edit the action parameters
167167

168168
##### Shift Registers
169169

170-
Shift Register modification actions are a special type of an Action, that modifies an internal state memory of the [Input Gateway](../installation/installing-input-gateway.md) and allows combination triggers, pagination, etc. on devices that don't natively support them or combining multiple devices into a single Control Surface. Refer to _Input Gateway_ documentation for more information on Shift Registers.
170+
Shift Register modification actions are a special type of an Action, that modifies an internal state memory of the [Input Gateway](../installation/installing-a-gateway/installing-input-gateway.md) and allows combination triggers, pagination, etc. on devices that don't natively support them or combining multiple devices into a single Control Surface. Refer to _Input Gateway_ documentation for more information on Shift Registers.
171171

172172
Shift Register actions have no effect in the browser, triggered from a _Hotkey_.
173173

packages/documentation/docs/user-guide/installation/initial-sofie-core-setup.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 3
2+
sidebar_position: 35
33
---
44

55
# Initial Sofie Core Setup
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"label": "Installing a Gateway",
3-
"position": 5
3+
"position": 50
44
}

packages/documentation/docs/user-guide/installation/installing-input-gateway.md renamed to packages/documentation/docs/user-guide/installation/installing-a-gateway/installing-input-gateway.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
sidebar_position: 40
3+
---
4+
15
# Input Gateway
26

37
The Input Gateway handles control devices that are not capable of running a Web Browser. This allows Sofie to integrate directly with devices such as: Hardware Panels, GPI input, MIDI devices and external systems being able to send an HTTP Request.
@@ -31,14 +35,18 @@ Currently, input gateway supports:
3135

3236
### Shift Registers
3337

34-
Input Gateway supports the concept of _Shift Registers_. A Shift Register is an internal variable/state that can be modified using Actions, from within [Action Triggers](../configuration/settings-view.md#actions). This allows for things such as pagination, _Hold Shift + Another Button_ scenarios, and others on input devices that don't support these features natively. _Shift Registers_ are also global for all devices attached to a single Input Gateway. This allows combining multiple Input devices into a single Control Surface.
38+
Input Gateway supports the concept of _Shift Registers_. A Shift Register is an internal variable/state that can be modified using Actions, from within [Action Triggers](../../configuration/settings-view.md#actions). This allows for things such as pagination, _Hold Shift + Another Button_ scenarios, and others on input devices that don't support these features natively. _Shift Registers_ are also global for all devices attached to a single Input Gateway. This allows combining multiple Input devices into a single Control Surface.
3539

3640
When one of the _Shift Registers_ is set to a value other than `0` (their default state), all triggers sent from that Input Gateway become prefixed with a serialized state of the state registers, making the combination of a _Shift Registers_ state and a trigger unique.
3741

3842
If you would like to have the same trigger cause the same action in various Shift Register states, add multiple Triggers to the same Action, with different Shift Register combinations.
3943

4044
Input Gateway supports an unlimited number of Shift Registers, Shift Register numbering starts at 0.
4145

46+
### AdLib Tally
47+
48+
49+
4250
### Further Reading
4351

4452
- [Input Gateway Releases on GitHub](https://github.com/Sofie-Automation/sofie-input-gateway/releases)

packages/documentation/docs/user-guide/installation/installing-a-gateway/intro.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
---
22
sidebar_label: Introduction
3-
sidebar_position: 1
3+
sidebar_position: 10
44
---
55
# Introduction: Installing a Gateway
66

77
#### Prerequisites
88

99
* [Installed and running Sofie Core](../installing-sofie-server-core.md)
1010

11-
The _Sofie Core_ is the primary application for managing the broadcast, but it doesn't play anything out on it's own. A Gateway will establish the connection from _Sofie Core_ to other pieces of hardware or remote software. A basic setup may include the [Spreadsheet Gateway](rundown-or-newsroom-system-connection/installing-sofie-with-google-spreadsheet-support.md) which will ingest a rundown from Google Sheets then, use the [Playout Gateway](playout-gateway.md) send commands to a CasparCG Server graphics playout, an ATEM vision mixer, and / or the [Sisyfos audio controller](https://github.com/olzzon/sisyfos-audio-controller).
11+
The _Sofie Core_ is the primary application for managing the broadcast, but it doesn't play anything out on it's own. A Gateway will establish the connection from _Sofie Core_ to other pieces of hardware or remote software. A basic setup may include the [Spreadsheet Gateway](rundown-or-newsroom-system-connection/google-spreadsheet.md) which will ingest a rundown from Google Sheets then, use the [Playout Gateway](playout-gateway.md) send commands to a CasparCG Server graphics playout, an ATEM vision mixer, and / or the [Sisyfos audio controller](https://github.com/olzzon/sisyfos-audio-controller).
1212

1313
Installing a gateway is a two part process. To begin, you will [add the required Blueprints](../installing-blueprints.md), or mini plug-in programs, to _Sofie Core_ so it can manipulate the data from the Gateway. Then you will install the Gateway itself. Each Gateway follows a similar installation pattern but, each one does differ slightly. The links below will help you navigate to the correct Gateway for the piece of hardware / software you are using.
1414

1515
### Rundown & Newsroom Gateways
1616

17-
* [Google Spreadsheet Gateway](rundown-or-newsroom-system-connection/installing-sofie-with-google-spreadsheet-support.md)
17+
* [Google Spreadsheet Gateway](rundown-or-newsroom-system-connection/google-spreadsheet.md)
1818
* [iNEWS Gateway](rundown-or-newsroom-system-connection/inews-gateway.md)
1919
* [MOS Gateway](rundown-or-newsroom-system-connection/mos-gateway.md)
2020

packages/documentation/docs/user-guide/installation/installing-a-gateway/playout-gateway.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 3
2+
sidebar_position: 30
33
---
44
# Playout Gateway
55

packages/documentation/docs/user-guide/installation/installing-a-gateway/rundown-or-newsroom-system-connection/installing-sofie-with-google-spreadsheet-support.md renamed to packages/documentation/docs/user-guide/installation/installing-a-gateway/rundown-or-newsroom-system-connection/google-spreadsheet.md

File renamed without changes.

packages/documentation/docs/user-guide/installation/installing-a-gateway/rundown-or-newsroom-system-connection/intro.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@ sidebar_position: 1
33
---
44
# Rundown & Newsroom Systems
55

6-
Sofie Core doesn't talk directly to the newsroom systems, but instead via one of the Gateways.
6+
NewsRoom Computer Systems (NRCS) are sofware suites that manage various parts of news production. Many of these systems support some sort of Rundown creation module that allows authoring live show Rundowns by organizing them into units and sub-units such as Pages, Items, Cues, etc.
77

8-
The Google Spreadsheet Gateway, iNEWS Gateway, and the MOS \([Media Object Server Communications Protocol](http://mosprotocol.com/)\) Gateway which can handle interacting with any system that communicates via MOS.
8+
Sofie Core doesn't talk directly to the newsroom systems, but instead via one of the Ingest Gateways. The purpose of these Gateways is to act as adapters for the various protocols used by these systems, while keeping as much fidelity as possible in the incoming data.
9+
10+
Some of the currently available options in the Sofie ecosystem include Google Docs Spreadsheet Gateway, iNEWS Gateway, and the MOS Gateway which can handle interacting with any system that communicates via MOS \([Media Object Server Communications Protocol](http://mosprotocol.com/)\).
11+
12+
[Rundown Editor](../../rundown-editor.md) is a special case of an Ingest Gateway that acts as a simple Rundown Editor itself.
913

1014
### Further Reading
1115

packages/documentation/docs/user-guide/installation/installing-blueprints.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 4
2+
sidebar_position: 40
33
---
44

55
# Installing Blueprints
@@ -11,7 +11,7 @@ sidebar_position: 4
1111

1212
Blueprints are little plug-in programs that runs inside _Sofie_. They are the logic that determines how _Sofie_ interacts with rundowns, hardware, and media.
1313

14-
Blueprints are custom scripts that you create yourself \(or download an existing one\). There are a set of example Blueprints for the Spreadsheet Gateway available for use here: [https://github.com/SuperFlyTV/sofie-demo-blueprints](https://github.com/SuperFlyTV/sofie-demo-blueprints).
14+
Blueprints are custom JavaScript scripts that you create yourself \(or download an existing one\). There are a set of example Blueprints for the Spreadsheet Gateway and Rundown Editor available for use here: [https://github.com/SuperFlyTV/sofie-demo-blueprints](https://github.com/SuperFlyTV/sofie-demo-blueprints). You can learn more about them in the [Blueprints section](../../for-developers/for-blueprint-developers/intro.md)
1515

1616
To begin installing any Blueprint, navigate to the _Settings page_. Getting there is covered in the [Access Levels](../features/access-levels.md) page.
1717

@@ -25,21 +25,21 @@ There are 3 types of blueprints: System, Studio and Show Style:
2525

2626
_System Blueprints handles some basic functionality on how the Sofie system will operate._
2727

28-
After you've uploaded the your system-blueprint js-file, click _Assign_ in the blueprint-page to assign it as system-blueprint.
28+
After you've uploaded the your system-blueprint JS bundle, click _Assign_ in the blueprint-page to assign it as system-blueprint.
2929

3030
### Studio Blueprint
3131

3232
_Studio Blueprints determine how Sofie will interact with the hardware in your studio._
3333

34-
After you've uploaded the your studio-blueprint js-file, navigate to a Studio in the settings and assign the new Blueprint to it \(under the label _Blueprint_ \).
34+
After you've uploaded the your studio-blueprint JS bundle, navigate to a Studio in the settings and assign the new Blueprint to it \(under the label _Blueprint_ \).
3535

3636
After having installed the Blueprint, the Studio's baseline will need to be reloaded. On the Studio page, click the button _Reload Baseline_. This will also be needed whenever you have changed any settings.
3737

3838
### Show Style Blueprint
3939

4040
_Show Style Blueprints determine how your show will look / feel._
4141

42-
After you've uploaded the your show-style-blueprint js-file, navigate to a Show Style in the settings and assign the new Blueprint to it \(under the label _Blueprint_ \).
42+
After you've uploaded your show-style-blueprint JS bundle, navigate to a Show Style in the settings and assign the new Blueprint to it \(under the label _Blueprint_ \).
4343

4444
### Further Reading
4545

0 commit comments

Comments
 (0)