Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add LSG support for templateAdLibs #1221

Merged
merged 4 commits into from
Nov 13, 2024

Conversation

scriptorian
Copy link
Contributor

This PR has been opened by SuperFly.tv on behalf of EVS Broadcast Equipment.

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Feature

What is the current behaviour? (You can also link to an open issue here)

LSG offers adLibActions and rundownBaselineAdLibActions in the adLib topic
Each adLibAction optionally includes an editableFields property to offer a schema for the adLibOptions property in the REST API for executeAdLib

What is the new behaviour (if this is a feature change)?

A new type of adLibAction has been added to the adLib topic - exposed as an (optional) additional array of templateAdLibs.
The templateAdLibActions are intended for actions where important data required to complete the action is not available during getRundown/getSegment processing, for example to support playing a video clip that is stored on an external asset management system.
To support this change and to allow robust parameter validation the editableFields property has been renamed optionsSchema and this has been tested to support the important difference between ingest created adlibs where for example a video clip is defined and shouldn't be changeable and 'ad-hoc' adlibs where the video clip information must be provided through the executeAdLib adlibOptions properties.

Other information:

Status

  • PR is ready to be reviewed.
  • Code documentation for the relevant parts in the code have been added/updated by the PR author
  • Relevant unit tests have been checked.
  • The functionality has been tested by the PR author

Affected Areas

  • This PR affects the Live Status Gateway.
  • TemplateAdLibs and the optionsSchema property will not appear unless blueprints create them.

@scriptorian scriptorian requested a review from a team as a code owner July 5, 2024 15:55
Copy link

codecov bot commented Jul 8, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 70.43%. Comparing base (ea7cece) to head (50bc344).
Report is 171 commits behind head on release52.

Additional details and impacted files
@@              Coverage Diff               @@
##           release52    #1221       +/-   ##
==============================================
+ Coverage      57.91%   70.43%   +12.51%     
==============================================
  Files            525       17      -508     
  Lines          84945     3596    -81349     
  Branches        4438      343     -4095     
==============================================
- Hits           49200     2533    -46667     
+ Misses         35689     1062    -34627     
+ Partials          56        1       -55     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@nytamin nytamin added Contribution from EVS Contributions sponsored by EVS Broadcast Equipment (evs.com) Contribution labels Jul 9, 2024
@nytamin
Copy link
Contributor

nytamin commented Jul 9, 2024

Thank you for this contribution! The NRK team is on vacation at the moment, we'll look at this PR when we're back in August.

Copy link
Member

@Julusian Julusian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want a second opinion on the concept and how it gets enabled in userDataManifest, but I am happy with the code change

Copy link
Member

@jstarpl jstarpl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing that is not quite clear to me from the spec is that templateAdLibs are Global, which I think will be even more confusing because there is no separate place for these "Template" AdLibs in the GUI. Maybe the "template"/"optionsRequired" aspect should just be a part of the topic object (as it is, in fact in IBlueprintActionManifest), and still just be inserted into two individual topics? As-is, one can create a template Part-local AdLib that will be pushed to the adLib topic, but a template Global AdLib will go to a different topic? This seems confusing.

packages/live-status-gateway/src/topics/adLibsTopic.ts Outdated Show resolved Hide resolved
@jstarpl
Copy link
Member

jstarpl commented Aug 16, 2024

We'd like to invite the Contributor and anyone else interested in this PR to a Workshop on Thu 2024-08-22 13:00 - 14:00 to discuss this and it's sibling PRs. Please e-mail me at jan.starzak@nrk.no for a Microsoft Teams invitation.

@jstarpl jstarpl changed the base branch from release51 to release52 October 3, 2024 14:00
…lic data property to identify a template adLib
meteor/client/ui/Shelf/AdLibPanel.tsx Outdated Show resolved Hide resolved
@jstarpl jstarpl merged commit 73527e0 into nrkno:release52 Nov 13, 2024
46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Contribution from EVS Contributions sponsored by EVS Broadcast Equipment (evs.com) Contribution
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants