# Roles

> La raíz Roles de acceso de la página Usuarios, la lista de roles con sus bandas de alcance, y el panel del rol donde se establecen su nombre, su descripción y sus interruptores de permiso, incluidos los dos roles fijos.

La raíz **Roles de acceso** lleva un nodo por rol. Un rol es un juego con nombre de interruptores de
permiso; los usuarios se atan a él, y editarlo cambia de golpe a cada usuario que lo tiene. La
estación trae seis roles. Dos son fijos: **Sin sesión iniciada** (el rol en vigor antes de que
alguien inicie sesión) y **Admin** (acceso total). Cuatro son sugerencias corrientes, que se
pueden editar y eliminar: **Viewer**, **Operator**, **Maintainer** y **Developer**.

Igual que la raíz Usuarios, esta raíz y sus hijos son de un administrador de este circuito
(Gestionar los usuarios locales). Cualquier otro ve la raíz sin hijos y, detrás de ella, el
aviso que dice que inicie sesión como administrador. En una estación que todavía no tiene
usuarios, el aviso dice en cambio: "Los roles ya vienen creados, pero cambiar uno exige un
administrador, y esta estación no tiene ninguno todavía. Configure primero los usuarios
locales: el administrador principal es el primero."

## La lista de roles {#the-role-list}

Al abrir la raíz sale la tarjeta **ROLES DE ACCESO**, con la línea "Cada rol llega a estas
áreas, a la profundidad que muestra su banda. Editar un rol cambia a todos los usuarios que lo
tienen, y editar el primero cambia lo que puede hacer cualquier pantalla antes de que alguien
inicie sesión." y una fila por rol, en un orden fijo:

| Fila | Marcas | Línea de abajo |
| --- | --- | --- |
| Sin sesión iniciada | Un glifo de persona caminando y la ficha **En vigor antes de un inicio de sesión**. | Su descripción, "Lo que cualquiera puede hacer en esta estación sin iniciar sesión." |
| Admin | Un glifo de candado y la ficha **Acceso completo · bloqueado**. | Su descripción, "Acceso total a todas las áreas, más la gestión de usuarios." |
| Cualquier otro rol | | Su descripción cuando la tiene; si no, un resumen vivo de su alcance ("Puede cambiar {n} de 6 áreas", "Solo lectura" o "Sin acceso"), para que una descripción vacía nunca deje la fila en blanco y una descripción vieja nunca se quede colgando. |

Los roles editables siguen en orden alfabético del nombre que muestra la fila, sin distinguir mayúsculas de minúsculas, así que un rol recién creado o renombrado ocupa su lugar entre ellos. La columna y la lista desplegable de roles del panel de un usuario muestran los roles en el mismo orden.

Cada fila lleva detrás su banda de alcance compacta, seis marcas en el mismo orden en todas
partes, así que los roles se leen como una escalera y no como una lista de nombres. Cuando no
queda ningún rol editable, la tarjeta dice "Sin sesión iniciada y Admin son los únicos roles de
esta estación. Nuevo rol construye uno para el trabajo que el banco de pruebas hace de verdad."

Al hacer clic en una fila se abre el nodo de ese rol. En la columna, cada nodo de rol lleva
detrás esa misma banda compacta; el nodo Sin sesión iniciada lleva el glifo de la persona
caminando entre las llaves.

## Los roles de fábrica {#the-factory-roles}

| Rol | Descripción de fábrica | Qué tiene |
| --- | --- | --- |
| Sin sesión iniciada | Lo que cualquiera puede hacer en esta estación sin iniciar sesión. | Todo salvo Gestionar los usuarios locales y Acceso remoto (LAN). |
| Admin | Acceso total a todas las áreas, más la gestión de usuarios. | Todos los permisos; fijo. |
| Viewer | Solo lectura en toda la estación. | Ver los paneles de control, Ver Connector, Consultar los modelos, Ver los históricos, Ver Logic, Ver Validación, Ver los eventos, Acceso remoto (LAN). |
| Operator | Lleva la línea día a día. Opera paneles de control y Logic, ejecuta procedimientos. | Viewer más Operar los paneles de control, Operar Logic, Ejecutar procedimientos. |
| Maintainer | Operator, más calibrar y configurar el connector, exportar datos y gestionar las corridas grabadas. | Operator más Calibrar tags, Configurar Connector, Exportar/importar históricos, Gestionar los históricos. |
| Developer | Construye sinópticos, lógica y procedimientos: todo salvo la administración de la estación. | Maintainer más Editar los paneles de control, Configurar Logic, Gestionar Process (que se lleva consigo Editar recetas y evaluaciones). |

La escalera es una sugerencia, no un contrato: Viewer, Operator, Maintainer y Developer se
pueden renombrar, editar y eliminar. La siembra corre una sola vez, en una estación cuya tabla
de roles está vacía; una semilla eliminada no regresa. Sin sesión iniciada es permisivo a
propósito, para que una estación recién instalada funcione entera sin nadie con la sesión
iniciada y apretarlo sea un acto deliberado.

Ninguno de los seis nombres ni de las seis descripciones de arriba es una palabra guardada: la
estación conserva una clave de cada uno y la lee en el idioma de la interfaz, para que la lista se
lea como el resto de la pantalla. Si renombra uno, o escribe una descripción propia, la estación
guarda lo que usted escribió: de ahí en adelante ese rol se lee igual en cualquier idioma de la
interfaz.

## El panel del rol {#the-role-panel}

El panel de un rol guarda conforme usted trabaja: el nombre y la descripción al salir del
campo, y un interruptor en el momento en que se acciona. Mientras está seleccionado un rol que
otra pantalla acaba de eliminar, el panel dice "Ese rol ya no está en esta estación. Elija otro
en la columna." Mientras el runtime está detenido el panel ni siquiera aparece: la página deja
su lugar al aviso de pausa, como todas las pantallas salvo [Cuenta](account) (véase
[Usuarios](users#what-the-page-does-not-do)).

### Cabeza, nombre y descripción {#head-name-and-description}

La cabeza lleva el glifo que la fila del rol lleva en la columna (una llave, o la persona
caminando en Sin sesión iniciada), el nombre del rol y, bajo el nombre, una línea que dice qué
es el rol. Admin lleva la ficha **Acceso completo · bloqueado**. Sin sesión iniciada lleva una
ficha que dice qué tan abierta está la estación para quien no inició sesión, y su línea es la
frase que acompaña a esa ficha:

| Ficha | Cuándo | Frase |
| --- | --- | --- |
| Abierta | Tres áreas o más en Operar o Gestionar. | "Sin iniciar sesión, cualquiera en esta estación puede operar o configurar {n} de 6 áreas. Apague interruptores abajo para estrecharlo." |
| Restringida | Una o dos áreas en Operar o Gestionar. | "Sin iniciar sesión, cualquiera en esta estación puede cambiar {n} de 6 áreas; el resto es de solo lectura o está apagado." |
| Solo lectura | Ninguna área por encima de Ver. | "Sin iniciar sesión, cualquiera en esta estación puede ver lo que muestra la banda de abajo, y no puede cambiar nada." |

En cualquier otro rol, Admin incluido, la línea es la descripción del rol, leída como la lee la
lista: la de un rol de fábrica en el idioma de la interfaz, la que escribió un administrador
exactamente como la escribió. Un rol sin descripción muestra ahí "Un conjunto de permisos, que
lleva puesto todo usuario que lo tiene.", mientras que su fila en la lista muestra el resumen
del alcance.

| Campo | Qué es | Valores / predeterminado | Efecto |
| --- | --- | --- | --- |
| Nombre del rol | El nombre que usan la columna, la lista y el selector de rol de un usuario. | Hasta 60 caracteres; un rol nuevo empieza como **Nuevo rol**; un nombre en blanco conserva el anterior. Bloqueado en Sin sesión iniciada y en Admin. | Confirma al salir del campo; el registro informa de "Rol renombrado a '{name}'." |
| Descripción | La línea de abajo del rol en la lista y la línea bajo su nombre en la cabeza. | Hasta 200 caracteres, con el texto de ayuda "Para qué sirve este rol". Escondida en Sin sesión iniciada; de solo lectura en Admin. | Confirma al salir del campo; el registro informa de "Descripción de '{name}' guardada." |

Bajo el campo del nombre, los roles fijos llevan una nota: "El rol Admin es fijo. Siempre tiene
acceso completo y puede administrar los usuarios locales." y "Sin sesión iniciada es el rol que
rige cuando nadie ha iniciado sesión. Sus permisos son editables; el rol en sí no se puede
renombrar, eliminar ni asignar a un usuario." La ayuda de la descripción dice "Se muestra bajo
el nombre del rol. Actualícela cuando cambie lo que el rol puede hacer."

Debajo de los campos, la tarjeta lee en vivo el alcance del rol: el resumen, las palabras
**sigue los interruptores de abajo**, y la banda con etiquetas. Se vuelve a formar en cada
accionamiento, antes de que regrese la escritura. Nunca edita: el área Sistema mezcla
interruptores independientes, así que una marca no se puede devolver a uno solo de ellos.

### Permisos {#permissions}

La tarjeta **PERMISOS** abre con una de tres entradas:

- Admin: "El rol Admin siempre tiene acceso completo, así que sus interruptores son fijos. Es
  el rol que puede administrar los usuarios, y la estación conserva uno."
- Sin sesión iniciada: "Cada interruptor se aplica en cuanto usted lo cambia, a todas las
  pantallas donde nadie ha iniciado sesión."
- Cualquier otro rol: "Cada interruptor se aplica en cuanto usted lo cambia, a este rol y a
  todos los usuarios que lo tienen."

Después, un grupo por área, encabezado por el glifo del área, su nombre y un contador,
"{on} de {total}": Paneles de control (3), Connector (3), Process (4), Históricos (3), Logic
(3), Validación (1) y Sistema (5). Cada fila es una etiqueta, una descripción y un interruptor.
El catálogo completo, con cada etiqueta y cada descripción tal como se leen, está en la página
[Permisos](users-permissions).

Un interruptor queda bloqueado, y no se puede accionar, en cuatro casos:

| Interruptor bloqueado | Por qué | Cómo se lee |
| --- | --- | --- |
| Todos los interruptores de Admin | La máscara de Admin es fija. | Encendido, atenuado, sin etiqueta. |
| Gestionar los usuarios locales en cualquier otro rol | Es exclusivo de Admin. | Apagado, atenuado. |
| Ver los paneles de control | Es el suelo; no se puede revocar nunca. | Encendido, atenuado, con la etiqueta **Obligatorio**. |
| Un requisito previo cuyo dependiente está encendido | Encender el dependiente lo encendió y lo sostiene ahí. | Encendido, atenuado, con la etiqueta **Obligatorio**. |

Encender un interruptor enciende también lo que ese interruptor necesita (Operar los paneles de
control enciende Ver los paneles de control; Gestionar Process enciende Editar recetas y
evaluaciones, Ejecutar procedimientos y Consultar los modelos). Apagar un interruptor apaga
también todo lo que lo necesitaba (apagar Ver Connector se lleva consigo Calibrar tags y
Configurar Connector). Las reglas están enumeradas en la página
[Permisos](users-permissions#implication-rules). Cada accionamiento escribe el rol entero de
una vez y el registro informa de "{Label}: encendido para '{role}'." o "{Label}: apagado para
'{role}'."; una escritura que la estación rechaza regresa los interruptores a lo que de verdad
tiene guardado e informa de "No se pudo guardar el rol: {reason}".

La estación también normaliza lo que guarda: un rol que no es Admin nunca conserva Gestionar
los usuarios locales, y toda máscara guardada lleva sus requisitos previos, así que un rol
siempre es consistente consigo mismo.

### En vigor para, o Lo tienen {#in-force-for-or-held-by}

La última tarjeta es distinta en el rol de paso y en todos los demás:

- En Sin sesión iniciada, **EN VIGOR PARA** dice "Todas las pantallas donde nadie ha iniciado
  sesión, la de la propia estación y cualquier dispositivo que la mire. A nadie se le da este
  rol; es lo que rige hasta que alguien inicia sesión, y al iniciar sesión se cambia por el rol
  propio de ese usuario." y "Como la estación depende de que esté aquí, este rol se queda: sus
  permisos son suyos, su nombre y su existencia no."
- En cualquier otro rol, **LO TIENEN** enumera los nombres visibles de los usuarios que lo
  tienen, con "Cada interruptor que cambie aquí cambia lo que todos ellos pueden hacer." Cuando
  no lo tiene nadie, dice "Ningún usuario tiene todavía este rol. Asígnelo en la página propia
  de un usuario, en Usuarios."

## Crear y eliminar un rol {#creating-and-deleting-a-role}

**Nuevo rol**, en el pie de la columna, crea un rol que empieza en el suelo: Ver los paneles de control y Mandar avisos a Ganter encendidos, todo lo demás apagado, descripción vacía. El rol nuevo no se abre: su fila queda resaltada y desplazada hasta quedar a la vista en la lista de roles, y pulsar la fila lo abre. Agregue alcance a propósito; y
tenga en cuenta que un rol en blanco no tiene Ver los eventos, que sí tienen todos los roles de
fábrica. **Eliminar el rol**, en la barra de detalle, pregunta "¿Eliminar el rol '{name}'? Esta
acción no se puede deshacer." y se rechaza, atenuado con el motivo, en cualquiera de los dos
roles fijos ("{Name} es un rol fijo: la estación depende de que esté aquí.") y mientras algún
usuario lo tenga ("Este rol lo tienen algunos usuarios. Muévalos antes a otro rol.").

## Cómo llega un cambio a todos {#how-a-change-reaches-everyone}

Los roles viven en un solo servicio que lee la estación entera. Un interruptor accionado llega
de golpe a cada usuario que tiene el rol en cada conexión: la ventana de la estación, cada
navegador, cada operador con la sesión iniciada. Una pantalla vuelve a verificar el rol en cada
pulsación, así que a un operador cuyo rol acaba de perder un permiso se le rechaza el comando
en la siguiente pulsación aunque la pantalla ya estuviera dibujada. Un usuario a quien le
eliminan el rol por debajo cae al suelo. Un panel de control cuya lista **Visible para**
nombraba el rol eliminado trata esa entrada como inerte, así que el panel de control nunca
queda inalcanzable.

## Lo que el panel no hace {#what-the-panel-does-not-do}

- No asigna usuarios. Eso es el selector de Rol de la página de cada usuario, en
  [Usuarios](users-local-users#role).
- No cambia Admin: ni sus interruptores, ni su nombre, ni su existencia.
- No renombra ni elimina Sin sesión iniciada, y no lo ofrece en el selector de Rol de ningún
  usuario.
- No se dibuja mientras el runtime está detenido, ni en la ventana de la estación ni en ningún
  navegador: la página deja su lugar al aviso de pausa, así que ningún rol se puede crear,
  renombrar, describir ni eliminar, ni se acciona ninguno de sus interruptores, hasta que se
  reinicie el runtime.
- No le puede conceder Gestionar los usuarios locales a ningún rol que no sea Admin, y no le
  puede revocar Ver los paneles de control a ningún rol.
