Admin Guide

$Date: 2017-04-20 13:54:06 +0200 (Thu, 20 Apr 2017) $


Table of Contents

1. Introduction
2. Definition of Terms and Octopus Objects
3. Admin Interface
4. Definition of Workflow
4.1. Story Elements
4.2. Story Templates
4.3. Story Status
4.4. Story Colours
4.5. Story Descriptions
4.6. Jingles and CGs
4.6.1. Jingles
4.6.2. Character Generator Templates (CGs)
4.7. Show types
4.8. Rundown Templates
4.9. Show Schedules
4.10. Story Folders
4.11. System Forms, Filters, and Fields
4.11.1. System Forms
4.11.2. Filters for media or rundown list
4.11.3. System Fields
4.12. Contacts/Guest Bid Status
5. Custom Tags
6. Story Locks Management
7. Spell-check Dictionaries
8. Assignments
8.1. Introduction
8.2. How to find it
8.3. Tool bar
8.4. User case
9. Users and User Groups
9.1. Authentication
9.2. User List
10. Wires, E-mails, RSS, SMS, Fax and other information sources
10.1. Working with OCTOPUS Agent
10.2. Wire Agent Configuration
10.3. Inject Agent configuration
10.4. RSS Agent Configuration
10.5. SMS Agent Configuration
10.6. Fax Agent Configuration
10.7. Wire, RSS, FAX, SMS and Email folders
10.8. Wire Filter Rules
11. Notification Rules
12. Stories Export
13. Custom Print Forms
13.1. User case
13.2. Tool bar
13.3. Designing Print Form
13.4. New Print Form
14. CG Control configuration
14.1. CG devices
14.2. CG Connection
14.3. CG Encoding
14.4. CGControl
15. System Setup
16. Main Menu
16.1. Defining the Main Menu
16.2. Menu Shortcuts and Colours
16.3. What to do when somebody accidentally deleted/broke the Admin Menu?
17. API
17.1. User case
17.2. How to find it
17.3. Configuration
17.4. Examples
18. Server Monitoring
19. Server Maintenance
19.1. Single Server Solution
19.2. Streaming Replication
19.3. Cluster Solution
20. Server Configuration
20.1. basic
20.2. smtp
20.3. authentication
20.4. http
20.5. jws
20.6. mobile
20.7. jmx (obsolete in 7.0+ versions)
20.8. maintenance
20.9. persistence
20.10. log
20.11. backup
20.12. debug
21. Administrator Troubleshooting
21.1. What are my modules in the license and when they are going to expire?
21.2. Who skipped/unskipped/created/archived/deleted/undeleted/purged/copied/moved/edited particular story?
21.3. Who created/archived/deleted the rundown?
21.4. Who MOS activated/deactivated the rundown?
21.5. How to delete a user from octopus?
21.6. How the basic authentication works in octopus?
21.7. How the LDAP authentication works in octopus?
21.8. What to do when the username has changed in the Active Directory/LDAP?
21.9. How to make the Octopus server available from the Internet?
21.10. Why are the octopus logs with wrong time?
21.11. Fulltext does not give correct results
21.12. What to do when somebody accidentally deleted/broke the Admin Menu?
21.13. What the logs contain?
21.13.1. Server logs
21.13.2. Client logs

List of Tables

9.1. Wire Rights Options
9.2. Story Folder Rights Options
9.3. Channel and Rundown Rights Options
9.4. Group Roles
10.1. Characters examples
10.2. RSS configuration fields
10.3. SMS configuration fields
10.4. FAX configuration fields
15.1. General
15.2. GUI
15.3. Story
15.4. Wires
15.5. CG
15.6. Notification
15.7. System
15.8. Mobile
15.9. MOS
15.10. Web forms
15.11. Commercials
15.12. Print
15.13. API
15.14. Multisite
15.15. Import
15.16. Other
16.1. Main Menu Items

Chapter 1. Introduction

This is the essential guide to OCTOPUS Administration, covering all the major tasks that you as an Administrator need to complete. It defines the main OCTOPUS objects, illustrates the main workflow setup options and explains step-by step how to handle everyday administration tasks.

To understand the administration of OCTOPUS, first study the OCTOPUS User Manual as well as the workflow used in your newsroom.

Chapter 2. Definition of Terms and Octopus Objects

OCTOPUS uses the object model described below.

Story

The story is a basic format of OCTOPUS. It is a story or item that one reporter is working on and can be assigned to that reporter. The story script contains all the text for the anchor, for VOs, or even packages. It also describes all the technical commands like video clips, CGs or graphic pieces used with the story.

Element

Each story contains one or more elements. These are separate parts of a story that your journalists use for composing the stories like anchor intros, packages, VOs, SOTs etc. Each company can have a different naming convention for these and OCTOPUS allows you to define it.

Story script containing “st” and “video” elements

Rundown

When you combine several stories in the list to make a program, it is called a RUNDOWN in OCTOPUS. Each story line in the rundown is called a SLUG. Unlike the story folders, the rundown displays the story in the order that they will be broadcast and calculates show times. This is how the on-air program is built.

Rundown Preview

Show

“News at 6” or “Sport at ‘15” are SHOWs. Each show has its own rundown, where the stories are put in. Different user rights can be defined for each show type.

Channel

Each show should be assigned to a channel. There is one CHANNEL defined in OCTOPUS for each on-air stream your TV station is producing.

Story Folder

When you organize the stories in groups, it is called a folder in OCTOPUS. Each folder contains stories related to each other, for example, all business stories or all sports stories. It is up to you how you define your folder structure.

Forms and Columns

Each rundown, container and some other objects have the visual representation described by FORMs and COLUMNs. Columns and their labels and formats are definable. There are columns with fixed meaning like “story duration” and there are also columns where the meaning of them can be defined. The form itself is composed of both of these types of columns.

Folder

Folders are the menu options on the left-hand side of the screen. The structure of the menu is defined in the OCTOPUS admin GUI and user rights can be defined to allow each user to see different folders in their main menu.

User

OCTOPUS is only accessible to a list of users defined in the system.

User group

Rights in OCTOPUS are definable for user groups. Users sharing common rights are contained within the same group.

MOS

Media Object Server protocol is a standardized protocol for communication between a newsroom computer system and third party devices. These may be Teleprompters, Character Generators, Media servers, Playout Servers, NLEs and much more.

Chapter 3. Admin Interface

OCTOPUS Admin GUI is available immediately after installation. Accessing OCTOPUS using the Administrator account will display all the administrative folders.

The Admin menu will appear on the left side, a typical admin menu will look like the screenshot below.

Admin menu

Later you will be able to reorganize your admin menu as required.

Chapter 4. Definition of Workflow

Regardless of whether you are 24/7 news channel, a multi-channel entertainment company or a regional channel with one news show per day and regardless of the workflow you are using in your newsroom, you have to define the following areas before OCTOPUS can be used by journalists. This step-by-step guide will help you through this process. The original configuration can be changed in future. It is not essential to follow this sequence exactly, but it's a good idea to ensure that you don't forget anything. Before you start, you should be familiar with your newsroom workflow processes.

4.1. Story Elements

Select Admin/Story/Elements from the main menu and use New button to create new story elements. OCTOPUS defines 7 basic story element types (out of which 2 are mostly for backward compatibility) and 3 special elements types:

STUDIO

This is a live event broadcast studio set. It can be anchor intro or tag, chat with a guest. Duration of this element is always counted from the text. There is actually no clip assign to it. The text of the STUDIO element is sent to the prompter screen.

LIVE

This element is defined by external live source. Duration is based on the estimated duration of the slug. The LIVE element is sent to the prompter.

VIDEO

Any piece of video or audio material played from any kind of device. Examples are package (PKG), SOT (sound on tape), SB (soundbite). Duration of this element based on either a ready video clip that has been added or, if there is no clip or attached clip is not ready yet, then duration is based on the estimated slug duration. This element is usually not sent to the prompter (this can be configured).

Empty VIDEO element

Empty VIDEO element makes the whole story NOT READY, because of that the (Real) Duration is equal to the Planned duration.

VIDEO element with placeholder

VIDEO element with the placeholder inside behaves the same way as if it would be empty in terms of duration. It makes the whole story NOT READY, thus the (Real) Duration is equal to the Planned duration.

VIDEO element with READY clip

VIDEO element with the READY clip with the duration (this information is received from the Media Asset Management) makes the story READY. The actual clip duration together with other elements duration is counted to the duration of the story.

All VIDEO elements have to be READY in order to calculate the story duration in case of that multiple VIDEO elements are used, the (Real) duration is equal to the Planned duration otherwise.

LIVEVIDEO

Duration is always based on estimated duration of the story. It is possible to add a clip to this element.

TAPE

This element is for adding a tape from the OCTOPUS tape library to the story. Duration is based on the IN and OUT points entered for the tape. This element is backward compatible with OCTOPUS5 behaviour and it is normally not used (as most customers are using MOS nowadays)

VO

This is a video element where the audio comes from another source (usually anchor or live). This can be VO (voiceover – anchor speaking over rolling tape) or a graphic (realtime graphic with anchor comment) but also a phone call (photo of person speaking and sound from phone hybrid). The duration of this element is always based on the text, not from the duration of the clip. This element is usually sent to the prompter.

INSERT

A special element that allows import of content from external systems via special OCTOPUS service. This is used usually for commercial scheduling from third-party traffic systems. Again, this element is used in stories in show templates. INSERT is never sent to prompter.

JINGLE

This special element is placed in special stories called JINGLES. These are all the bumpers, opening and closing graphics or fillers. Usually, the JINGLE story type is added to show templates. The duration of a JINGLE is based on the duration of the clip assigned. JINGLES are not sent to the prompter.

BREAK

A gap in the broadcast of defined Rundown, typically handing over to different control room to broadcast advertisements. A special element that has zero duration no matter what is in it.

LEGACYVIDEO

Any piece of video or audio material played from any kind of device. Examples are package (PKG), SOT (sound on tape), SB (soundbite). Duration of this element is based on either a (any, even not-ready) video clip that has been added. If there is no clip or a not ready clip, the duration is based on the estimated slug duration. This element is backward compatible with OCTOPUS5 behaviour.

Empty LEGACYVIDEO element

The duration of the empty LEGACYVIDEO element is counted based on the text in it. This duration is used together with the duration of the other elements for the whole story duration.

LEGACYVIDEO element with placeholder

Placeholder in LEGACYVIDEO element resets the duration of that element to zero. This duration is used together with the duration of the other elements for the whole story duration.

LEGACYVIDEO element with READY clip

LEGACYVIDEO element with the READY clip with the duration (this information is received from the Media Asset Management) makes the duration of the element equal to the duration of the clip. The actual clip duration together with other elements duration is counted to the duration of the story.

RADIO

Duration of this element is calculated according to the text together with the mos objects inserted directly into the script (subelements/subitems/commands).

NOTE

This type of element is used only for the notes directly in the story script. There is no duration of this element.

VIDEOTEXT

Any piece of video or audio material played from any kind of device. Examples are package (PKG), SOT (sound on tape), SB (soundbite). You can add the clip inside of this element but the duration is counted based on the text until the clip is READY, then the clip duration is used instead. The original idea is that you can write the text and use it as the estimated time for the placeholder. It is the hybrid between the VIDEO and VO.

Empty VIDEOTEXT element

The duration of the empty VIDEOTEXT element is counted based on the text in it. This duration is used together with the duration of the other elements for the whole story duration.

VIDEOTEXT element with placeholder

The duration of the VIDEOTEXT element with the placeholder inside is counted based on the text in it. This duration is used together with the duration of the other elements for the whole story duration.

VIDEOTEXT element with READY clip

VIDEOTEXT element with the READY clip with the duration (this information is received from the Media Asset Management) makes the duration of the element equal to the duration of the clip. The actual clip duration together with other elements duration is counted to the duration of the story.

Here are some of the custom elements definition based on basic element types:

PKG

based on Video

VO

based on VO

Intro

based on Studio

Tag

based on Studio

4.2. Story Templates

When a story is created in OCTOPUS one of the story templates has to be used. Story templates contain a sequence of elements in an order that they would commonly be used, for example ST/VO or ST/PKG. Story templates can be edited in the same way as a script allowing entry of predefined text, formatting or other parts of the script.

For example, you can create a template for the show opening with a basic welcome sentence and a lower third for the anchor, which speeds up the script writing for journalists. To create a new story template go to Admin/Story/Templates from the main menu and hit the NEW button on the toolbar. Enter the name of the story template (this would typically be in the format ST/PKG for example) and tick the box if this should be the default template for all newly created scripts. Next, select the new story template and click on the SCRIPT button on the toolbar, this opens the template and allows editing in the same was as creating a script. (See the OCTOPUS User Guide for details on script writing).

Story Templates Section and New Story Template Dialogue

4.3. Story Status

The story status identifies how far along the production process the story currently is. There are 16 states with definable colours and rules; these should be configured to indicate the different stages of your story production process.

Here is one example of how story status might be configured:

RED

the story is assigned, but nothing was done

BLUE

the script is done, the reporter has ticked the “script” tick box

ORANGE

visuals are done for this script, the reporter ticked “visuals”

GREEN

the story is ready to air, the producer has checked the visuals and other content and ticked “ready to air”. The story is now automatically locked and only users with Masteredit user rights can modify it.

Tip

It is possible to configure story status content field to show: state text (Script,visuals,Approved),initials of last modifier (O.A = octopus administrator), or both.

To configure this go to Administration-->System setup--->Story tab --->status field content.

To define a new “workflow checkpoint” or status, go to Admin/Story/Status and then choose the states tab. Choose one of the unused rows and click the EDIT button on the toolbar. Type the name of the new story state and tick the active tickbox.

States Tab of Status Section and Edit Story State Dialogue

Next choose the colours tab to choose a colour to be displayed when the rules matching your new story state are met. Click NEW on the toolbar and then click on the coloured square to display a palette of available colours, click the required colour on the palette. You can also choose some text to be displayed within the coloured status indicator, such as S for script, V for visuals etc. There is also an option MASTEREDIT, this should generally only be ticked for your READY TO AIR status.

Story Status Colours Tab and Edit Story Colour Dialogue

To create the story state rule, click the Rules tab. To create a new rule click on the NEW button on the toolbar. The New Story Status Rule dialogue contains three drop down lists, the first is for choosing IF/IF NOT, the second for the name of the story state and the third is the colour that should be displayed if this criterion is met. Rules can be dependant on other rules, this can be achieved by leaving the top level rule without a colour defined and then dragging and dropping other rules on top of that – as in the below example.

Story Status Rules Tab and Edit Story Status Rules Dialogue

4.4. Story Colours

On top of story status, stories can also have different colours. You can define rules for story colours in Admin/Story/Color rules, rules are based of story format (ie. order of elements). You can either enter exact story format such as "STUDIO/VO", or you can use wildcards. Supported operators are "?" meaning one element of any type, "+" meaning one or more element and "*" meaning any amount of them. If you want to mark stories with LIVE element inside, you could either use "LIVE" in rule, which would only match stories with exactly one element of LIVE (so LIVE/VO would not match) or "LIVE/*" which would match LIVE, LIVE/VO, LIVE/LIVE and so on.

Story Colour Rule Edit Dialogue

4.5. Story Descriptions

Up to 8 plain-text description fields for stories can be defined. In most newsrooms, just one story description is sufficient and nothing extra needs to be added. However, it is possible to create multiple story description tabs. This is particularly useful for planning/newsgathering folders which allow editing only of the description tabs and not the actual script body. Please see the Story Folders chapter of the user manual to become familiar with these types of stories.

To create extra story description tabs, go to Admin-Story-Description and click the NEW button. All that is required in the new story description dialogue is to enter a name and tick the enabled box.

Story descriptions - Edit dialogue

Story description templates allow you to have text and formatting automatically added to the description tab. If you would like to create a story description template for use with this new story description tab, go to Admin-Story-Description Templates. Choose the newly created story description from the drop down list below the toolbar and then click on the NEW button on the toolbar. Give the template a name and then enter in the text field below any text that you would like to have added by default to the story description when this template is applied, click OK.

Story description templates - Edit dialogue

The new story description will now be available when a new script is created or later when editing the script properties in a normal scripting story folder. In the newsgathering/planning folders, these story descriptions will be displayed when double clicking the story from the list or by selecting the story and clicking EDIT on the toolbar.

4.6. Jingles and CGs

You need to predefine your Jingles and Character Generator templates in order to be able to use them in stories/rundowns later.

4.6.1. Jingles

Jingles are usually short clips used at the start or end of a show and/or before or after breaks. With MOS integrated media, you can obtain exact jingles from your Media Server and use them in your rundowns. But first, you have to create “links” to them in OCTOPUS. To define your jingles, go to Admin/Story/Jingles section, and hit NEW toolbar button.

New Jingle – Dialogue Window

Fill in name of the jingle, and click the default tickbox if you would like this to be the default Jingle and then click OK. Now click on the SCRIPT toolbar button, and then click EDIT on the script toolbar. Right click in the script editing area and choose NEW – JINGLE. To add clip to this jingle element, either start typing in the name of the clip into the Name field and choose from the drop-down list of matching media, or right click on the dark grey part of the media form and choose MOS – BROWSE and then choose the clip from the Browse Media dialogue – see screenshot on the following page. (For more detailed advise on adding media to scripts, see the Scripts chapter of the OCTOPUS User Guide).

Selecting Browse for Media in Script part of Jingle

4.6.2. Character Generator Templates (CGs)

Character generators are used for on-screen graphics, displayed while a show is being broadcast or recorded. Character Generators use graphics templates of many types (e.g. on-screen persons’ names & titles, sports tables, etc.) These templates consist of graphics and predefined spaces for text lines. Texts can be either input manually (by extra staff), or automatically using OCTOPUS CG Sender Application. In this second case, journalists write all the CGs’ texts. A third option is to use a third party active-x to create the CG, including the text, and then add this as a MOS object in the scripts – this option is dependant on the 3rd party Active-X software and therefore cannot be covered in more detail in this guide.

If you plan to use OCTOPUS CG Sender to send the CG text, you have to define the available CG templates in OCTOPUS. You will need some help from the graphics department for this as they will need to provide you with all the graphics templates used by the station. You will need all the CG templates numbers, and ideally JPEG image previews, these can be any size, but generally should be in the same proportions as the actual template to give users an idea of what the actual template looks like. These images are not mandatory, but it is a useful way of providing a preview of the actual template to users.

Create a new folder on the OCTOPUS server within the $OCTOPUSDIR called CG-templates (any location on the server will work, this is just a suggestion) and copy the JPEG files to the new folder. It is a good idea to name these JPEG files as $TEMPLATENUMBER.jpg where $TEMPLATENUMBER is a template number of the particular CG template. (e.g. 5000.jpg; 5001.jpg; etc.)

After you have a list of templates and images ready, go to Admin/CG/Templates section of the main menu and click the New button.

New CG Template – Dialogue Window

Fill in the Template Name (this should be something easily understood by users like Lower Third, 2 Lines etc.) the template ID as provided by the graphics department, the Blank ID - if any (ID of the “blank” Graphics Template) and optionally the IN and OUT times which would be entered by default when users select this template.

To choose the background image click on the background button on the toolbar and browse for the JPEG file that you saved to the server earlier and then click on the Open button.

To add a new text line, which will be seen on a CG, click the down arrow on the New button and choose Edit. You can then Drag-and-Drop it to its real position. There’s an important thing to notice about each of these edit lines, they each have a line number determining the position within the template. The number of lines and their positions must correspond to the numbers and positions of the template on the CG device. Accidental switching two lines, may lead to the text being displayed in the wrong order on the CG machine. If the edit lines are in the wrong order, rather than rearranging by drag & drop, you can click the Renumber button on the toolbar which will consecutively number the lines starting from the top-left and ending at the bottom right of the template.

In addition to edit lines, you can also insert labels. Labels are only used to describe an edit lines content. You should use them particularly if you have not provided the preview images as users may have no idea what type of information should be entered in the edit line. To position the labels and edit lines of the CG neatly select the labels or edit lines that you would like to align with Ctrl + click, then click the down arrow on the ALIGN button and choose the way you would like to align these fields – LEFT, RIGHT, TOP, HORIZONTAL or VERTICAL.

CG Template with Background Image, 2 Labels and 2 Edit Lines

When the template is ready, click the Save button, which will take you back to templates list.

4.7. Show types

The types of shows in your schedule are defined here. Rundown duration does not matter for show types, at this stage you only need to define the type of program. For example, you might have a program News at 6, with 20-minute duration and another News at 10 with 30-minute duration. Just one show type 'News' can be created. A different show type would be created for a Sports bulletin, however.

As journalists may work on one particular show type, but should not have access to others, different user rights can be set up for each show type and channel combination. For example, you might have two show types, News, and Sports; and a journalist that should have the rights to work on the News , but not the Sports programs – defining these show types allows you to define the user rights accordingly.

Enter the Administrator/Show/Types option and add all the show types you need for your schedule. Once entered, the show type can only be edited or archived, not deleted; so be careful to only add necessary show types. The default rundown template can also be assigned here (these will be created the next chapter Step 7). It is possible to set up automatic actions for the show types, including archiving, deletion, or deep archiving (additional configuration is required for this – ask OCTOPUS support). For each automatic action, you can define a period of time in either hours, days weeks or months after the show has ended that the action should take place. It is important to either archive or delete old rundowns particularly in 24/7 news channels as keeping numerous rundowns active in the database will take up space necessarily and may eventually slow the system down.

Show Types Preview

4.8. Rundown Templates

For each show type at least one rundown template should be created. You may also have several templates for each show type, for example for a “News” show type, there might be a different template for “News at 6” and “News at 10.”

To create a new rundown template go to Administration/Show/Rundown Templates and click the New button; you will be presented with a dialogue for entry of the template name and planned duration – enter these details and click OK.

New Show Template Dialogue

For each template, content can be defined. Click the Content button on the toolbar to get to template editor. The template can consist of any of the usual rundown content; jingles, predefined stories (such as news opening and closing studios), breaks, commercials, segments, text notes and an off-air line. Stories may be marked as skipped if required in the template as well. Any of these items can be created by clicking on the down arrow next to the New button on the toolbar and selecting the relevant type of slug. Reordering can be achieved with drag and drop. Creating rundown templates is the same as creating an actual rundown, so for more details on how to create this template, please see the Rundowns and Broadcasting section of the OCTOPUS User Guide. When you have finished editing the content, just close the tab.

Rundown Template Content

If you have the same program repeated at different times of the day, with the same duration – generally the same template can be used for all of these rundowns, this will make the workflow more straightforward.

4.9. Show Schedules

OCTOPUS rundowns are created in advance, automatically, according to the defined show schedule. This means that producers will have the basic outline of the rundowns ready each day, including content like headlines, bumpers etc.

To create the show schedule, go to Administration/Show/Scheduler and click the New button on the toolbar. In the new Show Schedule dialogue, you need to name the plan and choose how many days in advance the rundowns should be created from the drop-down list. When the Recreate Rundowns checkbox is checked, OCTOPUS will automatically recreate any shows that have been deleted before their scheduled start time as long as this is after the Create Rundowns From time. You can also add a description for the plan, if this is the holiday schedule then describe its intended use here, then click OK to save it. More than one show schedule can be created for each channel, but only one at a time can be assigned.

New Schedule Dialogue

To add rundowns to the schedule, select your newly created schedule and then click Content on the toolbar. The schedule is defined on a weekly basis, to add a new rundown to the schedule click New on the toolbar. Choose the required Show Type and Rundown Template, enter the scheduled start time, and check the days that this show will be aired, set MOS redirection (if using MOS) and define the desired Automatic action (Archive, Delete, Deep Archive) and the time frame after the schedule start time that this action should take place. Rundowns can be also scheduled as Connected, which means that the connected rundowns start time will be equal to the end time of the previous rundown, regardless previous rundown’s duration.

To edit the properties of shows that have been added previously to the schedule, select the rundown or rundowns (using Ctrl + click or Shift + click) and then click the Edit toolbar button.

To delete rundowns from the schedule select the rundown or rundowns and hit Delete toolbar button.

Schedule Content and New Scheduled Rundown Dialogue

When all rundowns have been added to the schedule, go back to the list of show schedules and assign the plan to a channel by clicking Plan assignment on the toolbar. The plan assignment dialogue allows you to assign a schedule for each channel and to specify how long the plan should be applied for in the date and time fields Create Rundowns From: and Create Rundowns To:; if you are going to specify a date range, don't forget that you will need to assign a new plan to the channel at the end of this period. By specifying a date range you can prevent having rundowns created for more than one plan when the switch to a new plan takes place. If no dates are entered the plan will be assigned indefinitely, but note that it will never create rundowns for a time already past or beyond the configured number of hours in advance. The schedule will be applied when the OK button is pressed; the procedure which creates the rundowns automatically runs periodically throughout the day – if you want the rundowns created immediately, click Schedule now on the toolbar.

Schedule Assignment to Channels Dialogue

4.10. Story Folders

Stories in OCTOPUS are organized in folders. The folder structure is very flexible and can be configured according to your newsroom workflow; consultation with management staff should help you with defining this structure. There are two types of story folders, scripting folders and newsdesk folders (which allow access only to story properties and the background information tabs. If your organization plans to use Assignment desk folders, possibly you might have separate assignment folders for each day of the week (Mon-Sun). Scripting story folders are generally either based on subject e.g. sport, business, economics; or these folders could be based on shifts Morning, Afternoon, Late etc. The folders structure is dependent on your newsroom workflow; therefore management staff could help you with its definition.

To create story folders, locate to Administrator/Story/Folders section in the main menu. Click New on the toolbar and enter the name for the folder and enter any required automatic actions (Archive, Delete, Deep Archive), it is a good idea to apply automatic actions to avoid keeping the unnecessary material in the database.

New Story Folder Dialogue

Create all the story folders that you need, note that it is possible to add subfolders by dragging and dropping the story folder onto another story folder. Next, go to Administrator/Menu Structure. To keep the main menu tidy, it is a good practice to put the story folders in a folder; click the New button on the toolbar, choose Folder from the drop-down list in the Main Menu Item dialogue and name the folder e.g. Assignment Desk or Story Pools. Next start adding the story folders by again clicking the New button, but this time choose Story Folder from the Type list. Name the story folder, then select the story folder you created earlier from the list below.

Adding Story Folders to Main Menu

If this should be an Assignment Desk type of folder, choose Story Only from the Available Edit Story Mode list; if this will be a standard scripting folder, choose Both, Script Default.

Calendar mode enables a calendar filter for the folder, this might be particularly useful for Assignment Desk folders so that reporters can easily filter assignments according to date.

Note

See the Story Folder chapter of the user manual to understand how the calendar works

If you would like to add a tree (top level folder and sub-folders) to the menu, choose the top-level folder from the list of story folders and then choose Selected and Subtree from the Subfolder Tree Mode list.

Note

Currently the subfolders will be available only via a drop-down list displayed under the story folder toolbar; in future versions it will be possible to display the subfolders directly in the main menu in a tree.

4.11. System Forms, Filters, and Fields

In addition to OCTOPUS automatically saving user forms for viewing lists and users being able to create their own forms, you can define system wide forms which will be the default for all users when they first open each section of OCTOPUS. For the Media and Rundown list sections custom filters can also be created to allow sorting of the items. It is also possible to change the labels displayed as column headers for all users to localize this part of the interface.

4.11.1. System Forms

To modify the system forms that will be the default for all users, go to the Administrator/Forms/Forms section in the client (if it's not present, you can add it via Administration/Menu, add "AS forms"). Choose the form that you would like to modify from the list and then click the Edit button on the toolbar. Be very careful if you change the name of a system form as deleting it may cause issues. It is generally safer to work on a copy: select the original form and click the Copy button on the toolbar.

The list of available columns is on the right, these can be dragged and dropped into the form editor area on the left. The columns displayed in the form editor can be reordered by left clicking on the column header and dragging and dropping to a new position. To resize the columns, hover over the join between the column headers until you see the icon with an arrow at each end, then left click and drag left or right to resize. To delete a column right click on the column header and choose Delete. When you have finished modifying the form, click the Save button.

Form Editor showing the Rundown system form

The Default checkbox makes sure that that form will appear by default when opening a section of that type for the first time or when the previously active form is removed.

You can do certain actions on the columns or rows as well. If you do right click on a column you can do:

  • Set default width - resets the width to the default value

  • Set width - you can define width in pixels

  • Merge cells in column - you can merge cells in selected column(s)

  • Delete this column - you can delete selected column(s)

  • Add a new column here - you can create new column. New column will be created on the right from selected column

Or if you do right click on a row you can do:

  • Set default height - resets the height to the default value

  • Set height - you can define height in pixels

  • Merge cells in row - you can merge cells in selected row(s)

  • Delete this row - you can delete selected row(s)

  • Add a new row here - you can create new row. New row will be created under selected row

  • Set as border of extend/Unset as border of extend - you can mark selected row(s) as extended part of the form. Every user can enable Extended information in the form of the particular section. It does not break the column layout as if you only merge fields into one field in a single row

System forms vs user forms: right clicking the header of a list offers a context menu with many options. The first ones are the system forms. The user forms are usually positioned lower.

Once you make changes to a form from the user level, a user form will automatically be created and protected. The protected option ignores the changes made to the form after it receives this status. This helps to avoid future accidental changes. If you want the new changes to be remembered you can un-protect it or safe as a new user. All these options are available in the same menu. Please see the example below:

System form vs user form rundown example

Applying form changes: the changes made to the system forms may not be visible automatically in their corresponding section manly because you may be already using a user form. You have to select the system form from the top of the context menu in order to see the changes or you can delete the user forms if they are no longer needed and Octopus will load the default system form automatically.

4.11.2. Filters for media or rundown list

It is possible to create filters for the Media section or for the Rundown list to make it easier for users to find the items that they need. Creating filters is very similar to creating system forms, open the Administrator/Forms/Forms section of the client and then choose the form that will be used to create the filter – if you are creating a Media filter choose MEDIASIMPLE, if you want to create a filter for the Rundown list choose the form called SHOW. The first thing you need to do is create a copy of the form, so select your form and click the Copy button on the toolbar, this will create a copy of the form with (1) appended to the title. Choose the new copy of your form and click Edit on the toolbar.

Once you have the form open in the form editor, enter a name for the filter into the Name field, then select Filter from the Purpose drop-down list. Now you can start adding the required fields to the form, these can be added by dragging and dropping the fields from the list on the right of the form editor. Delete those that are not wanted by right clicking on the column header and choosing Delete. You can add Labels to empty columns, to add an empty column to the form, right click in a vacant area of the form and choose Add New Column from the context menu. Then double click in the new column and type in the text label. Some columns are not allowed to be used for the purpose of a Filter, the following are examples of commonly used Media and Rundown List filters:

Editing Media Filter

Editing a Show/Rundown List Filter

To test your new filters, open the Media or Rundown List section as required, then choose your new filter from the Filter on the toolbar. You should see the labels and fields that you added to the filter displayed above the list as in the example below. Choose the required options/dates available in your filter and then click Apply, you should see the list of items narrowed down accordingly.

Applying a Filter to the Media Section

Media filters can be added to the main menu to allow users to easily view media items from a particular integrated device. To do this, choose the Media device only and do not filter according to date, then Apply the desired filter to the list. Once the filter is applied, choose Save as New Public Filter from the Filter menu on the toolbar and name your filter according to the name of the integrated media device. Once you have saved the new public filter, there will be a new option on the Filter menu – Add Filter to menu. After choosing to add the media filter to the menu, a new option will be available in the main menu as a sub-folder of media, this will contain the filtered list of media.

Filter menu showing “Add Filter to the Menu” option.

4.11.3. System Fields

Modification of system field names should be carried out by an OCTOPUS engineer if you require changes to the field labels or please contact OCTOPUS Support.

There can be up to 64 custom fields for stories and slugs, 64 for assignments, 32 for topics and 10 for contacts. The data type is configurable. The following types are available:

  • String

  • Number

  • Float

  • Date

  • Date and Time

  • Time

  • Timecode MM:SS

  • Timecode HH:MM

  • Timecode HH:MM:SS

  • Timecode HH:MM:SS:FF

  • Boolean (Checkbox)

  • Dictionary (The dictionary options must also be defined)

  • User(s) from Right group and/or user groups

  • Right group

4.12. Contacts/Guest Bid Status

To allow proper management of bids and guests you must define the bid statuses in Admin/Contacts/Bid Statuses. Typically you will need at least two statuses, a status for a NEW bid and another for CONFIRMED bids. To create a new status, click the New button on the toolbar enter the name of the status and click OK. For the confirmed status, you should tick MOVE TO GUEST LIST, so that all confirmed bids will automatically be added to the guest list.

Bid Status Tab and New Bid Status Dialogue

Chapter 5. Custom Tags

Custom tags can be created for either marking the script or adding duration. Once created these tags will be available when right clicking in the text editing area of a script and choosing New, the custom tags will be at the bottom of this list. To create a new custom tag, go to the Admin/Story/Tags section of the Octopus Client. Name the tag, choose whether you want it to be a simple mark or a duration tag and enter the text that should appear in the tag. For a simple mark, there are formatting attributes available including font size, bold, and foreground and background colours. The duration tag has an additional option for entering a default duration. See the below examples of Mark and Duration tags.

Custom tag - Mark type

Custom tag - Duration type

Chapter 6. Story Locks Management

Whenever a script is open for editing, a lock is automatically applied to the story to prevent other users from modifying the story’s content. But, if a user starts editing a story and then forgets to save and close the script, the lock will remain. If other users try to edit this story, they get a message warning them about the story being already locked by someone else. Some users can be assigned the lock picker right to allow them to take over a story lock, see the user rights section of this guide on how to assign these rights. Users could also send a message to the user who has locked the story.

As a last resort, there is the lock manager available in Admin/Story/Locks which will display all current story locks with the name of the story, the name of the user that locked it and the time that the story was locked. There are two options available from the toolbar, SEND MESSAGE and DELETE. Select the lock you would like to manage and click SEND MESSAGE to send a message via OCTOPUS messaging to the user that has locked the story. Otherwise, you can choose to delete the lock – if you do this the user will lose any unsaved work.

Story Lock Manager

Chapter 7. Spell-check Dictionaries

Spell-check dictionaries compatible with Open Office 3.0 (.oxt file extension) can generally be used with Octopus. These files can be downloaded from http://extensions.services.openoffice.org/dictionary. These .oxt files need to be signed by a certificate of the Octopus Newsroom and needs to be saved to the octopus\server\extensions\dictionary directory; the OctopusServer service needs to be restarted when a new dictionary file has been added to this directory.

Once the dictionary has been added it should be available for selection via the Config button on the Story Editing toolbar. If you want to apply a spell-check dictionary to all users, click the Admin button, check the Spellchecker option and then choose the Spellchecker Language from the drop-down list and then click OK.

Story Editing Config Dialogue

Chapter 8. Assignments

8.1. Introduction

Assignments are used for the planning of the events. You can schedule the event, assign the people and link attachments like pictures, files, URLs, text notes, and stories. Assignee receives the notifications about the changes in the assignment.

8.2. How to find it

There should be a menu item called Assignment folder under Administration in the Octopus client. If not you can add it into the menu. Go to the Administration / Menu and click New. Search for menu type called Admin assignment folder.

8.3. Tool bar

New

Create new assignment folder, you can create root folder and subfolders by drag and drop over the root folder. You should think about it in terms of rights as the rights can be set for parent folder including the child subfolders. You can specify the name, background and foreground colour.

Edit

You can edit the selected assignment's properties.

Delete

You will delete selected assignment. A confirmation dialogue will pop up.

Open

You can open and see the content of the selected assignment.

8.4. User case

How to add new Assignment?

Adding new assignment has five steps.

  1. Create new Assignment folder under Administration / Assignment folder. If it is not in the menu follow the "How to find it" section.

    Administration / Assignment folder / Structure

  2. Add it to the menu in general. Go to the Administration / Menu / click on New and search for Assignment section. Select the Assignment folder from the folder available in the Parameters and choose the Mode (Selected only, Subtree only or Selected and subtree) and/or check the Show folders in the menu. The new menu item will appear after clicking on OK.

    Administration / Menu / Adding assignment folder to the menu

  3. Add it to the menu for the desired user group. Go to the Administration / Users / Groups, select the group click on Edit switch to the Rights tab. Right click in the Menu section and select Add Rule. Select the assignment you want to add from the drop-down list.

    Administration / User groups / Menu rights

  4. Assign the rights - switch to the Assignment section, right click in the right part, select Add Rule an select the assignment folder. Then check the rights (Create, Delete, Delete Own, Read, Read Own, Modify, Modify Own).

    Administration / User groups / Assignments rights

  5. Press OK. The rights will be instantly assigned. No need to restart the octopus client.

Chapter 9. Users and User Groups

9.1. Authentication

There are two possible types of user authentication in OCTOPUS, Basic and LDAP. Under Basic authentication, the username and password are stored in the OCTOPUS database; all users must be added manually. If LDAP is being used, users can be imported from and authentication will be handled by the domain controller. OCTOPUS client stations and the OCTOPUS server should be included in one domain. The username is a unique identifier and administrator should make a policy not to make changes to it during the system’s lifetime, although it is possible. Regardless of the authentication type, adding users is done via the Admin/Users/List section of the Main Menu.

9.2. User List

To create new users manually, click New on the toolbar and then enter the mandatory details: User name, Long name, Short name, Password, Department, and Title. The Department and Title lists depend on your local environment and dictionaries of these need to be created in the Admin/Dictionary/Department and Admin/Dictionary/Title sections.

To import from LDAP, click on the User import button, this will show all users in the OU specified during the system configuration. The multi-select list displayed can be filtered. You will still need to edit the imported users to add the mandatory details that are not automatically completed. Users cannot be deleted, instead, they can be deactivated to prevent them from logging to the system in the future. Users are kept for the audit and they might also be connected with the content of the database.

Import user – Dialogue Window

The non mandatory fields are accessible to the users by right clicking on the green server status dot in the center at the bottom of the screen and choosing USER PROFILE.

Add User – Dialogue Window (Note: no password fields if LDAP is enabled)

After creating users, they should be assigned a channel. Click the CHANNELS toolbar button to assign users a channel.

User rights set up can be accessed under Admin/Users/Group List. To create a new User Group, click on the NEW button. Under the basic Tab, Enter a Name for the group and then add members to the group either by clicking the '…' icon and choosing users from the multi select list or by starting to type usernames into the text field next to this.

New Group Dialogue

You can also copy the settings of the existing group. Click the Copy button from the toolbar and enter the Name of the new group, you may select to just copy the members, the rights of the group or both. This option will avoid configuring almost the same rights to a new group (with majority of similar rights) again.

Copy Group Rights Setting

User groups can be configured as a hierarchy, just drag and drop one group onto another and it will become the child group - see the screenshot on the next page. User rights are inherited from the parent group to the child, so the least powerful users should be in the parent group and the basic rights like Read Own should be applied at this level. More senior users should be added to the child groups where additional rights can be applied. User rights that have been applied in a parent folder will appear grayed out in the child folder if a rule applying to the same section is added. For a complicated user rights configuration, you can have many separate top level groups/hierarchies - the Show Rights button available from Admin/User/List toolbar will be useful to determine effective rights in this situation. There are no 'No Access' rights, this removes a layer of complication.

User Rights Hierarchy

The Rights tab in the New/Edit group dialogue is where user rights can be assigned to the following sections: Main Menu, Wires, Story Folders, Channel & Rundown, Story Fields, Story Archives, Story Trash, Story State, and Roles. Throughout the rights section rules can be added in the same way, select the area on the left that you would like to configure rights for and then right click in the gray area on the right and choose ADD RULE. After adding a new rule in Menu, Wires, Story Folders, Channel & Rundown and Story Fields you will receive one or more drop-down lists. Leaving the drop-down selection as blank is a wildcard which means that the rules will apply to all of the options in the list. Some of the lists also include groups of items, such as the Main Menu list which will allow you to apply rules to Main Menu items that you have grouped together in folders.

Main Menu User Rights - List of Folders

The first requirement is to assign rights to the main menu, this determines which folders will be displayed and accessible to users in this group. Anything that you select from rule lists will grant the users in that group access to that menu item, there are no tick boxes for these types of rules. Access to the main menu item does not necessarily grant access to the contents of the section, this will depend on subsequent rules.

Wires - Select the wire folder that you would like to apply rules for or select the blank option to apply a wildcard. The options available include:

User Rights rule for Wires folder

Table 9.1. Wire Rights Options

RightDescription
CreateCreate a new wire in this folder.
ColourHighlight the wire in the list.
CommentComment on any wire in this folder.
ModifyModify any wire in the folder.
Modify OwnOnly wires that this user has created in the folder.
DeleteDelete any wire in the folder.
Delete OwnDelete only wires that this user has created in the folder.
ReadRead any wire in this folder.
Read OwnRead only wires that this user has created in the folder.

Story folder: user rights can be assigned to story folders or story folder groups, the available rights include:

Table 9.2. Story Folder Rights Options

RightDescription
CreateCreate a new story in this folder.
DeleteDelete any story in the folder.
Delete OwnDelete only stories that this user has created in the folder.
PurgePurge any story in the folder. (This removes the story from all assigned locations and is dependent on the user having sufficient rights in each location)
Purge OwnPurge only stories that this user has created in the folder. (This removes the story from all assigned locations and is dependent on the user having sufficient rights in each location)
ArchiveMove to Archive any stories in this folder.
Archive OwnMove to Archive only stories that this user has created in the folder.
ReadRead any stories in this folder.
Read OwnRead only stories that this user has created in the folder.
MastereditAllows user to modify stories that have been approved as Ready to Air.
Lock PickerAllows user to take over another users story lock.
Mos OperatorAllows user to make stories in this folder MOS active.

Channel and Rundown - rights can be applied to any Channel and Rundown Type combination or wildcards of either type:

Table 9.3. Channel and Rundown Rights Options

RightDescription
CreateCreate a new rundown.
DeleteDelete the whole rundown.
ModifyModify rundown properties, also allows deletion of Off-Air lines and Segment lines from the rundown.
ReadRead access to the rundown.
ArchiveMove the rundown to the Archive.
Copy to ArchiveUser is able to Archive a copy of the rundown.
MOS OperatorUser can make the rundown MOS Active or MOS Ready to Air
LockAllows user to lock the entire rundown.
Archive SlugMove to Archive any slug in this rundown type.
Archive Own SlugMove to Archive only slugs that this user has created in the rundown.
Create SlugCreate a new slug.
Read SlugRead any slug in the rundown.
SkipSkip and/or Clear slugs from the rundown.
MoveUser can change the order of slugs in the rundown.
Manual StartAllows user to Set the Manual Start time for this slug and start the timer.
DeleteDelete any slug in the rundown.
Delete OwnDelete only slugs that this user has created in the rundown.
PurgePurge any story in the rundown. (This removes the story from all assigned locations and is dependent on the user having sufficient rights in each location)
Purge OwnPurge only stories that this user has created in the rundown. (This removes the story from all assigned locations and is dependent on the user having sufficient rights in each location)
MastereditAllows user to modify slugs that have been approved as Ready to Air, they also have the right to delete Commercial slugs.
Lock PickerAllows user to take over another users slug lock.

Story Fields - this section allows user rights to be assigned at the level of story and slug fields. In most situations it may not be necessary to define user rights at such a detailed level, in this case adding full rights to the wildcards is all that is required. If you want to give users access to only certain fields you will need to specify the columns from the list and assign the appropriate rights, which include: Modify, Modify Own, Read, Read Own. There are following fields groups available:

  • All Slug Fields - fields related to the slug (Position, Manual Start and all Custom fields)

  • All Story & Slug Fields - fields related to the story and the slug and all Custom fields and Descriptions

  • All Story Fields - fields related to the story (Name, Planned duration, Scheduled from/to, Reporter, Status, Expiration and all Custom fileds and Descriptions)

  • All Regular Slug Fields - fields related to the slug but not Custom fields

  • All Regular Story & Slug Fields - fields related to the story and the slug but not the Custom fields and not the Descriptions

  • All Regular Story Fields - fields related to the story but not the Custom fields and not the Descriptions

  • Script -

Story Archive and Story Trash – These rights are all self-explanatory. You can define whether users can Read or Read Own and Purge or Purge Own in the Trash and Archives. Rights can also be assigned to allow users to Empty Trash or Empty trash Own.

Story State – For Each defined story state you can specify whether the group has Read or Modify access to the state. If the story state is Ready for Air (including Masteredit) for example, modify rights should be restricted to an Editor group.

Right Group - This option was added to the more recent versions of Octopus. It allows non-administrator users to manage the membership of other users to different groups in the system. Access to the Admin user group list menu item has to be provided of course (commonly found in Administration-User-Groups). The options available are:

  • Read - allows the user to see (in the Groups menu item) the group(s) for which he has this right.

  • Delete - allows the user to delete the group(s) for which he has this right.

  • Membership - allows the user to see, add or remove members.

  • Modify - allows the user to modify all the rights the users in this group have. IMPORTANT NOTE: please take into consideration that this allows a potential user to assign near administrator level rights in the system.

  • Create - allows the user to create new right groups in the system.

Role – The following roles can be granted to users:

Table 9.4. Group Roles

NameDescription
AdministratorHas full rights to every part of the system and can change system wide configuration settings.
Power userPower user group has the same rights as the Administrator with the exception that they can not see administrator part of the menu by default. You have to assign them particular menu item they should manage. You can, of course, assign the part of the administrator menu to any group, but it may happen that the changes will not be applied if it is done by somebody without the Power user role.
ReporterStories can be assigned to all users with the Reporter Role. This group of users will be listed in the Reporter list when assigning the Reporter to the story.
PresenterUsers with the Presenter role can be assigned as the Presenter for the whole rundown, particular story or a block of text in a script. This group of users will be listed in the Presenter list when assigning the presenter in the Rundown properties or in the Present tag.
PersistentUsers with Persistent role will never be disconnected by the server for being idle too long.
Mobile userUsers with the mobile role can set the Mobile user password and use the mobile/tablet clients.

Chapter 10. Wires, E-mails, RSS, SMS, Fax and other information sources

Wires are a source of information from the various news agencies for journalists to work with. The journalists read incoming wires and then use them as background information for writing scripts. Additional information sources covered in this chapter are RSS feeds, SMS, E-mail, and Fax. This chapter focuses on the administration of all data sources coming into OCTOPUS.

The diagram on the previous page describes how wires, E-mail and RSS feeds are added to the OCTOPUS database.

The WiresAgent receives raw data and converts it to text files. These files (or other files received by different program) are added to the database using InjectAgent. RSS, E-mail, and fax are received with special agents and the data is inserted directly into database without Inject Agent. When any of these sources are added to the OCTOPUS DB, Wire Filter Rules must be applied to sort the messages into different folders.

Before it is possible to start configuration, you should know the answers to the following questions:

1) How are the wires received? Are they coming through a satellite or another receiver or modem? In that case it will be necessary to install WiresAgent first to be able to receive data and save it as a text file. The text file will then be processed by Inject Agent and added to the database.

2) Are the wires already being received by a third-party program? If so, are the files plain text or XML? When the data is already received in a suitable plain text or XML format, only InjectAgent is required to add the files to OCTOPUS.

3) Is the data being received via E-mail? In this case the MailAgent needs to be installed to receive the mail directly and add it to OCTOPUS.

4) Is it an RSS feed? For RSS feeds we need to install RSS Agent which receives the feed and adds it to the OCTOPUS Database.

5) Are files being received via Fax? The Fax Agent is used to receive fax and add them to the database.

10.1. Working with OCTOPUS Agent

All agent share some properties. All of them can run as Windows services and they can run in the background on linux. Each of the agents can also be run from the command line, in that case it is necessary to execute 'java -jar Name_of_Agent.jar' Agents will typically be installed by the OCTOPUS engineer as part of the initial installation. The most important feature for the administrator is accessing the configuration interface, generally, this can be started by running setup.cmd or config.cmd in the directory where the agent is installed (typically C:\OCTOPUS\services\name_of_agent). If the setup.cmd/config.cmd files are not available the config interface can also be run by executing the command: java -jar Name_of_Agent.jar -s (please note the last parameter -s).

Some of the configuration parameters are common to all of the agents – these parameters are found in the tabs called: Log, Warning, and Server (tab Server is not present in Wires Agent as it does not need to connect to the database).

Log Tab

Here it is possible to set up the path for log files. It is recommended to put all log files into the directory: $OCTOPUS_installation_folder$/services/Name_of_the-agent/log.

E-mails can be sent automatically from OCTOPUS agents when errors are found, you will need to set up the log forwarding details for this to work. The Network listener field can be kept as suggested by the agent, typically the Netbios name. On the next line enter the smtp/mail server details, OCTOPUS requires anonymous access to the SMTP server. The check box on left side of this line must be checked to enable the email notification. Enter the email addresses that logs should be forwarded to into the fields Immediately and Daily accordingly (use a comma to separate them).

Agent Configuration Interface - Log Tab

Warning Tab

The warning tab allows you to specify the number of minutes of inactivity after which the agent will send a warning message to the email addresses added during the log forwarding setup.

Agent Configuration Tab – Warning Tab

Server Tab

The server tab is for configuration of the connection to the OCTOPUS Server. Enter the cluster name to the field Server. The username and password need to be created in the OCTOPUS client admin/user/list section, choose the agent type from the drop-down list below the toolbar and then create a user for each agent that needs to connect. Then enter this username and password to the server tab. The Service Name and Instance needs to be created in the OCTOPUS client Administration/Admin services section, choose the service type from the drop-down list and then fill in the name of a service for each agent that needs to connect and create an instance (A, B) for each of them and click Test Server Connection – you should see a green highlighted message indicating a successful connection. If the details are incorrect or the OCTOPUS server is unavailable then you will see a red highlighted message 'Can't connect to the server, see the logs for more information.'

Agent Configuration Interface – Server Tab

10.2. Wire Agent Configuration

The WiresAgent should be used when the receiver (satellite, modem or any other device) is connected to the computer through a serial (RS-232) communication port. Configuration details vary from device to device. Please ask your service provider for connection parameters. To add a new wire connection, click the ADD button on the PORTS tab. The following screenshot is an example of how it can look after completing the required details.

WiresAgent Configuration Interface – Add New Wire

In the Wire Agent, the Name field is just used to distinguish the sources.

The connection parameters required from the service provider include:

COM port settings: COM port (which port is a device connected to), Baud rate, Data bits, Parity, Stop bit.

Information about the raw data: Charset, Start and End characters (Characters used to indicate the start and end of each wire message)

The received messages will be saved as text files in the directory specified in the Location field, therefore a connection to the OCTOPUS server is not required.

Sometimes it is necessary to use a translation table, this allows you to convert characters to something more suitable when the charset of the raw data differs from the charset on the computer running the WiresAgent. The characters which we don't want to display can be replaced by other characters.

The translation table needs to have the extension .trt. Each line should contain an entry like: A = B. A is an unwanted character, B is the replacement. B is always a string value. A can be in one of following formats:

Table 10.1. Characters examples

ExampleDescription
u99Character 99 in Unicode
x99Character 99 as hexadecimal value
99Character 99 as decimal value
"x"String value

Example formulas: x4F = "c" | u0A = "r" | 125 = "z" | "\u" = "u"

When you have completed all the required fields in the ADD new wire dialogue, click OK to save the changes. To modify these settings use to select the wire from the list in the ports tab and click the EDIT button, or to delete it click DELETE.

10.3. Inject Agent configuration

The purpose of InjectAgent is to read any text file (whether received by WiresAgent or not) and insert it into the OCTOPUS database. Open the InjectAgent configuration interface and select the Wires tab, click the ADD button to open the new wire dialogue.

Inject Agent Configuration Interface – Wires Tab

The Name field is very important in the InjectAgent wire tab. Most of the wire filter rules will be based on this field, in the OCTOPUS admin/wire/rules section, it as referred as 'source'.

In example above, the Inject Agent is watching the folder /OCTOPUS/wiredata/APTN (Location) every 10 seconds (Interval) if new files (Watch events) are created. Also all files in the specified location would be processed on startup of Inject Agent.

After processing, the files are moved to folder /OCTOPUS/wiredata/APTN-done (After and To fields). The option force means that file with the same name would be overwritten. Files that cannot be parsed would be moved to /OCTOPUS/wiredata/APTN-failed any problems (Move Failed To:). It is not essential to move or copy the files after processing, the field 'To:' can be left blank.

Translation table field has the same functionality as the Wires Agent translation table. Please see the previous section for details.

In our example, the parser called IPTC7 (Title switch) is being used for the APTN wire. Inject agent contains some other built-in parsers like NewsML or NewsML2 for XMLs. For wire formats that do not follow the industry standards, a custom script can be created. To start writing a new script choose 'Custom script' or 'Custom JavaScript' in the combo called Parser and then click the button Edit (on the right of the Script field). Writing a custom script is quite simple, the required syntax and instructions are available via the Help tab – see screenshot below.

InjectAgent Custom Script Editor

For advanced scripts (necessary in cases where not all wires in the feed are in the same format) it might be necessary to write a Custom JavaScript instead. On-screen help is available in the same in a tab as with the Custom script. If you need assistance with writing these scripts, contact OCTOPUS Support.

10.4. RSS Agent Configuration

The general tab of the RSS agent configuration includes a few basic settings; most of the configuration for RSS feeds can be done in the Admin section of the Octopus client. The settings available are:

Table 10.2. RSS configuration fields

NameDescription
IntervalHow often the agent connects to OctopusServer in seconds.
Temp PathThe path for storing temporary files.
Proxy HostIf a proxy server is used, enter the hostname or IP here.
Proxy PortIf a proxy server is used, enter the port number used.
TimeoutTimeout in seconds, the default is 30.
Description CountNumber of characters to be included as description.

To add a new RSS feed, go to the Admin/Wires/RSS feeds section of the Octopus client and click the new button on the toolbar. You will see a dialogue box like the one below. Enter a name for this RSS feed in the Title field. The URL of the RSS feed should be entered as it would be accessed in a web browser into the URL field. Should credentials be required, just put them into URL like http://user:pass@server/location. The source is used for setting up wire filtering rules, so whatever you enter here must match your entries in wire rules. You can also set up wire rules within this dialogue by choosing from the available wire folders in the Store To field and ticking the Change Filter Rule tickbox. The refresh interval will determine how often the RSSAgent will check the RSS source for new items. Additional options include Save Offline and Extract Text from Page, choosing extract text from the page will allow the body text for each RSS item to be viewed in Octopus.

New/Edit RSS source dialogue

10.5. SMS Agent Configuration

Octopus SMS integration requires a GSM module to be connected via a serial connection to a machine with the Octopus SMS agent installed. The general tab of the SMSAgent has a few basic options, much of the configuration can be done in the Admin/SMS section of the Octopus client. The Name field on the SMSAgent general tab should match the name given to the SMS agent in the Admin/SMSAgent section of the client. The Port field is for entering the COM port that you have attached the SMS module to, and speed allows you to choose the appropriate baud rate.

The configuration options within the Admin/SMS section of the Octopus client are shown in the table and screenshot below.

Table 10.3. SMS configuration fields

NameDescription
NameThis should match the name entered in the SMSAgent general tab.
PINThe PIN number for SIM card in the GSM module.
Sending MessagesEnables Sending SMS messages using Octopus chat/instant messaging.
Receiving MessagesEnables receiving SMS messages into a wires folder.
Message LifeHow many SMS be stored on the GSM module.
Message ValidityHow long days the GSM module will try to deliver the SMS to the number.
Message EncodingTEXT or UCS2.
Provider SMS centerThe phone number for the SMS providers message service center.
EnabledTick to enable this SMS agent.

SMS agent configuration dialogue

To enable sending of SMS messages via Octopus Instant messaging or chat, GSM providers must be configured and users mobile numbers must be entered in their profile. To add GSM providers, go to Admin/Dictionary/GSM and click the NEW button on the toolbar. Enter the name of the service provider, the dialing code eg +420, the SMS format e.g. TEXT, and lastly the SMS character limits for the subject and body of the message. Users must edit their profile, choose a GSM provider from the drop-down list in the contacts section and enter their mobile number in the field next to this.

10.6. Fax Agent Configuration

Octopus FAX agent needs to be installed on a machine that has the fax modem connected. Installation and configuration of the standard agent tabs (Log, Warning, and Server) is as described in the above section Working with Octopus Agents. The general tab of the FaxAgent has the following options:

Table 10.4. FAX configuration fields

NameDescription
NameThe name of this source as used for the configuration of wire sorting rules. Typically 'FAX' would be used.
Temp PathPath to store temporary image files, for example c:\octopus\services\FAXagent\temp
Image width Scale FactorAn option for resizing the image width by a scale factor – the default is 1.0 which maintains the original width.
Image Height Scale FactorAn option for resizing the image height by a scale factor – the default is 1.0 which maintains the original height.
PortThe serial port that the fax modem is connected to.
Baud RateThe baud rate used by the modem.
Fax ClassClass of the fax modem, available options are 1 or 2.
Timeout (seconds)Default value is 30

You will need to configure wire folders and wire sorting rules in the Administration section of the Octopus client to display the received faxes in Octopus, this procedure is described in the following two pages.

10.7. Wire, RSS, FAX, SMS and Email folders

To receive Wires, RSS feeds, E-mails, SMS and Faxes into OCTOPUS you must have already created the wire folders and wire filter rules. To create a new Wire folder, go to Administration/Wires/Wire & Email Folders and click the NEWbutton on the toolbar. Name the wire folder according to its intended contents, for example, all wires from a source agency might be stored there, for example, AP or Reuters, or all wires according to a category such as Sport or Economics. There are two settings related to the purging of wire messages to avoid storing thousands of old wire messages in the database, Number of days – messages older than the set number of days will be purged, and Number of messages – once this limit is reached the oldest messages beyond this limit will be deleted. If you want to allow wires to be edited by OCTOPUS users or to have locally created wires, you can tick the boxes to 'Apply rules to manually updated messages' or 'Apply rules to manually created messages' to ensure that local content is sorted in the same way. The drop-down list 'After Wire Update:' includes options to have manually updated messages to be moved to the top of the list or to have a copy made with a version number assigned to it.

Wire Folder List and Create New Wire Folder dialogue

10.8. Wire Filter Rules

Wire filter rules are always applied when a new message is inserted into the database by one of the OCTOPUS Agents. OCTOPUS will apply all rules starting at the top of the list matching the new message.

Every rule has two parts: a condition (what we are looking for: source, keywords, category etc.) and an action (what will happen to the message: it will be moved to a folder, it will be marked with a colour etc.).

The wire rules are configured in the Admin/Wires/Rules section. To create a new rule click on the NEW button on the toolbar.

Wire Rules List and New Rule Dialogue

The possible conditions are:

- Always (blank); Source; Priority; Title; Keywords; Category; Subcategory

- IS (blank); IS NOT

- equals; starts with; contains

- String value

- Actions: move to folder; copy to folder; set/reset flash flag; set colour; delete

Rules can be created with any of actions or conditions. Rules can also be created that have sub-conditions, this can be done by dragging and dropping one rule on top of another. In the below example there are three rules applied to all wires that have the source CTK, if the priority equals 1 then the wire will be coloured, if the category equals sport the wire will be copied to the Sport folder, and all will be moved to the CTK folder. If you want to apply subsequent rules to a wire you should COPY the wire and then the last rule should MOVE the wire.

Wire Rules

When creating the rules you can use also the keywords like {TITLE}, {PRIORITY}, {CATEGORY}, {SOURCE}, {SUBCATEGORY} and {KEYWORDS}, for example set subcategory to {TITLE}.

Chapter 11. Notification Rules

The administrator has the option to force flash wires to appear in all users system widgets and can also apply notification rules to all users system widgets (see the next page).

To force all flash wires to appear in all users system widget, there is an option in Admin/System Setup/Wires tab which must be ticked – Force Flash to Everyone. Wires rules must also be configured to make wires flash, typically it would be a rule that makes all priority 1 or urgent wires flash.

The Notification rules drop-down list in the dialogue below allows enabling/disabling of notification rules and allowing only private notification rules.

System Setup – Wires Tab

To apply a public notification rule to all users system widgets, while logged in as an administrator right click on the system widget (the one on the left) and choose configure the widget. This will open the below dialogue which will allow you to choose the rules to apply from the list on the right, then click the Admin button followed by OK.

Admin Configure Widget Dialogue

Chapter 12. Stories Export

It is possible to export rundowns, slugs, stories, wires and media from OCTOPUS into a structured file or files. There are many situations where this could be useful ranging from export for a website, for a separate subtitling system, an archiving system or even a prompter that doesn't support MOS.

The export framework is highly configurable, so if you need a proprietary export format then please contact OCTOPUS Support to discuss this. We will need to create a custom export script to meet the requirements.

Chapter 13. Custom Print Forms

Custom print forms can be created to match the criteria desired by the customer when printing the rundown, script or prompter. The current print forms can be found under Administration/Print/Forms. If this menu item is missing you have to add it to your menu - see the admin guide.

All printouts are rendered at the server upon a request issued by the client. As the clients can specify different fonts for printouts (of the script) these fonts must be present at the server and available to JVM.

Rundown list (that is the rundown slugs view) printing is done dynamically in the server code so that the user gets printed same columns as on screen

If you want to override default print forms you have to name the print form as follows:

  • Rundown.jrxml - to override the default rundown form

  • Script.jrxml - to override the default script form

  • PrompterScript.jrxml - to override the default prompter form

  • Wires.jrxml - to override the default wires form

  • Contact.jrxml - to override the default contact form

The priority of form used to print specialized output:

  1. $SERVER_ROOT/print directory on server

  2. Print forms stored in OctopusServer.jar\octopus\server\system\print subfolder.

This means that the server will first look into the print directory on the server and if the print form with specified name is not found it will use the print form in the OctopusServer.jar

13.1. User case

  • If you are missing some specific columns in the default print forms.

13.2. Tool bar

Print toolbar

  • New - to add new print form

  • Edit - to edit selected print form

  • Download - to download selected print form templates.

    • Rundown - the template for the rundown print form without predefined fields

    • Story Folder - the template for story folder print form without predefined fields

    • Script - the template used when printing the Script or Prompter. The difference between printing the Script and Prompter is that there is a field $F{TECH_CONTENT} which is used only when printing the script

    • Wires - the template used when printing the wire message with predefined fields.

    • Contact - the template used when printing the contact

    • Rundown (+fields) - the template for the rundown print form with all available fields

    • Story Folders (+fields) - the template for the story folder print form with all available fields

    • Styles - styles used when printing. Slugs have a special print style based on its type to differentiate between regular slug and segment for example.

  • Upload - to upload the .jrxml or .jrtx files to the server

13.3. Designing Print Form

This is done using report forms (JasperReports). Forms are created in visual designer iReport Designer or in Jaspersoft Studio when Java8+. The used version of iReport has to be compatible with the jasper libraries used in Octopus. As of version 5.5.0, Jaspersoft Studio will be the official design client for JasperReports. iReport will remain as a supported product in maintenance-only mode until December 31, 2015, meaning we will continue to fix critical defects in upcoming releases but no new features will be added to the iReport client. Continue to maintain your existing reports with the new Jaspersoft Studio!

You can find iReport Designer version archive in http://sourceforge.net/projects/ireport/files/iReport/ iReport Archive.

You can find Jaspersoft Studio releases on http://community.jaspersoft.com/project/jaspersoft-studio/releases Jaspersoft Studio Releases page.

You can find following sections in the right pane called Report Inspector

  • Styles - the default styles are for all print form templates but you can override the setting by these styles

  • Parameters - list of all parameters available in this form

  • Fields - list of all fields available in this form

  • Variables - list of all variables available in this form

  • Scriptlets - list of all scripts

  • Page Header - here you can define how the page header will look like.

  • Column Header - here you can define how the column header will look like. This is the place where the labels of the columns are used - $P{LBL_%name_of_the_column%}. P means Parameter, LBL means label. So this will take the name of the column defined in octopus AS Fields.

    Edit expression - Parameter

  • Detail 1 - this is an additional band - you can add your own band if you want. This is the place where you actually defining the look of the content - $F{SLG_%name_of_the_column%} - $F means Field, SLG means slug, SRY means story. This expression takes the content of the particular slug/story field.

    Edit expression - Field

  • Detail 2 - you can define the band just to separate the content

  • Page Footer - here you can define how the page footer will look like.

List of all fields is available in the print form template with all fields. You can easily change the size of the boxes, also the position. You can also delete the fields if you want.

Every field has own properties available in the left pane. There is a plenty option see just few of them: position and size of the filed, colours of the field, style, stretch option, print option, text field properties and text properties like font and alignment, spacing etc.

Right click on the file will give you another option

Customized print form

You have to always search for desired option for example, Bands have height, every box has height, and then you have a font size. So you have to be aware what exactly do you want to change if the size of the box or just the text or both.

If you select the name of some band, for example, "Column Header" you can define the height.

You can find another objects in "Palette" pane which you can use during the designing of the print form.

You can check whether the print form is fine by compiling - it is the Compile Report button next to the zoom out button in the toolbar. It will give you the results and descriptions of the problems.

If the print form is without errors you can switch from the Design mode into the Preview mode. The iReport will ask you about the content of the fields in the form and will generate preview of the form according to your inputs.

Once you are done in iReport with the print form template save it under different name for example, "rundown-test".

Customized print form

Now you can go into the octopus client Administration/Print/Form and click on New select the type "Rundown" and write the name of the form which you want to see in Print/Custom.... Click on the ... right next to the Open and select your modified print form and press OK

13.4. New Print Form

You can add new print form. Click on the New and you will get new window:

Add new print form

  • Type - you have to select the type according to your needs.

    • RUNDOWN - when adding a print form for rundown - it will appear in rundown under Print/Custom...

    • STORY_FOLDER - when adding a print form for

    • STORY - when adding a print form for

    • WIRE - when adding a print form for wire messages

    • CONTACT - when adding a print form for contact

    • STYLES - when modifying printing styles

  • Name - this name will be shown in the Print/Custom...

  • Filename - this can be used when the file was already located under /octopus/server/print/ when octopus server service started.

  • Local File - this can be used when uploading the file to the server from the local computer.

Add new print form

You have to get the message "Print forms were successfully reloaded" in the left down part of the status bar. If there is some problem with the form you will get the message here too.

New print form rundown-test in the menu

Then you can open any rundown and click on the Print select Custom...and you will find that template in rolldown box called "Form".

Print/Custom...

Chapter 14. CG Control configuration

To use OCTOPUS CG Control, there are several other administrative tasks that must be completed (in addition to CG templates already covered in the section Step 5 Jingles and CG Templates). CG control supports Chyron or Aston drivers via a serial connection. Therefore, amongst other settings, it is necessary to choose the appropriate driver, COM port settings, and charset.

14.1. CG devices

This section can be found in the menu under Administration/CG/CG Devices. This is a simple list of the different CG devices that will be used with OCTOPUS CG Control. The only options on the toolbar are New, Edit and Delete. The NEW and EDIT dialogue just allows entry or modification of a single field, the NAME of the device. Devices in this list can later be chosen by journalists when adding CG's to rundowns and can be used to filter CG's according to the device in the CG Control section.

14.2. CG Connection

CG Connection is a more detailed dialogue containing most of the required settings, this can be found in the menu under Administration/CG/CG Connections. Again the toolbar has only New, Edit and Delete buttons. A screenshot of the New/Edit dialogue window is displayed in this chapter. Enter the name of the connection and choose the CG device (as created in CG DEVICES section), this will be used with in the Basics section.

The CG settings section needs to be filled with details relevant to the CG device: you can choose between Chyron or Aston drivers, enter the path to the Font directory, enter the Target page number and choose the charset that needs to be used with this device. Supported charsets include ASCII, Unicode, UTF8, and custom (described in the next section CG encoding).

COM settings contain all the necessary configuration options for the serial communication. Choose the Port that the device will be connected to on the OCTOPUS client used for CG control. Baud rate, data bits, stop bits and parity can be chosen from the drop-down lists according to the settings used by your device.

New CG Device Connection dialogue

14.3. CG Encoding

To make a customized translation table or character map to be used for CG device encoding, access Admin/CG/CG encoding in the menu. This can be used for translation of Unicode characters to Ascii characters. To create a new table click the New on the toolbar. Enter a name for the new translation table. The dialogue has a button FILL WITH ASCII, this might be a good starting point for the new table. You can then use the ADD button to add a new row to the table. In each row you will have to add a valid Unicode hexadecimal entry in the first column and in the third column a decimal in the range 0-255 (you can also enter two decimal entries separated by a semicolon for example 48;48 for 00). Other options in this dialogue include EXPORT XML TO CLIPBOARD and IMPORT XML FROM CLIPBOARD.

14.4. CGControl

CGControl is another menu type that has to be added to the menu. CGControl allows you to use the configured connection and load the rundowns, filter the stories based on the graphic objects inside and send them to the selected CG device.

Chapter 15. System Setup

Advanced system configuration options can be found under Admin/System Setup. These settings are system-wide, all users will be affected by anything that you change here. Some of these settings, such as those under the System tab, should not be modified by the administrator unless advised to do so by OCTOPUS support. The below tables list and describe the available settings in the System Setup section tabs.

Table 15.1. General

NameDescription
Timing StandardNumber of frames per second, available standards are PAL, NTSC and NTSCD. Only one timing standard can be used at the same time. PAL is 50 on objTB and NTSC is 60 in objTB - this value can be found in the mos object XML.
Client locale overrideYou can set default global locale setting. This will be forced to all users by default. Every user can set it's own locale in the user profile when this option is unlocked by the administrator here first.
Idle disconnection timeout [m]Users will be disconnected if do not press any key on keyboard or click with the mouse button for more than specified time.
Client download of UNC-located files through serverThe files as lowres proxies and thumbnails can be accessed via server or directly from the client machine. The shared folder has to be set with read rights for everyone without authentication when accessing the path through the server.
Streaming of attached video files rather than download + openThis speeds up the loading and playback of the files stored in the server received from the agency. Streaming is much faster in case that the files are very big - agency hd clips
Native text editorGlobal enabling/disabling of the native text editor - it should be used only with Arabic languages
Default reading speed [ms/char]The read-rate that will be used to calculate the duration of script text when a presenter is not assigned or the assigned presenter has not set their read-rate.
Reading speed helper textYou can change the text used in the reading speed calculation dialogue to the local language, the exact length of the text does not matter.
First day of weekSelect the day of the week that will be the first day in the Scheduler.
Drag-drop recognition threshold [pixels]This sets the range of pixels for the minimum movement required for a drag and drop and the range around the pointer that will start scrolling within a tab.
Drag-drop default action story/jingle/template -> storyCOPY, MOVE, ASSIGN - default action for drag and drop story/jingle/template to story folder/rundown
Drag-drop default action non-story -> storyCOPY - drag and drop creates independent copy of the story in the different location; MOVE - drag and drop moves the story in the different location; ASSIGN - drag and drop creates linked story in different location.
Drag-drop default action my stories -> storyCOPY - drag and drop creates independent copy of the story in the different location; MOVE - drag and drop moves the story in the different location; ASSIGN - drag and drop creates linked story in different location.
Show naming patternThis pattern is used for the rundown names when generated. The name can contain the following patters: %CHANNEL, %START, %TYPE, %YEAR, %MONTH, %DAY, %HOUR and %MINUTE. The default value is %CHANNEL %START - the %START takes the system locale.
Maximum age of protected rundowns [days]How long stays the rundown protected in terms of story archive protection.
Archiving of rundown protects stories in other rundownsThis setting protects the stories in other rundowns when the story is assigned to the multiple locations and some of the rundowns/stories in story folder are archived.
Archiving of rundown protects stories in foldersThis setting protects the stories in other story folders when the story is assigned to the multiple locations and some of the rundowns/stories in story folder are archived.
Copying of rundown also copies it storiesYou can copy just the rundown properties with the rundown or the whole content.
List action opens rundownDouble click in the Rundown schedule opens the Rundown properties. It opens the rundown content by enabling this option.
Check unique story names in showsIt is checking the story names in the rundowns. You can not have more than one story with the same name in the same rundown when enabled.
Check unique story names in foldersIt is checking the story names in the story folders. You can not have more than one story with the same name in the same story folder for the same schedule day when enabled.
Check unique assignments in foldersIt is checking the assignment names in the assignment folders. You can not have more than one assignment with the same name in the same assignment folder for the same schedule day when enabled.
The time after which inactive tab becomes idle [s]Some tabs with dynamic changes can consume a lot of resources. This setting lower the client consumption of the resources.
Scripting engineDefault or RHINO. Engine used for custom export scripts and other scripts as well.

Table 15.2. GUI

NameDescription
Vertical list field inset [px]Defines spacing above and beyond of all lines in the list.
Users can modify formsUsers can not change the position of the columns in the forms and can not enable/disable the columns in the forms when disabled.
Inactive tab overlay colorThis colour is used to distinguish betwwen the active and inactive tab in the splits. Change is applied after client restart.
Inactive tab overlay alpha (0.0-1.0)Alpha channel of the colour set in Inactive tab overlay colour setting. It is basically opacity of the colour.
Max. number of characters in the input textHow many characters you can insert in the input text box as Story name, Wire name, etc.
Delay of list sorting recommendation [s] 
Difference of even items in listBackground colour difference of even lines in the list.
Enable VLC media playerIt forces 32bit embedded VideoLAN player for lowres preview. If VLC is not available it tries JavaFX if enabled or default player as Windows Media Player or QuickTime when neither of the options is enabled.
Enable JavaFX media playerIt forces JavaFX player for lowres preview.

Table 15.3. Story

NameDescription
Expired story actionNone - no story expiration action is configure; Delete - story will be deleted after the date configured in the Expired story field; Archive - story will be archived after the date configured in the Expired story field.
Expired story fieldExpiration - date field will be available in the New/Edit story dialogue; Schedule to - date in schedule will be considered as the date for the expired story action.
Story schedule is defined by a range of datesStory can be scheduled for one day or for range of dates. You will see two date boxes (from/to) in the New/Edit story dialogue instead of just one.
Script timecode formatFULL - time code in frames (HH:MM:SS:FF=00:00:00:00); SMART - timecode in minutes and second (0:00).
Add version number to copied storiesWhen ticked a version number in brackets will be added to the title of copied stories.
Delete history when archivingWhen checked, the history versions of stories will be removed from archived stories. This is recommended to prevent wasting DB space.
Copy history when copyingUsers will copy the story history versions together with the story when it is copied if this option is enabled.
Slug hit time affects rundown start and durationThe rundown start and duration will be affected when somebody uses Set retime under the Timer in the rundown. It's duration will be recalculated accordingly.
Total History VersionsThe number of previously saved versions that are available in script history. By default -1, which means infinite amount of versions.
Trash story days limit [d]The number of days that stories will remain before being automatically purged. By default 7.
Status field contentOption to display story approval status text, initials of modifier or both in the status field.
Rundown deep archive export pathThe path where rundowns set to be deep archived will be exported to.
Story folder deep archive export pathThe path where stories in folders set to be deep archived will be exported to.
Replace all non-ascii characters in folder/file names 
Story group delimiterAny symbol that will specify the prefix for the story group. Most of the time dash (-) or slash (/), but it can be anything else. You can drag and drop multiple stories as one when they are grouped together. Example is story with name PRESIDENT-Part1 and PRESIDENT-Part2 - this will create story group PRESIDENT and you can treat with the group as with one story.
Story group width [px]Default width of the story group when story group delimiter is configured.
Rundown Lock Picker GroupA user group that has the right to edit a locked rundown. This is different to a user rights group- if necessary add the User Groups section to the main menu, the group must be Public-Read Only. Users in the group specified here are able to modify locked rundowns no matter how lock extents are configured, the user that locked the rundown and administrators are similarly unaffected.
Rundown Lock ExtentDefinition of parts of the rundown will be locked by locking the rundown. -OTHER - create new slug, story archive, skip, move, story delete, edit (existing) show, archive show, delete show -SCRIPT - save script, save folder story edit dialog, story commit (production requirement), inline editing -SLUG - renumber, save rundown slug edit dialog, setManualStart, inline editing
Only the locker of rundown can unlock itOnly the user who locked the rundown can unlock it if enabled. Very dangerous option.
Story clip ids/in-outs modeYou can configure what mos objects will be visible in the Clips colum. Bound MOS objects are completely excluded. All media - MOS objects in elements as well the mos objects in script will be visible; Element media - Only clips in elements will be visible; MOS command Media - Only clips in script (subelements) will be visible
Story clip ids element formatClips column can contain label of the element or the system type of the element in front of the name of every each clip. None - Nothing is visible in front of the name of the clip; Type - System type of the element is visible in front of the name of the clip; Label - Label of the element is visible in front of the name of the clip
Story clip ids tape element formatName - Name is visible in the Clips column; Id - ID is visible in the Clips column
Using MOS channelsEnables the option to assign MOS channels. These have to be configured in the particular device, typically playout, in the device configuration under Channels tab. See the MOSAgent guide for more information.
Using production requirementThis option is for commited stories only. This will gives you an ability to Commit story (basically replace the story by prerecorded clip). It also enables Should be recorded checkbox in the New story dialogue.
Script alternative modeText only - the elements are shared between the alternatives, only text differs; Whole script - whole script can be different, elements, text, technical part.
Element-bound MOS object supportUsed with the automation especially with MOSart automation - you can connect certain ActiveX plugin or MOS object directly with the element. So the story is created with MOS object already directly bounded to the element. This is used when some automation commands are used with the particular story element.
Drag stories by name onlyYou can drag the story just and only by it's name, it will not work with anything else.
Max clip whisperer results [items]How many results you will get when you use whisperer in the story script for mos object search.
Media browser width [px]Default width of the Media window when opened from the story script with F4 or by Browse....
Media browser height [px]Default height of the Media window when opened from the story script with F4 or by Browse....
Show full story folder pathShow the full story folder path in the header of the story folder, in the tab and in the location dialogue (Locate). This is very usefull when some folders have same name but different parent folders and you want to see the full path.
Manual element channelYou can define foreground and background colour of the font of the manually assigned mosItemChannels.

Table 15.4. Wires

NameDescription
Read Text ColourThe colour of read wire title text.
Flash Text ColourThe colour of flash wire title text.
Flash Highlight ColourThe colour of flash wire highlighting.
Read Flash Text ColourThe colour of read flash wire title text.
Read Flash Highlight ColourThe colour of read flash wire highlighting.
Force Flash to EveryoneAll users will receive flash notification.
Wire description length (zero for none) [characters]Some received wires can contain description field. This can be added to the form and it is already present if you enable the extended form by right click on column name and click on Showextended.
Default folder age limit [days]How long does the wire stays in the wire folder before it is deleted. This value is used as default when you are creating wire folder.
Default folder limit [# messages]How many wires is stored in the folder before they are deleted. The oldest are deleted first. This value is used as default when you are creating wire folder.
Default source field valueThe option to display the source of manually created wires as either Username/Fully Qualified folder name/Short folder name.
Notification rulesEnabled - private and shared notification rules are enabled; Private only - only private rules can be created, no shared rules can be configured; Disabled - no rules can be configured
Allow creating empty notification rule to receive all. Use at yours riskYou can create rule with empty string which is the wildcard. This can have significant impact on the performance when it is not used in smart way. With this option you can create rule that the users can be notified about all messages received in some particular folder.
Favourite wire age limit [days]How long does the wire stays in the wire folder before it is deleted if it is marked as favourite.
Favourite wire count limit [# messages]How many wires can be marked as favourite before the oldest one marked as the favourite is deleted.
Initial list length [items]Initial list length of the wire folder.

Table 15.5. CG

NameDescription
Width [px]Default width of a CG template in pixels
Height [px]Default height of a CG template in pixels
Default CG backgroundDefault background colour of the CG in the CG preview.
CG duration modeWhether to include IN and OUT or IN and DURATION time fields for CG's.
CG timecode formatFULL - time code in frames (HH:MM:SS:FF=00:00:00:00); SMART - timecode in minutes and second (0:00).
CGControl response timeout [ms]The connection with the CGControl is reseted after this amount of milliseconds.

Table 15.6. Notification

NameDescription
General notification message limit [days] 
Wire notification message limit [days] 
User to user message limit (zero mean no limit) [days] 

Under System tab are advanced system settings and should not be modified unless advised by OCTOPUS support.

Table 15.7. System

NameDescription
Initial list length [items]Default length of all lists in the octopus client. Keep in mind that this can have serious impact on the performance if the value is unreasonably high. Default is 500.
Additional list chunk size [items]How many entries will be loaded additional when click on Load more ... in the bottom of the list.
Max list length [items]Total maximum number of entries in the list.
Max fulltext results [items]This value defines how many results you will see in the list when using Fulltext box in the particular section.
Max spotlight results [items]This value defines how many results will be visible in the list when using Global search in the right upper corner.
Fulltext in lists gives priority to newer dataNewer data are preferred in the fulltext results when enabled. Otherwise most relative results are shown.
Refresh fulltext search lists (available in DEBUG mode only) 
Server event merging interval [ms] (available in DEBUG mode only) 
Client event merging interval [ms] (available in DEBUG mode only) 
Max AS decisions (available in DEBUG mode only) 
Main menu rundown reload interval [s] (available in DEBUG mode only)How often is the rundown range in the menu reloaded when configured. Default is 06 seconds. Lower value would make sense only if the rundowns would be created every 30 seconds for example.
Max fulltext reader age [ms] (available in DEBUG mode only) 
Fulltext indexing merge interval [ms] (available in DEBUG mode only) 
Dead server remote timeout [ms] (available in DEBUG mode only)How long does the server wait before it claims the server as DEAD, if the server is unreachable.
Max file transfer size [bytes] (available in DEBUG mode only)Size of the chunks provided by the server to the users when trying to download something from the server. 5 MB is default value.
Message queue ACK timeout [ms] (available in DEBUG mode only)This value defines how long does the server waits for the acknowledge before timeout.
Message queue commit timeout [ms] (available in DEBUG mode only) 
Max transaction retry count (available in DEBUG mode only)How many times is transaction triggered when previous attempt has failed.
Basic transaction retry delay [ms] (available in DEBUG mode only)Delay between retry of the failed transaction.
Max transaction message delivery wait [ms] (available in DEBUG mode only) 
Unvacuumed data warning threshold [MB] (available in DEBUG mode only)Threshold after the client shows the warning message about the problem with autovacuum.
Max transaction duration [s] (available in DEBUG mode only)Maximum duration of the transaction.
Min transaction duration to log QL [ms] (available in DEBUG mode only)Define what the minimal transaction duration must be, that it would be logged in the QL.log.
Rundown scheduling interval [s] (available in DEBUG mode only)How often does the server check the schedule plans whether there are some rundowns to be created automatically.
Story update interval [s] (available in DEBUG mode only)This value defines how often is the story updated. There is another setting in the story config where you can set the Script update period.
Wire deletion interval [s] (available in DEBUG mode only)How often does the server check whether there are some wires to be deleted.
Wire deletion maximum batch size [items] (available in DEBUG mode only)How many wires are deleted in one batch.
Trash deletion interval [s] (available in DEBUG mode only)How often does the server check whether there are some stories in the story trash to be deleted.
Notification deletion interval [s] (available in DEBUG mode only)How often does the server check whether there are some notifications in the widgets to be deleted.
Unfinished file deletion interval [s] (available in DEBUG mode only)How often does the server check whether there are some unfinished files in the /server/data/ folder to be deleted.
Max auto-action item in one run [items] (available in DEBUG mode only) 
Folder auto-action interval [s] (available in DEBUG mode only)How often does the server check whether there are some stories in the story folders to be archived/deep archived/deleted.
Max rundowns in one run [items] (available in DEBUG mode only) 
Rundown auto-action interval [s] (available in DEBUG mode only)How often does the server check whether there are some rundowns to be archived/deep archived/deleted.
Rundown auto-action retry interval after failure [s] (available in DEBUG mode only)How long does the server waits until the auto-action is triggered when the previous one has failed.
Social media update interval [s] (available in DEBUG mode only)This value defines how often are the social media updated. There are additional setting of refresh interval per social media destination (Select particular destination, clik on Edit) and switch to the Advanced tab.
Social user profile synchronization interval [d] (available in DEBUG mode only) 
Social destination synchronization interval [d] (available in DEBUG mode only) 
Memory logging interval [s] (available in DEBUG mode only)How often is the memory usage logged.
Thread logging interval [s] (available in DEBUG mode only)How often are the threads logged.
OS process logging interval [s] (available in DEBUG mode only)How often are the OS processes logged.
DB process logging interval [s] (available in DEBUG mode only)How often are the database processes logged.
Client ping timeout [s] (available in DEBUG mode only)If the client does not ping the server for the configured value of seconds it will try to connect to the BACKUP server if configured.
Fulltext indexing batch size [items] (available in DEBUG mode only)How many items will be indexed in one batch. Size of this value can have significant impact on the server performance when it is set too big.
Fulltext indexing batch delay [ms] (available in DEBUG mode only)You can configure delay between every fulltext batch. This is very useful to not make such a big load to the server performance.
Change in access rights reloads AS subscriptions (available in DEBUG mode only) 
Max clauses of wildcard queries [clauses] (available in DEBUG mode only) 
Max allowed number of words in fulltext queries [words] (available in DEBUG mode only)You can define how many words can user write into the search boxes. This affects Fulltext search as well as Global search. The user gets message "Your query contains too many words".
Fulltext fuzzyness level (available in DEBUG mode only) 
Rundown start and duration recalculation interval [s] (available in DEBUG mode only)How often are the rundown start and rundown duration recalculated.
ActiveX thread stack size [bytes] (0 means system default) (available in DEBUG mode only) 
Exclude server actions from SimpleLogger (available in DEBUG mode only)Server action will be omitted by the SimpleLogger and you will not see them in the SimpleLogger.log.
Send all visible fields as hidden [DEBUG] (available in DEBUG mode only) 

Table 15.8. Mobile

NameDescription
Amount of shows before "current" [items]How many past shows are visible in the Tablet Android/iOS app v1.
Amount of shows after "current" [items]How many future shows are visible in the Tablet Android/iOS app v1.
Separate mobile passwordWhen enabled the users that are using Mobile/Tablet application have to use Mobile password-can be configured in the user profile of each user. Users are using the same password as for the Desktop client when disabled.

Table 15.9. MOS

NameDescription
Mark rundowns airedNever / When deactivated; It removes all received MOS statuses in the particular rundown automatically when MOS deactivated.
Remove manual activations after [minutes] (0 disables)It MOS deactivate the rundown automatically if the rundown was MOS activated manually after configured amount of minutes.
MOS Object identifier search modefrom the beginning; from the end.
MOS Object readable identifiername (objSlug) / objId / JobID; It affects what you will see as MOS object identifier in the Clips column in the Story/Rundown list as well as how the objects are found by the whisperer.
URL of directory with AVELRIDX lowres index files 
Show disconnected MOS objectsIf enabled you will see all disconnected (deleted clips or graphics from media asset management) MOS objects.
MOS alternative channel patternYou can configure alternative channel pattern which is used when ...
Lowres aspect ratio widthAspect ratio width of the lowres clips.
Lowres aspect ratio heightAspect ratio height of the lowres clips.
Player refresh interval [ms]Amount of milliseconds saying how often is the lowres player refreshed.

Table 15.10. Web forms

NameDescription
Astra web form directoryURL to the ASTRA web form directory.
Astra player scriptURL to the ASTRA player.
Astra browser scriptURL to the ASTRA browser.
Astra editor scriptURL to the ASTRA editor.

Table 15.11. Commercials

NameDescription
Commercial agent portPort where the Commercial Agent will be listening. Default is 35000.
Commercial agent inserts stories 
Commercial agent sends description of errors 
Send disconnected MOS objects to commercial server 
Show range back [items]How many rundowns back will be sent by the Commercial Agent to the commercial software.
Show range ahead [items]How many rundowns ahead will be sent by the Commercial Agent to the commercial software.
Story element label 
Insertion interval [ms] 

Table 15.12. Print

NameDescription
Print ModeWYSIWYG-what you see is what you get; FIXED SIZE-size set in the Size is always used; CUSTOM-font in Font family and size in Size is always used, DEFAULT-default setting set in the default print form is used.
Font familyYou can set default font for print. This is applied only when Print Mode is set to CUSTOM.
Size [px]You can set size of the font when Print Mode is set to FIXED SIZE or CUSTOM.
Normalize unicode before printing 

Table 15.13. API

NameDescription
Default amount of results returned [items]Amount of results returned when API query is made.
Hard limit on total amount of results returned [items] 

Table 15.14. Multisite

NameDescription
Full multisite replicationThis setting enables the full replication to all configured sites so you do not have to configure which parts should be replicated. Simply everything what can be replicated is replicated automatically.
Shared multisite client authenticationBy enabling this option the client connections does not consume the licenses on the remote sites. Remote server consider them as trustworthy and does not require the password authentication as well. Otherwise the users have to have exactly the same password on all remote sites they are trying to access.
Warn users about invalid shared connection after [s]The client receives notification in the left bottom corner when the shared authentication is not available and that his/her connection starts consuming the license on the remote server. This is fallback solution in case that the MultisiteAgents are not able exchange the information about the authenticated users for some reason (Multisite agent crash).
Multisite search results wait [ms]How long does the local server waits for the search results from the remote sites in case the user is using the global search and some remote site is selected in the Remote site box.

Table 15.15. Import

NameDescription
NSML default element 
NSML reporter field 
NSML object id field 
MOS object id fieldobjId, objSlug, jobId, secondaryId
Put text before first element to a NOTE 

Table 15.16. Other

NameDescription
Max contact name difference 
Max age of stored twitter trends [d]Twitter trends are gathered every 15 minutes, so here you can configure how many days of the historical trends will be stored before they are deleted.
Max number of items in a twitter trends ladder [items]How many items will be visible in the Twitter trend location
Chat is enabledYou can enable or disable the chat functionality. This hides all options related to chat when disabled.
Max user upload files size [bytes]Maximum size of uploaded file by "human" user. Default is 200 MB.
Allow user executable file uploadWhether or not the users can upload executable files to the server through the client.

Chapter 16. Main Menu

16.1. Defining the Main Menu

The main menu allows users to access the different OCTOPUS sections. The menu is highly configurable, it is possible to add/remove all sections to match station's workflow. Once the main menu has been defined, access to some sections can be restricted to particular user groups via user rights.

Menu Structure Configuration Tab

In order to modify the menu, go to Administration/Menu/Menu Structure. There are three buttons NEW, EDIT and DELETE allowing users to create a new menu item, to edit an existing item or to delete an existing menu item.

To create a new menu item, click the NEW and then choose the required menu item type and type its display name as you would like it to appear in the menu (see image below). There are two general types of menu item: folder and others. Folders are designed to contain other items, thus it is possible to create a menu with any desired structure. For other types of menu item, some additional configuration may be required, particularly wire folders and story folders – which are described in more detail in the Story Folder and Wires sections of this guide.

New Main Menu Item Dialogue

The New menu item is always inserted under the currently selected item. In image example above, it will be inserted between XINHUA and TASS wire sections. Items can be moved around the list by drag and drop, the new position is marked with the red line before the drop.

Red line indicating the destination for Drag and Drop

There is no limit to the number of items in menu or the number of subfolders.

The following table lists the available Main Menu items:

Table 16.1. Main Menu Items

TypeDescriptionOptions
AboutOCTOPUS splash screenName
ActiveX Inline3rd party ActiveX visual componentsName | Plugin
Admin API access tokens Name
Admin assignment folderList of assignment foldersName
Admin Banned Word DictionaryList of banned wordsName
Admin CG Device ConnectionsConnections parameters of CG deviceName
Admin CG Device EncodingsEncoding translation table for CG deviceName
Admin CG DevicesList of CG devicesName
Admin CG TemplatesList of CG templatesName
Admin contact bid statusesList of contact bid statusesName
Admin dictionary breaksBreaksName
Admin dictionary channelCountriesName
Admin dictionary departmentDepartmentsName
Admin dictionary GSMGSM providersName
Admin dictionary rundownShow typesName
Admin dictionary titleTitlesName
Admin event exports Name
Admin export formatsExport scripts with editorName
Admin field dictionaryDictionaries for custom fieldsName
Admin folder structureMenu structure - itemsName
Admin folder typeMenu items typesName
Admin formsFormsName
Admin fulltextFulltextName
Admin IM service Name
Admin languages Name
Admin library data type Name
Admin library section Name
Admin mobile devicesList of the registered mobile and tablet devicesName
Admin Octopus sites Name
Admin online usersList of online usersName
Admin Print FormsList of custom print formsName
Admin RSS feedsList of RSS feedsName
Admin rundown templatesShow/Rundown templatesName
Admin script alternatives Name
Admin search webList of webs used for searching the InternetName
Admin serversList and status of the connected serversName
Admin servicesList of the configured services connected to the serverName
Admin SMS message Name
Admin SMSAgent Name
Admin spell dictionary items Name
Admin story color rule Name
Admin story descriptionStory descriptionsName
Admin story description templateTemplates for story descriptionsName
Admin story element setSets of story elementsName
Admin story elementsStory elementsName
Admin story foldersStory foldersName
Admin story lock managerList of all currently locked storiesName
Admin story stateStory statusesName
Admin story tagsStory script tagsName
Admin story templatesStory templatesName
Admin system setupOCTOPUS system setupName
Admin tags Name
Admin user group listUser groups and rightsName
Admin user listList of usersName
Admin wire and email folderWire, Mail, RSS foldersName
Admin wire ruleWire, Mail, RSS string rules to foldersName
Advanced fulltext searchAdvanced search optionsName
AS field groups Name
AS fields Name
AS forms Name
AS sources types Name
AS sources Name
Assignment section Name
Calendar events Name
Calendar sources Name
CGControlControl application for CG device – sends the textName
Contact bid listList of bids based on contactsName
Contact guest listList of confirmed bidsName
ContactsList of contactsName
Dashboard Name
Expense types Name
FolderSpecial menu type used for better structures in menuName
JinglesList of JinglesName
Legacy topic user roles Name
Legacy topics Name
Library Name
MediaMediaName
MOS activationsList of active rundowns for each MOS deviceName
MOS devicesMOS devicesName
My assignments Name
My storiesStories created by currently logged userName
My stuff Name
New media destinations Name
New media submissions Name
New media user relationships Name
NLE plugin Name
Notification history Name
Notification RulesNotification rules used by widgetsName
Remote OctopusConnection to different Octopus server (not part of cluster)Name | Remote server name | Remote folders
Reports Name
Resource types Name
Resources Name
RundownList of rundown(s) displayed in menuName | Quick rundowns | None | Range | On-Air | Current| Timed| Named
Rundown playlistGraphical view of current showsName
Rundown scheduleList of scheduled showsName
Rundown schedulerList of plans for schedulingName
Stories archiveStory archiveName
Stories trash canStory trash canName
Story folderStory folderName | Story folder name | Displaying modes (Calendar mode, Edit story mode, Subtree mode)
Tag links Name
Thesaurus Name
Topic Name
Topic folders Name
Twitter trends Name
Uploaded file manager Name
URLLink to Internet siteName | URL | Start in new window
User groupsUser groups for messagingName
User profile Name
Wires and EmailLink to wire or email folderName

16.2. Menu Shortcuts and Colours

Depending on your version, you may attach shortcuts to the main menu items and also change the colour and background colour for them. This is done from the Administration/Menu by right clicking on the desired menu item and selecting the Advanced tab.

Main menu item editing, advanced tab

In order to add a shortcut press Add then the desired keys combination followed by enter. You may also Reset the process or Remove existing entries.

If you wish to change the colour of the selected menu item simply click the left box to choose the background colour and the right box in order to change the font (text) colour. The preview should be helpful in seeing them together before applying the changes by pressing OK.

16.3. What to do when somebody accidentally deleted/broke the Admin Menu?

You can re-import default menu by running server with argument of "--import-menu Administration"

Chapter 17. API

Octopus contains REST API. It is a matter of additional licensed modules. If you do not have this module and you want it, contact Octopus Sales Department - [email protected]. You can find more in https://en.wikipedia.org/wiki/Representational_state_transfer REST in Wikipedia or https://en.wikipedia.org/wiki/Application_programming_interface API in Wikipedia.

17.1. User case

  • You can get list of the assignments

  • You can get list of the rundowns

  • You can get list of the stories in particular story folder

  • You can get the content of the stories based on the storyID (octopus unique identifier of the story).

17.2. How to find it

First of all you have to have the license for the API as mentioned above. You can access the API from the octopus server web page http://%name_of_your_octopus_server%/ (http://%IP_of_your_octopus_server%/) there is a link to the REST API documentation. Here you can find the manual for octopus REST API or directly http://%name_of_your_octopus_server%/api/v1/doc/documentation.html (http://%IP_of_your_octopus_server%/api/v1/doc/documentation.html). You can find all object types, fields and actions.

You can test your queries in the sandbox of every each object type or have a general sandbox here http://%name_of_your_octopus_server%/api/v1/doc/sandbox.html (http://%IP_of_your_octopus_server%/api/v1/doc/sandbox.html).

17.3. Configuration

You need the user of type API client and as all API requests do respect the octopus rights you need to assign proper rights to that user.

Important

The user has to have proper rights configured.

  1. Login to Octopus client as a user with Administrator role.

  2. Go to the Administration/Users/Users

  3. Create a new user and choose the type API client and set the password. This user will be used for the authentication when running the API requests.

  4. Create new Right Group under Administration/User/Groups and set the proper rights or assign the user to the already existing group.

17.4. Examples

General request structure is http://%server_name%/api/v1/OBJECT_TYPE/[ID][SPECIAL_ACTION][?fields=][&createMissing]

Keep in mind that globalId have to be used instead of ID in case of Multisite configuration.

Get list of Wire folders and its subfolders with name and WireFolderID

GET /WireFolder/?fields=name,id,folders

Get list of wires in particular wire folder and its id, title, and text

GET /WireFolder/[WireFolderID]?fields=wires,Wire.id,Wire.title,Wire.text

Where you have to replace [WireFolderID] by the actual WireFolderID

Get list of wires in particular wire folder and its id, title, text, links and name and size of the linked file (attachment)

GET /WireFolder/13700?fields=wires,Wire.id,Wire.title,Wire.text,Wire.links,UploadedFile.name,UploadedFile.size

Where you have to replace [WireFolderID] by the actual WireFolderID

Get list of Wire folders and its subfolders with name and WireFolderID

GET /WireFolder/?fields=name,id,folders

Get list of Story folders with name and StoryFolderID

GET /StoryFolder/?fields=name,id

Get list of Stories in the particular Story folder with name and StoryID

GET /StoryFolder/[StoryFolderID]?fields=stories,Story.name,Story.id

Where you have to replace [StoryFolderID] by the actual StoryFolderID

Get name of the particular story, assigned reporter, and StoryID from the particular story folder

GET /Story/[StoryFolderID]?fields=name,id,reporters,User.userName

Where you have to replace [StoryFolderID] by the actual StoryFolderID

Get name of the particular story, assigned reporter, StoryID, and name of the story folders where this story is located and their StoryFolderIDs

GET /Story/[StoryID]?fields=name,id,format,reporters,User.userName,folders,StoryFolderLink.id,StoryFolderLink.name

Where you have to replace [StoryID] by the actual StoryID

Get list of the channels and its name and id

GET /Channel?fields=name,id

Get non-archived rundowns and their names, IDs, and channel names

GET /Rundown?fields=name,id,channel,Channel.name

Get list of archived rundowns (GET returns by default only the non-archived rundowns), and their names and channels

POST /Rundown?fields=name,channel,Channel.name
Input box - {"filter" :{ "archived" : true }}

Get list of non-archived rundowns of the particular channel and their names

POST /Rundown?fields=name,channel,Channel.name
Input box - {"filter" :{ "channel" : "[channelId]" }}

Where you have to replace [channelId] by actual channelId

Get list of non-archived rundowns of the particular channel and their names, name of the stories, their format and their script

POST /Rundown?fields=name,channel,Channel.name,slugs,Slug.story,story,Story.name,Story.format,Story.script
Input box - {"filter" :{ "channel" : "[channelId]" }}

Where you have to replace [channelId] by actual channelId

Get list of archived rundowns of the particular channel and their names, name of the stories, their format, and their script

POST /Rundown?fields=name,channel,Channel.name,slugs,Slug.story,story,Story.name,Story.format,Story.script
Input box - {"filter" :{ "channel" : "[channelId]", "archived" : true }}

Where you have to replace [channelId] by actual channelId

Get story names, scripts and text of the story statuses in the particular Rundown

GET /Rundown/[RundownID]?fields=slugs,Slug.story,Story.name,Story.script,Story.status,StoryStatus.text

Where you have to replace [RundownID] by the actual RundownID

Change the name of the particular story

PUT /Story/[StoryID]
Input box - {"name" : "Desired name"}

Where you have to replace [StoryID] by the actual storyID

Change the name of the particular story and assign reporter

PUT /Story/[StoryID]
Input box - {"reporters" : [ {"id" : "%userID%"} ],"name" : "Desired name"}

Where you have to replace [StoryID] by the actual storyID, %userID% userid of the particular user

Create new story folder

PUT /StoryFolder/
Input box - {"name" : "Name_of_the_folder"}

Create new story subfolder

PUT /StoryFolder/
Input box - {"name" : "Name_of_the_folder","parent" : {"id" : %Parent_Folder_ID%}}

Where you have to replace %ParentFolderID% by the actual storyID

Create new story in particular story folder

PUT /Story/
Input box - {"name" : "Name_of_your_story","modifiedFolders" : [ {"globalId" : "storyFolderGlobalId"} ]}

Where globalId is the globalId of the story folder where you want to crate story

Chapter 18. Server Monitoring

You can check the status of the servers under Administration/Admin server in the menu. If this menu item is missing you can add it into the menu, see the defining-main-menu chapter.

Print toolbar

Here you can see:

  • Mode - server role, typically MASTER for MAIN, SLAVE for BACKUP, DEGRADED if the server was launched in the wrong order and DEAD if the server is not running at all

  • Name - MAIN, BACKUP

  • Addresses - IP address of the servers

  • SSL - status of the encrypted communication - enabled / disabled

  • Last time alive - when was the server available

  • # of clients - count of currently connected clients

  • Database mode - MASTER or READ_ONLY

  • Database lag - this number is the difference between the last transactions on the server. In the ideal environment, it should be zero, or at least some small number (smaller than 1 000 000) - this depends on the frequency of the transaction exchange between the servers. You can notice that the number increases as well as decreases from time to time. This is how you can monitor the replication state. If the number grows too much it means that the replication is not running properly.

  • Current xlog - current transaction log

Chapter 19. Server Maintenance

In case you need to restart the OS because of some server maintenance or MS updates you have to follow the steps based on your server configuration.

You can always find more information in the Emergency Guide.

19.1. Single Server Solution

  1. Octopus services are set to start automatically, so if you need to restart the Octopus server there are no extra steps needed. PostgreSQL, Openfire, Octopus Server and Octopus services will start automatically.

19.2. Streaming Replication

MAIN server;MASTER role - all Octopus services, Openfire and PostgreSQL are set to start automatically.

BACKUP server;SLAVE role - all Octopus services and openfire are set to manual start. PostgreSQL service is set to automatic start. Just the PostgreSQL starts automatically and re-establish the replication.

  1. You can restart the server in any order you want as the feature of the streaming replication is that it can connect from SLAVE to MASTER even after few hours of being disconnected.

In case of the cross replication the roles (MASTER, SLAVE) can be switched (BACKUP acts as MASTER and MAIN as SLAVE). In such case setting is reversed. You can find out the server role by checking the latest PostgreSQL log, most of the time under c:\octopus\data\pg_log\

19.3. Cluster Solution

MAIN server;MASTER role - all Octopus services, Openfire and PostgreSQL are set to start automatically.

BACKUP server;SLAVE role - all Octopus services and openfire are set to manual start. PostgreSQL service is set to automatic start. Just the PostgreSQL starts automatically and re-establish the replication. Octopus Server service has to be started manually.

Important

Do not restart OctopusServer service on the MAIN server with MASTER role if the OctopusServer service is running on the BACKUP server with the SLAVE role - it will break the replication and it will cause automatic failover - BACKUP becomes MASTER - and you will have to contact Octopus Support to fix the replication.

  1. BACKUP server;SLAVE role - stop the OctopusServer service, then you can restart the server if necessary.

  2. MAIN server;MASTER role - you can restart the server if the OctopusServer service on the BACKUP server is stopped. After server starts check that PostgreSQL and OctopusServer service started automatically.

  3. BACKUP server;SLAVE role - check if PostgreSQL service started automatically (it should), then you can start OctopusServer service manually - if the OctopusServer service is running on MAIN;MASTER.

In case of the cross replication the roles (MASTER, SLAVE) can be switched (BACKUP acts as MASTER and MAIN acts as SLAVE). In such case setting is reversed. You can find out the server role by checking the latest PostgreSQL log, most of the time under c:\octopus\data\pg_log\ and then the cluster.log most of the time under c:\octopus\server\log\%date%\cluster.log.

Chapter 20. Server Configuration

Basic server configuration is stored in .ini files in server folder. There are two files by default, server.ini and server-local.ini. First one contains all values common to (possibly) more servers, second one then the differences. This layout is kept even in case of a non-clustered setup. Every .ini file has sections and values inside them. There are following options:

20.1. basic

multicastttl

TTL set on multicast packets used for server discovery, defaults to 1 (one hop).

clusterName

Logical name of OCTOPUS system, this is what will appear in user login dialog. Usual value is "OCTOPUS" or "OCTOPUS-%CHANNEL%". From version 6.0.7 this can only contain capital letters, numbers, underscore and dash sign.

useCluster

Specifies whether application server is clustered (ie. there are more application servers than one). Defaults to false. When this argument is present, server attempts to start JGroups cluster (cluster.xml in working directory is needed) and talks to other servers. It's advisable to set serverAddresses in this case as well as server priority.

serverAddresses

Values only used in cluster mode, contains full list of server addresses, this is required to be synchronized between the servers.

listenOn

List of addresses (separated by comma if more than one) on which server should listen (see http section for ports). If not specified all machines interfaces are enumerated and server binds to all of them (except for P-t-p and loopback ones)

clusterListenOn

Specifies IP/hostname used for internal inter-server communication. If there are more network cards in servers it's recommended to reserve one for cluster communication only, in case of two application servers it's recommended to wire them directly with cross cable. If not specified default interface of server is used (probably first network interface).

clusterSharedAddress

In case of Windows NLB this variable contains shared address on which the JWS has to be available. This address is not published through JNLP files/multicast packets, however.

serverName

Specifies logical server name. Usual value is "OCTOPUS" or MAIN/BACKUP in case of cluster. If fixed list of addresses is used, servers are automatically assigned names in following order (corresponding to address order) - MAIN, BACKUP.

serverPriority

Server priority helps us to select MASTER server in clustered environment, it has to be unique for every server, highest priority is the lowest number (1 in case of MAIN server and 2 in case of BACKUP server).

serverAddressForm

Specifies server address form used for server discovery multicast. Defaults to hostname. Normally it should not matter however there might be a need to change it to IP if there's no proper DNS on site (usual situation in various demo environments), while there is no other way than hostname if you need to make server reachable from two distinct networks (Intranet vs Internet).

applyPermissions

Backdoor allowing us to bypass user rights. This is useful especially after mistake in rights configuration is made. When set to false every user becomes an administrator. Defaults to true, of course. This setting should not be present in production system, installer should not add it (not even with # at the beginning of the line) and support should remove it as soon as it's not longer required.

serial

Serial number of customer's license.

instance

Instance of license if multiple licenses are issued within one license file. It it related to serial number and is downloaded as part of server.ini from license system.

openfireServer

Messaging server IP/hostname. The hostname should be FQDN (accessible from all locations using this name) - see preceding configuration option.

openfirePort

Messaging server port, defaults to 5222.

20.2. smtp

server

SMTP server hostname, if missing sending email on errors will be switched off

port

Default port is 25 if not specified, port=465 for client-server with ssl (ssl=true), port=587 for client-server without ssl (ssl=false)

ssl

ssl=false (by default) enables STARTTLS mode, or ssl=true

from

Address used as sender of error messages - server shutdown, server start, change of the state of the cluster member

to

Recipient of error messages, please note that [email protected] is added automatically to recipient list every time (it does not even have to be present). You can add multiple recipients separated by comma.

user

Username needed for SMTP AUTHentication - specify only if needed

password

Password needed for SMTP AUTHentication - specify only if needed

Logs can be found in the \octopus\server\log\%date%\mailer.log

20.3. authentication

type

Valid options are basic for OCTOPUS-driven authentication (hashed passwords are stored locally in OCTOPUS database) and ldap for external LDAP server authentication. See values below for this mode.

searchsubtree

Specifies whether users in LDAP mode are searched for on given location only or in child containers as well, defaults to false

ldapserver

Hostname or IP address of LDAP server, if there are more servers than one you can separate them by commas. OCTOPUS attempt to use them in given order, first replying on LDAP level wins.

usernametemplate

Template for username, this allows us to define username used to login to LDAP. This key replaces obsolete domain key, direct replacement is this: usernametemplate={USERNAME}@somedomain.com

root

Root context where OCTOPUS users are stored, this is specified in standard LDAP format, ie. something like ou=OCTOPUS,dc=somedomain,dc=com

user

For successful LDAP integration (ie. user import) a user with read-only access is needed, specify username here.

password

Password of read-only LDAP user.

pagesize

querytemplate

LDAP import query template, only specified when there is a need to override default which is: (&(cn={SEARCH}) (&(objectClass=person) (objectClass=user)))

usernamefield

Password of read-only LDAP user.

authenticationquerytemplate

querygrouproot

Defaults to whatever is set in root parameter.

memberoffield

Defaults to "memberOf".

allowclientpasswordstorage

Server can allow clients to allow password storage in user profile, if you want to enter password only once on client machine specify true, if not then false.

ssl

Enables SSL support, remember to change the port to SSL one (usually TCP 636). Defaults to false.

20.4. http

port

Port for HTTP server, used mainly for JWS and mobile clients, defaults to 80 on Windows, 8080 on Linux.

sslport

Port for SSL server, this is the port used for client-server communication (in case that the externalsslport is not set) as of 6.1+ version, also for mobile clients, defaults to 443 on Windows, 8443 on Linux.

externalsslport

as of 8.0+ - Custom port for client/agent-server communication, default is whatever is set in sslport. This port simply replaces sslport in the connection string used in the client jnlp file and is used for client->server connection. Sometimes you might want to change the communication port from 8443 to 443 if the external users are connecting through some proxy servers (google, amazon) that protects against the DDoS attacks - they support only 80 and 443 ports.

threadPoolSize

Don't touch this, ever. Unless instructed to do so by developers.

20.5. jws

enabled

Specifies whether JWS is available, defaults to true

master

Path to master file for JWS, relative to $SERVER_ROOT, defaults to jwsmaster/jws.zip

logLevel

Client log level, defaults to TRACE, valid levels are TRACE, DEBUG, INFO, WARN, ERROR.

jvmArguments

Additional client JVM arguments (apart from heap size below)

initialHeapSize

Initial client heap size, defaults to 128m.

maxHeapSize

Maximal client heap size, defaults to 512m.

desktopShortcut

Specifies whether desktop and menu shortcuts should be created on client stations, defaults to true.

content

Specifies path to static content served by another webserver rather then inbuilt one. If we use 3rd party HTTP Server to handle requests for JWS client, this is the directory where we will extract content.

contentBaseUrl

Base URL that is requested by clients to get JNLP files over 3rd party HTTP Server using proxy, defaults to http://octopus/

clientArg.0(1,2,...)

Additional client arguments, for example store client logs somewhere else then default path - clientArg.0=--userdir=c:\Files on Local\Octopus

clearCache

If set to true, applet that will clean up client JWS cache will be embedded in launch page, contentBaseUrl must be set for this to be initialized.

clearCacheDate

Instructs JWS Cache cleaning applet to delete only resources older than specified date, clearCache must be set to true as well.

requiredJVMVersion

Instructs client to use specific JRE version. For example 1.6+ or 1.7+ or 1.8+

forceUpdate

Instructs JWS to download fresh copy of all client resources before running.

20.6. mobile

videoDropFolder

Path where server stores uploaded video files from mobile clients

audioDropFolder

Path where server stores uploaded audio files from mobile clients

imgDropFolder

Path where server stores uploaded image files from mobile clients

debug

Enables publishing of Mobile API Debug page. This should not be enabled at production servers, allowed values: true, false

20.7. jmx (obsolete in 7.0+ versions)

enabled

Specifies whether JMX is available, defaults to true

port

Specifies port where JMX is published if remote management is available, defaults to 10987.

20.8. maintenance

spacecheck.server

Server is checking free space of the specified hard drive in the path. When the free space is lower then 25% and 15% the notification appears in the left bottom corner of every octopus client. Most of the time c:\octopus\server on Windows or /octopus/server/ on Linux. First threshold - 25% - only gets logged as an error, second threshold gets logged and send an urgent message to all users connected to the system.

spacecheck.database

Server is checking free space of the specified hard drive in the path. When the free space is lower then 25% and 15% the notification appears in the left bottom corner every octopus client. Most of the time c:\octopus\data on Windows or /octopus/data/ on Linux. First threshold - 25% - only gets logged as an error, second threshold gets logged and send an urgent message to all users connected to the system.

20.9. persistence

database.server.primary

IP address of the primary database server

database.server.secondary

IP address of the secondary database server if present

database.trigger

Path which is being checked for the trigger file by the PostgreSQL server. BACKUP read-only database starts accepting connections when the trigger file is detected.

hibernate.connection.url

Database connection URL in following syntax: jdbc:postgresql://$DATABASE_SERVER/octopus where the $DATABASE_SERVER is replaced by the values in database.server.primary or database.server.secondary.

hibernate.connection.username

Defaults to octopus

hibernate.connection.password

Database password for octopus user

hibernate.c3p0.max_size

Connection pool size (ie. maximal amount of database connections made by server), defaults to 250. Remember to keep max_size in reasonable bounds, it has to be lower than database maximum connection count - openfire server connection count - reserved connections for HiLo identity generator in Hibernate. Server checks couple of configuration parameters during startup and refuses to start should the values differ - and max_size is one of them.

database.server (in server-local.ini)

primary on MAIN server, secondary BACKUP server

20.10. log

level

Default log level applied to all logs, defaults to DEBUG, valid levels are TRACE, DEBUG, INFO, WARN, ERROR.

path

Default path, subdirectory where logs are stored. Relative to $SERVER_ROOT, defaults to log.

archive

Specifies time after which logs get compressed, time is set as number and character (scale), number is positive integer and char is one of h, d, w, m (with obvious meanings).

purge

Specifies time after which (compressed) logs will be deleted, defaults to 14d.

On top of default log levels, it is also possible to set log levels to individual topics, syntax is as follows - level.<LogTopicSimpleName>=<LEVEL> - where LEVEL is one of TRACE, DEBUG, INFO, WARN, ERROR, FATAL and defaults to TRACE. For example, to set logging of all HTTP related messages at level ERROR, use the following - level.Server.HTTP=ERROR.

20.11. backup

postgresPath

Empty by default - not needed if pg_dump is present in the PATH, this is the case on Linux, you need to set the path to PostgreSQL directory on Windows (c:\Program Files\PostgreSQL\9.3\bin). Do not forget to change this path when doing major PostgreSQL upgrade otherwise, the backups will not be created.

enabled

Defaults to false

dumpPath

Default to relative path of backup

schedule

Defaults to 0 3 * * *, full cron syntax is supported (ie. lists, ranges, steps), if you're not familiar with cron configuration ("man cron" > google), the order is minute hour day-of-month month day-of-week. Asterisk is a wildcard that matches anything. Default value means 3:00 am.

purge

Specifies time after which dumps will be deleted, defaults to 1m (one month).

20.12. debug

enabled

Used to enable debug mode - this is typical in a development environment, it disables automatic init data import and switches the client to debug mode. Under no circumstances, this should be even present on customer site!

Chapter 21. Administrator Troubleshooting

21.1. What are my modules in the license and when they are going to expire?

You can find information about the licensed modules and about the validity of the license on the http://localhost/admin/ (on the server) or http://%IP_of_your_octopus_server%/admin/ (from any machine - authentication requires username and password of user with administrator role in octopus). Here in the upper right corner click on the List button - see following screenshot.

Admin Web Interface - Licensed Modules

21.2. Who skipped/unskipped/created/archived/deleted/undeleted/purged/copied/moved/edited particular story?

Login to the octopus server and open the simpleLogger.log located under /octopus/server/log/%date%/ and search for the particular changes of the particular story

Tip

You can use LogReader tool to search through the logs. See the LogReader guide for more information. Keep in mind that the time is in UTC.

Examples:

Skipped story

where 76610360 is the slugID and 76610263 is the storyID

2016-06-13 09:53:40.373   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' skipped slug [76610360] story 'IRELAND TO TAKE 4000 REFUGEES' [76610263]
                        
Unskipped story

where 76610360 is the slugID and 76610263 is the storyID

2016-06-13 09:58:09.792   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' unskipped slug [76610360] story 'IRELAND TO TAKE 4000 REFUGEES' [76610263]
                        
Created story

where 76611387 is the storyID and (default) is the script alternative and 76611484 is the slugID and 76609876 is the showID

2016-06-13 09:58:48.526   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'European Union' [76611387][(default)]
2016-06-13 09:58:48.526   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created story 'European Union' [76611387]
2016-06-13 09:58:48.541   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611484] story 'European Union' [76611387] in rundown 'TV24 - NEWS - 06/14 18:00:00' [76609876]
                        
Archived story

where 76610262 is the storyID and (default) is the script alternative and 76610359 is the slugID

2016-06-13 12:10:39.250   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted story 'ALBUM REVIEWS' [76610262] into system trash
2016-06-13 12:10:39.250   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'ALBUM REVIEWS' [76610262][(default)]
2016-06-13 12:10:39.259   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76610359]] story 'ALBUM REVIEWS' [76610262] forever
2016-06-13 12:10:39.260   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' archived story 'ALBUM REVIEWS' [76610262]
                        
Deleted story

where 76611387 is the storyID; note the "local trash" statement - it is the rundown trash, not the global trash

2016-06-13 09:59:19.463   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted story 'European Union' [76611387] into system trash
2016-06-13 09:59:19.463   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [76611484] story 'European Union' [76611387] into local trash
                        
Undeleted story

where 76611505 is new slugID, 76611387 is the storyID and 76609876 is the showID

2016-06-13 10:00:36.734   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611505] story 'European Union' [76611387] in rundown 'TV24 - NEWS - 06/14 18:00:00' [76609876]
2016-06-13 10:00:36.734   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'European Union' [76611387][(default)]
2016-06-13 10:00:36.745   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76611484]] story 'European Union' [76611387] forever
                        
Purged story

where 76610264 is the storyID and 76610361] is the slugID; note that "into system trash" statement - it is in global trash

2016-06-13 10:00:09.532   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted story 'NEW STAR WARS MOVIE' [76610264] into system trash
2016-06-13 10:00:09.532   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'NEW STAR WARS MOVIE' [76610264][(default)]
2016-06-13 10:00:09.542   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76610361]] story 'NEW STAR WARS MOVIE' [76610264] forever
                        
Copied story

where 76611408 is the storyID of the newly created copy, 76611387 is the storyID of original story and 76611506 is the slugID of newly created copy

2016-06-13 10:01:56.699   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'European Union (1)' [76611408][(default)]
2016-06-13 10:01:56.701   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'European Union' [76611387][(default)]
2016-06-13 10:01:56.712   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created story 'European Union (1)' [76611408]
2016-06-13 10:01:56.725   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611506] story 'European Union (1)' [76611408] in rundown 'TV24 - NEWS - 06/14 18:00:00' [76609876]
                        
Moved story

where 76610360 is the slugID of the moved slug, 76610263 is the storyID of the moved story, 76610366 is the slugID of the slug and 76610269 is the storyID of the story which is next in the order

2016-06-13 10:02:39.809   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' moved slug [76610360] story 'IRELAND TO TAKE 4000 REFUGEES' [76610263] before slug [76610366] story 'DANISH POLICE CLOSE THE ROADS' [76610269]
                        
Changed order of multiple stories

where 76610356 and 76610364 are slugIDs and 76610259 and 76610267 are story IDs

2016-06-13 10:03:15.001   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' moved slug [76610356] story 'KERRY SUPPORTING IMIGRANTS' [76610259] before slug [76610364] story 'iPHONE 6S INTRODUCED' [76610267]
2016-06-13 10:03:15.008   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' moved slug [76610357] story 'IMMIGRATION - HUNGARY' [76610260] before slug [76610364] story 'iPHONE 6S INTRODUCED' [76610267]
                        
Modified script of the story

where 76610259 is the storyID, (default) is the alternative script and (4) is the history version of the story script

2016-06-13 10:03:44.591   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'KERRY SUPPORTING IMIGRANTS' [76610259][(default)]
2016-06-13 10:03:44.608   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'KERRY SUPPORTING IMIGRANTS' [76610259][(default)], changed: script (4)
                        
Modified script and duration of the story

where 76610259 is the storyID, (default) is the alternative script and (6) is the history version of the story script

2016-06-13 10:05:23.322   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'KERRY SUPPORTING IMIGRANTS' [76610259][(default)]
2016-06-13 10:05:23.325   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'KERRY SUPPORTING IMIGRANTS' [76610259][(default)], changed: duration, script (6)
                        

21.3. Who created/archived/deleted the rundown?

Created rundown

where 76633074 is showID and null is name of the rundown in this case it means it is scheduled rundown

2016-06-13 12:22:10.587   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created rundown null [76633074]
2016-06-13 12:22:15.641   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611507] story of type JINGLE named '5 MIN UPDATE OPEN' [76611409] in rundown 'ETV - 5 MIN UPDATE - 15:00:01' [76633074]
2016-06-13 12:22:15.642   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'BOSTON BOMBING TRIAL' [76611410][(default)]
2016-06-13 12:22:15.643   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'BOSTON BOMBING TRIAL' [33385205][(default)]
2016-06-13 12:22:15.651   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created story 'BOSTON BOMBING TRIAL' [76611410]
2016-06-13 12:22:15.658   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611508] story 'BOSTON BOMBING TRIAL' [76611410] in rundown 'ETV - 5 MIN UPDATE - 15:00:01' [76633074]
2016-06-13 12:22:15.660   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'GUNMAN STRIKES SLEEPING KID' [76611411][(default)]
2016-06-13 12:22:15.660   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'GUNMAN STRIKES SLEEPING KID' [33385201][(default)]
2016-06-13 12:22:15.666   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created story 'GUNMAN STRIKES SLEEPING KID' [76611411]
2016-06-13 12:22:15.670   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611509] story 'GUNMAN STRIKES SLEEPING KID' [76611411] in rundown 'ETV - 5 MIN UPDATE - 15:00:01' [76633074]
2016-06-13 12:22:15.671   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'FREE DRINKS AT STARBUCKS?' [76611412][(default)]
2016-06-13 12:22:15.676   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'FREE DRINKS AT STARBUCKS?' [33385209][(default)]
2016-06-13 12:22:15.680   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created story 'FREE DRINKS AT STARBUCKS?' [76611412]
2016-06-13 12:22:15.685   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611510] story 'FREE DRINKS AT STARBUCKS?' [76611412] in rundown 'ETV - 5 MIN UPDATE - 15:00:01' [76633074]
2016-06-13 12:22:15.686   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'FEDEX TO BUY TNT' [76611413][(default)]
2016-06-13 12:22:15.687   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'FEDEX TO BUY TNT' [33382317][(default)]
2016-06-13 12:22:15.691   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created story 'FEDEX TO BUY TNT' [76611413]
2016-06-13 12:22:15.694   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611511] story 'FEDEX TO BUY TNT' [76611413] in rundown 'ETV - 5 MIN UPDATE - 15:00:01' [76633074]
2016-06-13 12:22:15.695   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'YEMEN CRISIS' [76611414][(default)]
2016-06-13 12:22:15.696   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' modified story 'YEMEN CRISIS' [33385202][(default)]
2016-06-13 12:22:15.697   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created story 'YEMEN CRISIS' [76611414]
2016-06-13 12:22:15.698   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611512] story 'YEMEN CRISIS' [76611414] in rundown 'ETV - 5 MIN UPDATE - 15:00:01' [76633074]
2016-06-13 12:22:15.707   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created slug slug [76611513] story of type JINGLE named '5 MIN UPDATE CLOSE' [76611415] in rundown 'ETV - 5 MIN UPDATE - 15:00:01' [76633074]
2016-06-13 12:22:15.715   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' created off-air line in rundown 'ETV - 5 MIN UPDATE - 15:00:01' [76633074]
                    
Archived rundown

when rundown is archived, the rundown itself is intact but the stories in it are archived and it is not possible to do the changes

2016-06-13 12:25:14.851   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' archived story 'BOSTON BOMBING TRIAL' [76611418]
2016-06-13 12:25:14.852   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' archived story 'GUNMAN STRIKES SLEEPING KID' [76611419]
2016-06-13 12:25:14.853   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' archived story 'FREE DRINKS AT STARBUCKS?' [76611420]
2016-06-13 12:25:14.855   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' archived story 'FEDEX TO BUY TNT' [76611421]
2016-06-13 12:25:14.855   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' archived story 'YEMEN CRISIS' [76611422]
                    
Deleted rundown
2016-06-13 12:23:37.432   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76611507]] story of type JINGLE named '5 MIN UPDATE OPEN' [76611409] forever
2016-06-13 12:23:37.438   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted story 'BOSTON BOMBING TRIAL' [76611410] into system trash
2016-06-13 12:23:37.446   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76611508]] story 'BOSTON BOMBING TRIAL' [76611410] forever
2016-06-13 12:23:42.408   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted story 'GUNMAN STRIKES SLEEPING KID' [76611411] into system trash
2016-06-13 12:23:42.433   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76611509]] story 'GUNMAN STRIKES SLEEPING KID' [76611411] forever
2016-06-13 12:23:42.439   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted story 'FREE DRINKS AT STARBUCKS?' [76611412] into system trash
2016-06-13 12:23:42.451   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76611510]] story 'FREE DRINKS AT STARBUCKS?' [76611412] forever
2016-06-13 12:23:42.452   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted story 'FEDEX TO BUY TNT' [76611413] into system trash
2016-06-13 12:23:42.460   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76611511]] story 'FEDEX TO BUY TNT' [76611413] forever
2016-06-13 12:23:42.462   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted story 'YEMEN CRISIS' [76611414] into system trash
2016-06-13 12:23:42.469   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76611512]] story 'YEMEN CRISIS' [76611414] forever
2016-06-13 12:23:42.478   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted slug [slug [76611513]] story of type JINGLE named '5 MIN UPDATE CLOSE' [76611415] forever
2016-06-13 12:23:42.483   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted off-air line in null show
2016-06-13 12:23:42.483   121 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deleted rundown ETV 6/13/2016 15:00 [76633074]
                    

21.4. Who MOS activated/deactivated the rundown?

You can find out who and when MOS activated particular rundown. You can find it in the simpleLogger.log under /octopus/server/log/%date%/. Message looks similar to this example:

2016-07-26 09:38:14.539   122 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' activated rundown 'ETV - NEWS - 19:00:00' [77301651] on device 'PLAYOUT'
        

Keep in mind that the Date and Time is in UTC. User is the user who MOS activated the rundown, name of the rundown follows and 77301651 is unique showId of the Rundown and device is the MOSID of the MOS activated device. And MOS deactivate:

2016-07-26 09:42:26.887   122 LogTopic.Server.SIMPLE_LOGGER INFO    User 'administrator' deactivated rundown 'ETV - NEWS - 19:00:00' [77301651] on device 'PLAYOUT'
        

Tip

You can use our LogReader tool for log filtering based on the showId. Read LogReader guide for more information about LogReader and how to work with it.

21.5. How to delete a user from octopus?

It is not possible to delete the user from octopus because of the dependencies in the database. You can only deactivate the user. Find the user under Administration / User / Users - select particular user you want to deactivate, click on Edit and un-tick the Active check-box and press OK. The user will disappear from the Active user list. You can switch between active and inactive users by clicking on the Show active in the toolbar.

21.6. How the basic authentication works in octopus?

In case of basic authentication, the username and the password is authenticated against the records in the octopus database. Every user can change his/her password in the user profile - right click on the username in the right bottom corner of the octopus client and choose the second option Change password.Note that Change password option is not available when LDAP authentication is configured.

21.7. How the LDAP authentication works in octopus?

In case the LDAP authentication is configured, the username is authenticated against octopus database but the password is authenticated against the Active Directory/LDAP server. It means that the username has to be present in octopus database and that the password is never stored in the octopus database. You can easily import the user from the LDAP server by clicking on User import and selecting the user you want to import in the Administration / User / Users. Keep in mind that you can not delete the user once you import it - see the "How to delete a user from octopus?" above. In case you would want to import all users related to the same group as the selected one you can tick the option Import user group membership. This is how you can import multiple users which belong to the particular user group in Active Directory/LDAP.

LDAP authentication just brings the ability to use the same password in octopus as for login to the computer so the users do not have to have a different set of passwords for octopus and for the computer.

21.8. What to do when the username has changed in the Active Directory/LDAP?

In case that the username has changed in the Active Directory/LDAP, you do not have to import that user again. You can simply edit the account in octopus and modify the username/shortname/longname or any other field. The username just has to be exactly the same as in Active Directory/LDAP

21.9. How to make the Octopus server available from the Internet?

There are several options:

  • You can access it with VPN - then the client acts like in local network.

  • To access Octopus remotely without using VPN, the Octopus server would need to have a public hostname that would be accessible both on your local network and from the Internet. The client <-> server communication is SSL (port 443, port 8443 in case of linux server). The only thing that needs to be changed in Octopus is a setting in the server/server-local.ini file, the listenOn setting would need to be changed to the public hostname. Restart of octopus server service is necessary to apply this change. Local administrators need to:

    • configure the public hostname

    • open ports required for octopus in your firewall - see the Octopus IT requirements document

    • Update DNS records (reverse and forward records)

  • Forward the ports (HTTP=80, SSL=443, 5222 for openfire) necessary for the Octopus Client-Octopus Server communication to the Octopus Server in your gateway/router and add the host file records to the client computers.

21.10. Why are the octopus logs with wrong time?

All logs of octopus services are logged in UTC. It is not possible to change it.

21.11. Fulltext does not give correct results

It might happen that the fulltext index is broken. You have two options how to fix it. First option is without downtime:

  1. Login to octopus client as an administrator and go to the Administration / Search / Fulltext Search.

  2. Select all items in the list and click on Stop indexing. Everything will disappear.

  3. Click on Start indexing, select all items and click on OK.

If it does not help, downtime is required.

  1. Login to the octopus server operating system.

  2. Stop the octopus server service on the SLAVE server.

  3. Stop the octopus server service on the MASTER server.

  4. Delete whole .LuceneIndex folder under /octopus/server/. That is the place where octopus stores the fulltext index.

  5. Start the server service on the MASTER server.

  6. Start the server service on the SLAVE server.

  7. Login to octopus client as an administrator and go to the Administration / Search / Fulltext Search.

  8. Select all items in the list and click on Stop indexing. Everything will disappear.

  9. Click on Start indexing, select all items and click on OK.

Keep in mind that reindexing might have some impact on the server performance in case the server is not powerful enough and it also depends on the size of the database. it is recommended to run reindex during non-peak hours.

21.12. What to do when somebody accidentally deleted/broke the Admin Menu?

You can re-import default menu by running server with argument of "--import-menu Administration"

21.13. What the logs contain?

The best tool to use for reading the octopus logs is the LogReader most of the time located under /octopus/tools/LogReader. Ask octopus support for the guide if you do not have it.

21.13.1. Server logs

Usually stored in c:\octopus\server\log\%date%\

API.log

calls to REST API are logged here, which are the calls from Mobile/Table clients as well

AS.log

ActiveSync - subscription to lists, i.e. wires, stories, etc

autoActions.log

automatic actions - create, archive, delete, etc.

clientErrors.log

client errors sent from the clients to the server

clients.log

number and list of active desktop clients

cluster.log

state of the cluster and state/change of server roles

consistency.log

progress of migration scripts when updating the database

database.log

processes in the database, i.e. updates, locks on tables, etc.

discovery.log

multicast logging

http.log

mobile clients connection and actions (for mobile version 1), API. Access over http except the desktop clients is logged.

export.log

calling of export scripts - both manual and event based

fileTransfer.log

upload of files from clients and Agents to server

internalProcesses.log

all automatic processes which are not invoked by the users are logged here

jersey.log

jetty.log

jmx.log

logging.log

logging of created logs

LDAP.log

authentication and import of users

mailer.log

sending notification emails

memory.log

memory usage log

messaging.log

notifications and IM messages log

msgQueue.log

queue of events on the server

msgs.log

print.log

all print jobs are logged here

QL.log

database queries log

rightEngine.log

rmi.log

desktop clients access, connecting, disconnecting, etc.

rundown.log

scheduler.log

actions required auto actions like rundown creation, archivation and deletion

server.log

all processes excluding the automatic ones are logged here

simpleLogger.log

all user actions logged in human readable format

storyColorEngine.log

log of the conditional colour formatting of the stories

storyStatusEngine.log

log of the conditional story statuses

storyUpdate.log

system.log

CPU and HDD activity log

systemErr.log

systemOut.log

threads.log

state of internal process - what thread is doing what and how many threads there are

transactions.log

database transactions including their duration

wires.log

wires, notification widgets housekeeping and wire rules log

21.13.2. Client logs

The location of the client logs can be configured by the administrator. They are stored by default in the hidden folder in the user profile folder:

  • On Windows XP - C:\Documents and Settings\%username%\.octopus\log\%date%\

  • On Windows 7/Windows 8/Windows 10 - C:\Users\%username%\.octopus\log\%date%\

  • On MAC OSX - /Users/%username%/.octopus/log/%date%/

activeXWrapper.log

activeXWrapper_cpp.log

cache.log

desktop.log

gui.log

loading of each section in the client

logging.log

actions on log files - create, archive, delete logs

messaging.log

state of the messaging client

MOSPlugins.log

communication between the client and the ActiveX plugin - what xml we are sending to plugin and plugin is sending to the client and what we do with the xml

print.log

all print jobs sent by the client

rundown.log

serverConnection.log

connections of client to the server, how they are connecting and if the connection is successful or not and all exchanged data between client and server

systemErr.log

threads.log

wires.log