Web interface¶
The web interface is the primary means of managing and monitoring a Perfect Streamer node. This is the context-sensitive help section: its structure mirrors the structure of the web interface, and every screen and every significant dialog box has its own section, which the help button opens.
The section describes the purpose of each screen and its relation to the rest of the documentation. The concepts behind the settings are set out in the thematic sections of the manual, which are linked to. The fields of stream inputs and outputs are covered separately, by transport (Input and output fields by transport) — this is the only place where the settings are described field by field rather than screen by screen.
Access and roles¶
The web interface is opened in a browser at the node address and the web server port: by default http://<address>:8808 (or https://<address>:43981 when TLS is enabled). Two interfaces are available: the new one (primary) and the classic one, at the path /classic. The initial sign-in, the service ports and changing the default password are described in Initial settings.
Sign-in is performed with a login and a password (Digest authentication). Permissions are determined by the account role:
- Admin
Full access: configuration of streams and services, administration, viewing.
- Restricted admin
Viewing and pausing — of a stream, of an individual input or output of it and of a DVB adapter.
- Viewer
Status viewing only: this role has no pause button at all.
The role also determines the set of screens. Only the administrator has access to “Users / Logins” and “EPG Settings”, to the whole “Administration” group and, within “Monitoring”, to “Logs” and “Alerts”; the remaining screens open in all three roles. The restriction applies not only in the menu: a direct link to a closed screen produces the “No access” page. Within the commonly available screens the actions that change the configuration are not disabled but simply not shown — a role without the rights does not see them.
The node serves the alert feed to the administrator only. Therefore in the two other roles all the alarm indicators in the interface are empty: the alert marks on the stream rows, the dots on the graphs and the cards, the state colour driven by an alert. Monitoring itself keeps working — only the alert channel is closed (Alerts).
Accounts and roles are managed on the Web server & accounts screen.
Sign in¶
The sign-in form.¶
The sign-in form is displayed before the application loads and prompts for a login and a password. After a successful sign-in, the last viewed screen is opened. Changing the default password is mandatory at the first sign-in (see Initial settings). If “Auto sign-in” is enabled for the account, the form does not appear at all for some time after the first sign-in — see Web server & accounts.
An empty password field is not a mistake but a second way to sign in; it is stated below the field: “Leave empty to sign in with the auto sign-in session that already exists in this browser.” A form submitted this way does not check the password — the node is asked whether it recognizes this browser by auto sign-in, and a live session opens the panel at once. This adds no rights: the very session that is checked when the panel is opened normally is checked here too. This is how the check that did not go through at opening is repeated by hand: the connection dropped for an instant, or the session appeared in another tab only after the form had opened. When there is no session, that is exactly what is said: “There is no auto sign-in session in this browser — enter the password.”, and not “Invalid login or password”: that message remains the answer to a wrong login–password pair. When the node is unreachable, the form displays “Cannot reach the server”, and with an empty password this message is not replaced by the one about a missing session. After the “Log out” button there is nothing to resume: logging out revokes this browser’s auto sign-in session on every node of the domain (Web server & accounts).
Interface layout¶
On the left is the navigation menu grouped by section; at the top is the bar with the common elements. The menu operates in two scopes, switched in the top bar:
Node — management and monitoring of the current node. Three menu groups:
Monitor — status of streams, clients, hardware and services;
Configure — users and EPG;
Administration — server services, storages, license, maintenance.
Meshwork — consolidated screens of the node network: the domain overview, the node membership, the link graphs, the links and the shared resource catalogue (see Meshwork and the Meshwork section).
The composition of the menu depends on the role and on what is present on the node. An item the role has no rights for is not shown. “DVB adapters” and “Hardware” appear according to the devices detected, not the ones configured. The remaining conditional items depend not on the hardware but on the objects themselves: “DVR” requires at least one storage, “Transcoders” at least one transcoder instance, “Test streams” a running test input.
Lists are handled the same way throughout the interface. In the configuration lists — the inputs and outputs of a stream, the logins, the billing servers, the sources, the channel sets and the EPG accounts, the DVR storages, the web server accounts — a click anywhere in the row opens its editor, the same as the “Edit” button at the end of the row; a click on a nested element (pause, deletion, the library button) performs only that element’s action. In the monitoring lists a click on a row expands the details, and the expanded row is marked by a highlight and a stripe at the left edge. Keyboard operation is described in Keyboard operation.
Common bar¶
Besides the scope switch, the top bar provides: the uptime indicator, the alerts bell (for the administrator role only; leads to the Alerts screen), the list of keyboard shortcuts, the help button, the language selector, the switch for opening adjacent nodes, the theme switch, the account indicator and log out. The account indicator is not a button but a caption with the name of the account the sign-in was made under (the “Signed in: <login>” tooltip, and when the session’s expiry is known — “Signed in: <login> · session ends <when>”); it is the same for all roles and is absent when the node does not report the account of the session. The node-opening switch shows its current value and cycles through three: “Ask every time” (the default), “New tab” and “Current tab” (the “Open nodes in” tooltip). The setting applies everywhere the interface leads to the admin UI of another node.
The “Open node” prompt before going to an adjacent node.¶
With the “Ask every time” value, going to an adjacent node opens the “Open node” window with the question “Where to open <node>?” — the question holds the name of the node, the same one as in the “Node” column of the Nodes screen. In the window one picks “New tab” or “Current tab” (the first by default) and confirms with the “Open admin UI” button. The “Remember the choice” checkbox, together with the confirmation, writes the picked value into the setting, and the question is no longer asked; without the checkbox the choice applies once. “Cancel”, “✕” and Esc close the window, go nowhere and do not change the setting — even with the checkbox ticked. A click outside the window does not close it. Ctrl or ⌘ on a click open a new tab right away, bypassing the question; on the graphs and on the tiles of the Meshwork overview this trick does not work — the question is always asked there.
There is no question for the rows of the own node (the transition happens inside the same admin UI) and for an unavailable neighbour: the node is offline, behind NAT without a public entry point or without an address — such a row is not a link at all and carries the “Node unavailable” tooltip.
After the update the setting is reset to “Ask every time” for everyone except those who picked “Current tab”: the former storage did not distinguish a deliberately picked “New tab” from the default value.
Keyboard operation¶
The interface can be used without a mouse. The first press of Tab on any screen brings up the “Skip to content” button: it moves the focus into the screen area, bypassing the top bar and the menu. The element under focus is always outlined by a frame; when working with the mouse the frame does not appear.
Four shortcuts work on any screen:
Keys |
Action |
|---|---|
|
Open the “Keyboard shortcuts” window. |
|
Move the cursor to the screen’s search field. The field is present on the “Streams”, “Clients”, “EPG Database”, “Logs” and “Pipeline” screens; on the others the key is left to the browser and its own find-on-page works. |
|
Move to the navigation menu, to the current item. |
|
Move to the screen content. |
While the cursor is in an input field and while any dialog window is open, these shortcuts do not act: the characters are typed, and the keyboard belongs to the window. Alt+N and Alt+M are detected by the physical key position, so they also work on layouts where Alt+N produces a diacritic.
A data list is a single Tab stop: it is entered once, and from there the arrows are used. The ↑ and ↓ keys move between rows, Home and End — to the first and the last one, Enter or the space bar open or expand a row, → and ← expand and collapse it. Tab inside the list goes round the buttons of the current row and then leaves the list altogether; the cursor position is remembered, including after a mouse click. Simply moving the cursor opens nothing: a row becomes the one selected for the header actions by Enter.
Where the order is set by dragging, the same move is done with the Alt+↑ and Alt+↓ shortcuts. There are seven such places, and they fall into two groups. In the “Streams” list, in the “Billing servers” list (Users / Logins), in the “Programs” window (Programs) and in the list of a stream’s inputs — on the “Inputs” tab of the editor (Configure stream) and in the expanded row of the stream list — the order belongs to the node: it is saved immediately and is seen by everyone, and on a refusal the row returns to its place. On the mosaic wall (Mosaic) and in the “Favorites” bar of the node overview (Node overview) the order stays in the browser: the node knows nothing about it, and another operator has an order of their own. The keyboard move is switched on together with dragging, not instead of it: on a phone neither of the two works, and the mosaic and “Favorites” need a wide screen — on a tablet their order is only displayed.
On a graph canvas (Pipeline, Topology) the arrows do not step through rows but pan the image; + and − change the zoom, 0 fits the whole graph.
In any dialog window Esc closes the window, Tab walks its elements in a loop and does not lead outside the window, and after closing the focus returns to the element from which the window was opened.
The “Keyboard shortcuts” window is opened by the ? key and by the button in the common bar. On a narrow screen there is no button, but the shortcuts themselves work: with a keyboard attached the window is called up by the key. It lists the shortcuts in four groups — “Everywhere”, “In a list”, “On a movable row” and “In a dialog” — and reminds that on macOS the ⌥ Option key is used instead of Alt. The key names in the window are not translated.
How context-sensitive help works¶
Help is invoked from the interface and opens the section that corresponds to the current context:
for a screen, help is opened with the common help button and leads to the section for that screen;
for a dialog box, help is invoked with the “?” button in the box itself and leads to the section for that box.
Every screen and every significant dialog box has its own help section, so navigating from the interface always leads to the description of exactly what is open on the screen.