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

Preselect all capture agent inputs when scheduling new event #979

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Arnei
Copy link
Member

@Arnei Arnei commented Nov 12, 2024

Aims to fix #941.

When scheduling a new event, if the selected capture agent has any inputs, the inputs are all preselected per default now. At least one input must remain selected. Input name should be rendered nicer now.

Note that these changes are only for when scheduling a new event (except the input name rendering), because the linked issue only talked about scheduling new events. For now I would leave the discussion on how this should work for existing events to a separate issue/pr.

For testing this, a capture agent with inputs must be configured in your Opencast. If you do not have a "real" capture agent, a dummy capture agent can still be configured. See the Opencast docs for more info: https://docs.opencast.org/develop/developer/#architecture/capture-agent/capture-agent-input/#setting-input-options

Quick showcase of the PR in action:
Bildschirmaufzeichnung vom 2024-11-12 11-05-41.webm

Arnei added 3 commits November 7, 2024 11:09
When scheduling an event, ensures that all
inputs for the capture agent are initially
selected.

Also fixes a potential source of bugs by
cleaning up the selected inputs everytime
the capture is changed.
Validation should now take capture agent inputs
into account. If inputs are present, at least one
will have to be selected.
Currently were displaying the whole translation
string for a capture agent input if a translation
could not be found, which is rather likely. This
commit display the input id in case there is no
translation, which should be a reasonable value
in most cases. (This is also how it worked in the
old admin ui)
@Arnei Arnei added the type:usability Improves the UX label Nov 12, 2024
Copy link
Contributor

Use docker or podman to test this pull request locally.

Run test server using develop.opencast.org as backend:

podman run --rm -it -p 127.0.0.1:3000:3000 ghcr.io/opencast/opencast-admin-interface:pr-979

Specify a different backend like stable.opencast.org:

podman run --rm -it -p 127.0.0.1:3000:3000 -e PROXY_TARGET=https://stable.opencast.org ghcr.io/opencast/opencast-admin-interface:pr-979

It may take a few seconds for the interface to spin up.
It will then be available at http://127.0.0.1:3000.
For more options you can pass on to the proxy, take a look at the README.md.

Copy link
Contributor

This pull request is deployed at test.admin-interface.opencast.org/979/2024-11-12_10-27-29/ .
It might take a few minutes for it to become available.

@snoesberger
Copy link

I tested this with an Extron SMP (2 inputs, channel A and B) and a pyCA (no input) and it worked as expected for both.

I only have a few minor comments:

  • When no input is selected, the next button is greyed out and not clickable, but there is no indication for the user to know what is missing. Can you add some information to indicate that at least one channel needs to be selected? Perhaps a text message like the one that appears when you select an end date that is in the past?
  • If the CA has inputs, the inputs field should also have a red star symbol like the other required fields.

Perhaps someone who has CAs from other vendors can have a look and see if this works well for them too?

@lkiesow
Copy link
Member

lkiesow commented Nov 18, 2024

I'm wondering what our expectations for capture agents are for this.
Our documentation states that it's up to the agent to interpret whatever value they get.
Which seems to me like no selection would also be a valid option.

In that sense, we should at least test this with all commonly used agents before merging this:

  • Extron SMP
  • Adena Arec
  • Epiphan Perl
  • pyCA
  • NCast
  • Galicaster ←(not sure if anyone is still using that)

Or was this behavior already present in the old admin interface?

@gregorydlogan
Copy link
Member

@JamesUoM @NadiaUoM you guys still using Galicaster?

@NadiaUoM
Copy link

NadiaUoM commented Nov 19, 2024 via email

@JamesUoM
Copy link
Contributor

JamesUoM commented Nov 19, 2024 via email

@gregorydlogan
Copy link
Member

Can you guys take a quick poke and see if this change breaks things for you while you're still using GC?

@JamesUoM
Copy link
Contributor

Can you guys take a quick poke and see if this change breaks things for you while you're still using GC?

Ok, though I doubt we'll still be using GC when we eventually deploy this code ;-)

@JamesUoM
Copy link
Contributor

Can you guys take a quick poke and see if this change breaks things for you while you're still using GC?

Ok, though I doubt we'll still be using GC when we eventually deploy this code ;-)

BTW I assume Zaragoza will be using GC

@JamesUoM
Copy link
Contributor

This will work fine with GC and matches what we have in the old Admin UI.

NOTE: GC can be configured to "hide" the inputs/tracks from OC and just returns capture.device.names=defaults if a scheduler requests capture.device.names=defaults or capture.device.names= than all enabled tracks are recorded

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:usability Improves the UX
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Capture agent options should be pre-selected when scheduling a recording
6 participants