Qui est limité
- Un membre. Le propriétaire du projet limite un membre à des dossiers d’écrans et à des écrans choisis. Le membre se connecte comme avant et ne voit et ne modifie que ses propres écrans.
- Un agent. Le propriétaire limite un agent de la même façon. Un agent n’a jamais non plus une portée plus large que la personne qui en est responsable : sa portée est son propre périmètre restreint par celui de cette personne, de sorte qu’une personne limitée n’agit jamais par l’entremise d’un agent plus étendu.
- Jamais limités. Le propriétaire du projet et les clients de service du projet entier.
Une limite est un périmètre. Il est lu à chaque requête, jamais stocké dans un jeton ou une session, de sorte qu’une modification s’applique à la prochaine requête de la personne sans nouvelle connexion. Un appelant sans périmètre travaille sur tout le projet et ne paie rien pour la vérification.
Dossiers et héritage
Les dossiers d’écrans forment la hiérarchie. Un périmètre qui nomme un dossier contient chaque écran de ce dossier et de chaque dossier qu’il contient, et il suit le dossier quand celui-ci est déplacé.
Hotel
Lobby <- the lobby manager's scope holds Lobby and Bar
Bar
Casino Floor <- the floor manager's scope holds Casino Floor
Rooms
- Un périmètre contient jusqu’à 1 000 dossiers et 200 écrans individuels, et au moins l’un des deux.
- Un écran individuel peut se trouver dans un nombre quelconque de périmètres, et un dossier aussi.
- Les ID doivent nommer des dossiers et des écrans actifs du projet au moment où le périmètre est écrit. Un dossier ou un écran supprimé plus tard laisse un ID qui n’accorde rien.
- Un membre qui approuve les révisions est limité à des dossiers. Les écrans individuels sont pour les membres qui n’approuvent pas.
- Une personne est soit limitée aux écrans, soit un téléverseur, jamais les deux : un téléverseur est limité au contenu, un membre limité aux écrans.
Définir un périmètre
Seul le propriétaire du projet définit, modifie ou lève un périmètre, dans le tableau de bord.
- Ouvrez la page Accès du tableau de bord.
- Sous Personnes, ouvrez le membre et utilisez Écrans. Vérifiez les dossiers, qui incluent tout ce qu’ils contiennent, et ajoutez des écrans individuels si le membre n’approuve pas. Enregistrez.
- Pour un agent, ouvrez-le sous Agents et utilisez le même contrôle Écrans.
- Pour limiter une personne avant qu’elle se joigne, ajoutez le périmètre à l’invitation.
Levez le périmètre au même endroit pour redonner au membre tout le projet.
Définir le périmètre d’un membre met fin aux agents que cette personne a amenés dans le projet, de sorte que rien ne conserve la portée plus large qu’ils avaient auparavant. Un périmètre est refusé tant que la personne, ou un agent qu’elle a amené, détient un client de service actif du projet : révoquez chaque client que nomme le refus et définissez de nouveau le périmètre. Transférer le projet à un membre retire le périmètre de ce membre.
Un membre invité avec un périmètre se joint en tant que membre qui ne peut pas approuver. Le propriétaire active Peut approuver pour lui sur la même page quand il doit décider des révisions pour ses dossiers.
Ce que fait et voit une personne limitée
Dans le périmètre, une personne limitée travaille comme un membre du projet, dans le tableau de bord, avec la CLI et par l’API :
- Écrans. Lecture, santé, lectures, disponibilité, captures d’écran et vue en direct, commentaires, commandes comme le redémarrage, le vidage du cache, l’identification et la mise à jour, étiquettes, champs, emplacement, nom, liste de lecture, horaire de liste de lecture, prise de contrôle, archivage et suppression.
- Dossiers. Créer, renommer, déplacer et supprimer des dossiers dans le périmètre, et définir la liste de lecture par défaut d’un dossier. Le dossier que nomme un périmètre reste : seule une personne ayant un périmètre plus large le supprime.
- Déplacements. Un écran ou un dossier passe d’un endroit du périmètre à un autre. La source et la destination sont toutes deux dans le périmètre.
- Campagnes. Créer, modifier et supprimer une campagne dont toute l’audience se trouve dans le périmètre.
- Actions de flotte. Sélectionner des écrans par ID ou par dossier dans le périmètre.
- Nouveaux écrans. Une personne limitée qui peut approuver jumelle ou provisionne un écran dans un dossier du périmètre. Le nouvel écran nomme son dossier, il se retrouve donc dans le périmètre.
- Notes. Lire et écrire les notes sur leurs propres écrans, sur les listes de lecture et sur rien de particulier.
Le contenu (médias, listes de lecture, applications, cartes, données de carte) reste régi par le rôle du membre, exactement comme pour tout membre.
Une personne limitée n’accède à aucune administration du projet : les membres, les invitations, les clients de service, les connexions d’agents, les liens de flotte, la facturation, les paramètres, les webhooks, les notifications, les alertes, les déclencheurs, les importations d’horaires et les rapports à l’échelle du projet sont refusés. Chacun répond outside_screen_scope.
Une campagne n’est modifiable que dans le périmètre
Une campagne est listée pour tout le monde, et une personne limitée ne la modifie que si toute son audience est dans son périmètre. Sinon editable est false et la campagne est en lecture seule pour elle.
- Un dossier ou un écran du périmètre est à l’intérieur de celui-ci.
- Une règle
anyest à l’intérieur quand chaque enfant l’est. - Une règle
allest à l’intérieur quand au moins un enfant l’est, car c’est une intersection. - Une règle d’étiquette, et la règle de tous les écrans, ne sont jamais à l’intérieur.
Une personne limitée qui ne peut pas approuver
Un membre limité qui ne peut pas approuver les révisions lit tout dans le périmètre et exécute des commandes, des captures d’écran et des commentaires, et ne modifie ce qui est diffusé que par l’entremise d’un approbateur. L’affectation d’une liste de lecture, les horaires, les prises de contrôle, les campagnes, les dossiers et les déplacements répondent approver_required pour lui. Un membre sans périmètre n’est pas touché.
Ce qui est en dehors du périmètre
Les écrans en dehors du périmètre sont masqués de toutes les listes : la liste des écrans, les écrans d’un dossier, les écrans d’une campagne, le calendrier, les événements et le flux en direct. L’arbre des dossiers montre les dossiers du périmètre et les dossiers au-dessus, en lecture seule et sans nombre d’écrans, de sorte que l’arbre a une racine. Leurs frères sont masqués.
Une requête qui nomme un écran, un dossier, un sélecteur ou une audience en dehors du périmètre est refusée en entier et jamais restreinte : rien n’est écrit. Un ID en dehors du périmètre et un ID qui n’existe pas obtiennent la même réponse.
{
"status": 403,
"errors": [
{
"code": "outside_screen_scope",
"screen_scope": { "folder_ids": ["sfd_01LOBBY"], "screen_ids": [] },
"hint": "Ask the project owner to widen the scope, or leave this to a member of the whole project."
}
]
}
screen_scope nomme le périmètre propre de l’appelant, qui peut ainsi savoir ce qu’il peut utiliser. Les enregistrements de lecture, le calendrier et le journal du Player acceptent un écran du périmètre (le calendrier aussi un dossier). La tendance de santé à l’échelle du projet et la disponibilité quotidienne sont refusées ; l’historique de santé et la disponibilité par écran restent ouverts.
Administration déléguée
Donnez à un gestionnaire de lieu ses dossiers et laissez-le les gérer :
- Le propriétaire limite le gestionnaire aux dossiers du lieu.
- Le propriétaire active Peut approuver pour le gestionnaire.
- Le gestionnaire affecte directement les listes de lecture, les horaires et les campagnes dans ses dossiers, et décide des révisions que les agents proposent pour ces dossiers.
Un approbateur limité ne décide que d’une révision dont toute la portée est dans son périmètre, et la page Révisions ne liste que celles-ci. Un approbateur limité ne décide d’aucune révision de créatif publicitaire. Une révision qui atteint un écran en dehors du périmètre répond outside_screen_scope.
Membres, invités et administrateurs de l’organisation
Une personne a au plus une organisation d’appartenance. Les personnes pour qui elle est l’organisation d’appartenance en sont les membres. Dans un projet de toute autre organisation, une personne est externe, c’est-à-dire invitée, et la liste des personnes du projet la signale. L’adhésion à un projet reste la seule voie d’accès à son contenu. GET /api/session rapporte, pour une personne, organization, et GET /api/members signale chaque invité avec external.
- Devenir membre. Un administrateur de l’organisation invite une personne par courriel, et son acceptation fait de cette organisation son organisation d’appartenance, à la place de toute autre. Les personnes dont l’adresse se trouve dans un domaine vérifié de l’organisation sont membres, tout comme toute personne que gèrent l’authentification unique ou le provisionnement des utilisateurs. Une personne sans organisation d’appartenance qui crée un projet prend l’organisation de ce projet comme organisation d’appartenance. Rejoindre un projet ne change jamais l’organisation d’appartenance.
- Retirer un membre. Un administrateur retire un membre de l’organisation. Son organisation d’appartenance est effacée et l’accès aux projets accordé par un administrateur ou une invitation prend fin ; l’accès accordé par le provisionnement des utilisateurs reste du ressort du provisionnement. Une personne retirée reste exclue, même dans un domaine vérifié, jusqu’à une nouvelle invitation. Le retrait est refusé tant que la personne est propriétaire d’un projet de l’organisation (
member_owns_projects) : transférez-le d’abord. Une personne que gère le fournisseur d’identité de l’organisation est retirée auprès de ce fournisseur (managed_member), et un administrateur est retiré une fois son poste d’administrateur terminé (organization_admin_member).
Politique relative aux invités
Une organisation choisit, dans les Paramètres de l’organisation, les personnes qu’elle admet dans ses projets à titre d’invités.
| Politique | Admis |
|---|---|
| Autoriser | Tous les invités. Valeur par défaut |
| Domaines | Un invité dont l’adresse courriel vérifiée se trouve dans l’un des domaines énumérés (20 au maximum) |
| Aucun | Aucun invité |
La politique s’applique aux personnes lorsqu’elles sont ajoutées à un projet : à l’invitation, de nouveau à son acceptation, par une liaison de groupe et lorsqu’un administrateur ajoute quelqu’un. Les membres et les administrateurs de l’organisation elle-même ne sont jamais refusés. Un refus est guest_not_allowed. Restreindre la politique ne retire personne : la page Personnes signale chaque invité qu’elle n’admettrait pas.
Bibliothèque
Un administrateur de l’organisation choisit un projet comme Bibliothèque de l’organisation dans les Paramètres de l’organisation (Premium, Education et Enterprise). Tous les autres projets de l’organisation utilisent alors les médias, les dossiers et les listes de lecture de la Bibliothèque, en lecture seule :
- Placez ses médias sur des pages.
- Lisez un dossier de la Bibliothèque avec un sélecteur de dossier. Les sélecteurs par balise et « tous » n’utilisent que les médias propres au projet.
- Planifiez ses listes de lecture et créez des listes de lecture à partir de ses modèles.
Seuls les membres de la Bibliothèque modifient ces éléments. Un projet qui a des écrans ne peut pas être la Bibliothèque, et une fois qu’il l’est, on ne peut pas y ajouter d’écrans (library_no_screens). Les agents listent la Bibliothèque avec screenrig media list --library, screenrig media folder list --library et screenrig playlist list --library.
Ce que fait un administrateur de l’organisation
Un administrateur a autorité sur tous les projets de l’organisation, et ne lit le contenu d’un projet qu’après l’avoir rejoint.
- Rejoindre un projet. L’administrateur rejoint tout projet de l’organisation à titre d’approbateur sans périmètre, y compris lorsqu’il en était déjà membre limité. L’opération est consignée dans le journal d’audit et un courriel est envoyé au propriétaire du projet. Rejoindre de nouveau ne change rien.
- Changer le propriétaire. L’administrateur nomme propriétaire du projet un membre vérifié du projet ou un autre membre de l’organisation, y compris lorsque le propriétaire est parti ou a été désactivé. Un administrateur qui a rejoint le projet peut se nommer lui-même propriétaire. L’opération est consignée, et l’ancien et le nouveau propriétaire reçoivent un courriel.
- Retirer un membre du projet. L’administrateur retire tout membre qui n’est ni le propriétaire ni lui-même. L’opération est consignée.
- Dans un projet dont il est membre, l’administrateur dispose des commandes de membre du propriétaire sur les autres personnes : retirer des membres, définir qui peut approuver, définir les périmètres d’écrans et de téléversement, transférer la propriété et lier des groupes SCIM.
Dossiers protégés
Un dossier protégé est destiné aux écrans où aucune personne seule ne modifie ce qui est diffusé. Une personne qui peut approuver active Protégé pour un dossier dans le tableau de bord, et la protection couvre tous les dossiers qu’il contient. Les agents et les clients de service ne protègent jamais un dossier, et un agent ne retire la protection que sous forme de proposition : screenrig screen folder update ID --unprotect devient une révision que décide un second approbateur. Un approbateur limité protège les dossiers situés dans son périmètre, et non un dossier que son périmètre nomme. Une modification qui atteint un écran d’un dossier protégé devient une révision que décide un second approbateur, à chaque niveau d’accès, y compris Gérer.
Un agent qui affecte une liste de lecture à un écran d’un dossier protégé obtient pending_review et la révision. L’écran continue de diffuser ce qu’il diffusait jusqu’à ce qu’un second approbateur décide.
screenrig screen assign scr_01EXAMPLESCREEN000000000 --playlist-id pl_01WELCOME
screenrig reviews list --kind protected_change
screenrig reviews show rvw_01EXAMPLEREVIEW0000000000
Ce qui arrive à une modification dépend de la modification :
- Une révision. Affecter une liste de lecture, définir ou effacer l’horaire d’une liste de lecture ou une prise de contrôle, sur un écran ou sur une flotte, est une révision
screen_change. Créer, modifier ou supprimer une campagne dont l’audience atteint un écran protégé, créer un dossier dans un dossier protégé, déplacer, supprimer ou définir la liste de lecture par défaut d’un dossier qui se trouve dans un dossier protégé ou qui en contient un, déplacer des écrans ou des dossiers vers l’intérieur ou l’extérieur d’un tel dossier, et lever une protection sont une révisionprotected_change. La modification est appliquée dans la décision d’approbation. Un renommage prend effet immédiatement. - Un refus. Les modifications d’étiquettes, de champs, d’emplacement, de fuseau horaire et de mur, le remplacement d’un écran, la suppression, l’archivage, la suspension, l’alimentation de l’afficheur et son horaire, une page de lecture, un toast, l’inventaire publicitaire, les cibles de déclencheur et les importations d’horaires qui atteignent un écran protégé répondent
protected_target. Pour effectuer la modification, un approbateur lève la protection au moyen d’une révision, la modification est faite, puis le dossier est de nouveau protégé. Un déclencheur qui se propage laisse les écrans protégés tels quels et les compte. - Reste ouvert. La reprise, le désarchivage, le redémarrage, le rechargement, l’identification, la maintenance et les captures d’écran restent ouverts.
Une révision attend une personne autre que le proposeur et autre que la personne responsable de l’agent ou du client de service proposeur. La décision est refusée avec second_approver_required quand la personne qui décide est la même. Quand le projet n’a qu’un seul approbateur, le refus dit de faire d’un autre membre un approbateur. Une modification proposée avant que son dossier soit protégé est soumise à la règle au moment de l’approbation. Une révision devenue périmée pendant son attente répond review_stale ; proposez de nouveau la modification.
Un projet sans dossier protégé ne paie rien pour la règle.
Campagnes réservées
Une campagne marquée Réservée n’est modifiée, mise en pause, supprimée ni dé-réservée que par une personne qui peut approuver les révisions : le propriétaire, ou un approbateur dont le périmètre contient toute l’audience de la campagne. Une personne active Réservée dans le formulaire de la campagne du tableau de bord. Les agents et les clients de service ne modifient jamais une campagne réservée, quel que soit leur niveau d’accès, et leurs tentatives répondent reserved_item. Réservez la campagne qui porte l’horaire fixe d’une marque, et un gestionnaire ou un agent ne peut pas la modifier par accident.
Agents
Un agent limité travaille avec la CLI comme un membre limité le fait dans le tableau de bord.
screenrig agent status
screenrig screen list
screenrig screen folder list
screenrig screen pair "$PAIRING_CODE" --folder sfd_01LOBBY --name "Lobby entrance"
screenrig screen assign scr_01EXAMPLESCREEN000000000 --playlist-id pl_01WELCOME
screenrig screen folder update sfd_01LOBBY --unprotect
screenrig campaign show cmp_01EXAMPLECAMPAIGN0000000
agent statusaffiche, pour l’agent,screen_scopeet, pour la personne qui en est responsable,person_screen_scope.screen listetscreen folder listne contiennent que ses écrans et ses dossiers.screen pairaccepte--folderet exige un dossier du périmètre.screen folder update ID --unprotectpropose de retirer la protection d’un dossier, envoyée seule. Elle devient une révision que décide un second approbateur.campaign showafficheeditableetreserved.- Sans projet sélectionné,
screen listomet un projet où l’agent est limité. Sélectionnez le projet.
Les refus et comment les corriger
Chaque refus nomme le chemin de retour dans son hint.
| Problème | Statut | Quand | Corriger |
|---|---|---|---|
outside_screen_scope | 403 | L’écran, le dossier, le sélecteur, l’audience ou la route est en dehors du périmètre de l’appelant | Utilisez un écran ou un dossier dans screen_scope, ou demandez au propriétaire du projet d’élargir le périmètre |
approver_required | 403 | Un membre limité qui ne peut pas approuver modifie ce qui est diffusé, ou un agent, un client de service ou une personne qui ne peut pas approuver protège un dossier | Demandez à un approbateur d’effectuer la modification, ou demandez au propriétaire d’activer Peut approuver |
protected_target | 409 | La modification atteint un écran d’un dossier protégé et n’a aucune forme de révision | Demandez à un approbateur de lever la protection au moyen d’une révision, d’effectuer la modification, puis de protéger de nouveau le dossier |
second_approver_required | 403 | La personne qui décide d’une révision protégée est le proposeur ou répond de l’agent proposeur | Demandez à un autre approbateur, ou demandez au propriétaire de laisser un autre membre approuver les révisions |
reserved_item | 403 | Une campagne réservée est modifiée par quelqu’un qui ne peut pas approuver, ou par un agent ou un client de service | Demandez à un approbateur d’effectuer la modification ou de lever l’indicateur |
review_stale | 409 | La campagne, le dossier ou les écrans sur lesquels une révision protégée a été proposée ont changé | Relisez-les et proposez de nouveau la modification |
resource_conflict | 409 | Un périmètre est défini sur le propriétaire, sur un téléverseur, sur un approbateur avec des écrans individuels, ou alors qu’un client de service de la personne détient | Suivez l’indice : levez l’autre limite, retirez les écrans individuels ou révoquez les clients de service nommés |
guest_not_allowed | 403 | Une invitation, son acceptation ou une liaison de groupe ajoute un invité que la politique relative aux invités de l’organisation n’admet pas | Demandez à un administrateur de l’organisation de modifier la politique relative aux invités, ou invitez une adresse que cette politique admet |
library_no_screens | 409 | Un projet qui a des écrans devient la Bibliothèque, ou un écran est ajouté à la Bibliothèque | Choisissez comme Bibliothèque un projet sans écran, et jumelez les écrans à un autre projet |
Une modification protégée qui est acceptée répond 202 avec status: pending_review et la révision, la même réponse qu’obtient un agent Proposer. Suivez-la avec screenrig reviews show ID.
Audit
Chaque modification est un événement du journal du projet, écrit dans la transaction qui effectue la modification :
| Événement | Quand |
|---|---|
project.member_screen_scope_changed | Le périmètre d’un membre est défini, modifié ou levé |
agent.screen_scope_changed | Le périmètre d’un agent est défini, modifié ou levé |
screen.folder_protection_changed | Un dossier est protégé ou non protégé |
campaign.reserved_changed | Une campagne est réservée ou non réservée |
Les révisions écrivent les événements habituels review.*, et la personne qui approuve est l’acteur de ce qu’applique une révision.
API
Les routes du propriétaire utilisent la session du tableau de bord.
| Route | Ce que ça fait |
|---|---|
PUT et DELETE /api/members/{user_id}/screen-scope | Définir ou lever le périmètre d’un membre |
PUT et DELETE /api/agents/{id}/screen-scope | Définir ou lever le périmètre d’un agent |
PATCH /api/screen-folders/{id} avec protected | Protéger un dossier, envoyé seul |
POST /api/campaigns et PATCH /api/campaigns/{id} avec reserved | Réserver une campagne |
Les routes de l’organisation acceptent la session du tableau de bord d’un administrateur. Les agents et les identifiants porteurs n’en ont pas.
| Route | Ce que ça fait |
|---|---|
POST et GET /api/organizations/{org_id}/member-invitations | Inviter des membres et lister les invitations |
DELETE /api/organizations/{org_id}/members/{user_id} | Retirer un membre |
PUT /api/organizations/{org_id}/guest-policy | Définir la politique relative aux invités |
PUT /api/organizations/{org_id}/library | Définir ou retirer le projet Bibliothèque |
POST /api/organizations/{org_id}/projects/{project_id}/access | Rejoindre un projet |
PUT /api/organizations/{org_id}/projects/{project_id}/owner | Changer le propriétaire d’un projet |
DELETE /api/organizations/{org_id}/projects/{project_id}/members/{user_id} | Retirer un membre du projet |
La référence de l’API liste chaque requête, réponse et problème. Les problèmes sont dans les types de problèmes.