Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Routing Projects
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Tielines
Next
Routing settings →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Routing/Routing Projects

Routing Projects

Routing Projects group retained Route Requests for a production so operators and technical staff can find and release them together. They are especially useful for Tieline routes, which reserve shared pathways between routers until their Route Requests are released.
A Project does not define which routes to take. It provides operational context for routes taken while that Project is selected.

Tip

Use a distinct Project for each production so its retained routes can be found and released together.

Understand which routes a Project holds#

By default, Buttons retains cross-router Tieline routes as Route Requests. When an operator assigns those routes to a Project, the Project shows the routes and the shared Tieline resources they continue to claim.
If Persist all routes is enabled in Settings → Routing, Buttons records same-router routes as Route Requests too. These routes can also be assigned to Projects. Without this setting, do not expect every ordinary route taken during a production to appear in its Project.
Projects group retained routing state; they are not a history of every routing action.

Create a Project for a production#

Create the Project before taking production routes so it is ready in the routing Project selector.
  1. Open Routing → Projects.
  2. Select New Project.
  3. Enter a Name that operators can identify, such as Studio 2 – Election Night.
  4. Add an optional Description when the name does not provide enough operational context.
  5. Select Create.
A name is the only required field. The new Project opens after creation.
You can also create a Project from the Project selector in Routing → Execute. Search for the intended name, select Create project, complete the dialog, and Buttons selects the new Project after creating it.

Add dates when useful#

A Project can have optional Start Date and End Date values. When you add an end date, choose its Expiry Mode:
  • Prompt for release marks the Project as expired and leaves its routes held for review.
  • Auto-release on expiry attempts to release its routes when the Project expires.
The end date must be later than the start date. Projects without an end date show No expiry and remain available until handled manually.
For day-to-day production routing, dates are optional. Use them when an expiry reminder or automatic release is part of the agreed operating plan.

Select the Project before taking routes#

The Project selector appears beside the routing actions in Routing → Execute.
  1. Stage the source-to-destination route.
  2. If it may cross routers, open Paths and review the proposed Tieline path.
  3. Open the Project selector.
  4. Select the production's Project.
  5. Select Take.
  6. Repeat for the other routes that should belong to the same production.
The selection remains available while routing, so confirm the selected Project when moving from one production to another. Select No Project when the next route should not be assigned to a Project and system policy permits it.
Use Go to project in the selector to open the selected Project and inspect its retained routes.

When a Project is required#

An administrator can enable Require project for tielines in Settings → Routing. When enabled:
  • A Tieline route must have a Project.
  • Buttons rejects the Tieline route before execution if no Project was supplied.
This requirement applies to Tieline routes. Persist all routes is a separate setting that controls whether ordinary same-router routes are also retained as Route Requests.

Note

The rejection happens silently: there's no error message or visual cue on the Project selector when a staged Tieline route is blocked this way. Selecting Take simply clears the staged route without taking it. If a Tieline route you staged seems to have gone nowhere, check whether a Project was selected before assuming something else went wrong.

Inspect a Project during a production#

Open Routing → Projects to see each Project's:
  • Status.
  • Timing or expiry information.
  • Start Date and End Date.
  • Expiry Mode.
  • Number of retained Routes.
Open a Project to inspect its route list. Each route shows its source and destination, integrity status, and request initiator. Use this view to confirm which retained routes belong to the production and whether any need attention.
Project status can include:
  • Active: the Project is available for routing requests.
  • Expired, routes held: the end date passed and routes remain assigned.
  • Expired, released: the end date passed and all routes were released.
  • Expired, release errors: automatic or requested release did not complete for every route.
  • Archived: the Project is no longer available for new routing requests.
A disabled Project is hidden from routing use and Router Sections. Disabling it does not release routes it already holds.

Correct a route assigned to the wrong Project#

Routes can be reassigned without releasing them.
  1. Open the Project that currently holds the route.
  2. Select one or more routes in its Routes list.
  3. Open the context menu.
  4. Select Assign to project....
  5. Select the correct Project.
When Require project for tielines is off, No project is also available. When the requirement is on, retained Tieline routes cannot be moved to No project.

Release routes when the production finishes#

Releasing a retained route disconnects its destination and releases the Tieline path associated with it. Other routes can then use Relations that are no longer occupied.
Before releasing routes, confirm that the production has finished and that its destinations may be disconnected.

Release selected routes#

Use selective release when part of a production remains active:
  1. Open the Project.
  2. Select the routes that are no longer needed.
  3. Open the context menu.
  4. Select Release n route(s).
  5. Review the routing result.
  6. Confirm that the released routes disappear from the Project while routes still in use remain.

Release every route in an expired Project#

When an expired Project still holds routes, its status banner shows the number remaining.
  1. Open the expired Project.
  2. Inspect the retained routes.
  3. Select Release all (n).
  4. Review the routing result.
  5. If routes remain, inspect the reported release errors before trying to archive the Project.
An auto-release Project may still show Expired, release errors when not every route could be released. Treat that status as outstanding routing work rather than assuming expiry completed the cleanup.

Archive a finished Project#

Archive a Project after its retained routes have been handled. Archived Projects are unavailable for new routing requests and become read-only.
If the Project holds no routes:
  1. Select Archive.
  2. Confirm Archive.
If it still holds routes, Buttons asks how to handle them:
  • Release routes and archive disconnects all retained routes, then archives only if none remain.
  • Archive and orphan routes archives the Project without releasing its routes. The routes keep their assignment to the archived Project.
Prefer Release routes and archive after confirming that the production is finished. Use Archive and orphan routes only when the routes must remain active and technical staff have another plan for finding and releasing them.
An archived Project can be unarchived. It can be deleted only after it is archived and no longer holds retained routes.

Daily Project checklist#

At the start of a production:
  1. Create or identify its Project.
  2. Confirm that the correct Project is selected before taking retained routes.
During the production:
  1. Use Go to project to inspect assigned routes when needed.
  2. Reassign any route filed under the wrong Project.
After the production:
  1. Inspect the Project's retained routes.
  2. Release routes that are no longer required.
  3. Resolve any release errors.
  4. Archive the Project when no further routing requests should use it.

Where to go next#

  • Configure routing defaults and project requirements
  • Use the routing topology graph

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful