metis-desk/docs/perfiles-de-trabajo.md
David dffb4b2794 feat: add process management features including feedback, help, and templates
- Implemented ProcessFeedback component for error handling in process forms.
- Created ProcessHelp component to provide contextual assistance for users.
- Added internationalization support for process-related strings in Spanish and English.
- Developed ProcessStartForm for initiating new processes with person and template selection.
- Introduced ProcessTemplateForm for creating and editing process templates.
- Built ProcessTemplatesPage to display and manage process templates.
- Enhanced ProcessesPage to list current processes and allow for creation and detail viewing.
- Added unit tests for various components to ensure functionality and correctness.
2026-10-07 09:34:18 +02:00

6.4 KiB

Perfiles de usuario

Uso y alcance

La sección Perfiles de usuario de cada compañía registra el entorno de una persona en un dispositivo concreto. Nuevo perfil aparece a la derecha de la cabecera y abre un modal. Editar y Ficha e historial son acciones explícitas. Los perfiles archivados quedan ocultos inicialmente y pueden incluirse mediante una casilla.

Nombre, persona y dispositivo son obligatorios. Cuenta de inicio de sesión y notas son opcionales. La persona no recibe acceso a Metis Desk. El dispositivo es un activo de la compañía; puede alojar perfiles de varias personas y una persona puede tener perfiles en varios dispositivos. No se deduce el tipo de dispositivo del nombre de la plantilla: las plantillas son configurables. La ayuda pide seleccionar un equipo que aloje la configuración.

La cuenta informática describe el inicio de sesión, no un buzón de correo ni una licencia. Seleccionarla no configura el equipo. Si se indica, debe ser una cuenta personal o compartida, activa y no caducada, de esta compañía, cuyo sistema y entorno estén activos. Debe existir una autorización vigente de la persona en estado pendiente o configurado. Las cuentas técnicas no representan su identidad de inicio de sesión. La caducidad incluye el día indicado; el final de una autorización es exclusivo.

Persona y dispositivo son la identidad funcional del perfil y no cambian después del alta. Cambiar de ordenador supone crear otro perfil y revisar el anterior. Nombre, cuenta, notas y estado pueden cambiar y conservan historial. Solo puede existir un perfil vigente para cada pareja persona/dispositivo. Los archivados se conservan; reactivar comprueba referencias y duplicados. Archivar no elimina configuraciones del equipo ni retira permisos externos.

Persona, puesto y activo

Un puesto agrupa activos; el perfil pertenece a una persona y a un dispositivo. No se almacena otra asignación de puesto en el perfil: la ficha consulta los puestos vigentes que incluyen el dispositivo. Esta relación no presupone que todas las personas que usan un ordenador sean titulares del puesto o responsables del activo.

La persona asignada al activo, la persona del puesto y las personas con perfiles tienen significados distintos. No se propagan cambios automáticamente entre ellas. Ninguna de estas referencias demuestra una autorización ni que una configuración esté lista.

Los puestos distinguen activos exclusivos y recursos compartidos. Consultar Puestos de trabajo.

Revisión y altas rápidas

Un perfil vigente muestra un aviso si la persona se desactiva, el equipo se retira o la cuenta pierde disponibilidad o autorización. Se conservan sus valores y revisiones. Se permite editar nombre/notas y archivarlo aunque necesite revisión. Crear, reactivar o cambiar la cuenta de un perfil vigente exige referencias disponibles. Las referencias siempre deben pertenecer a la compañía, incluso al archivar.

Persona, dispositivo y cuenta reutilizan SelectWithAction para altas en un modal adicional. Se conserva el formulario padre y el elemento guardado queda seleccionado. La autorización de cuenta también puede registrarse mediante una acción explícita. El editor adicional es compartido con los correos; no abre un tercer nivel de alta. Cancelar mantiene los valores del padre. Una creación ya guardada permanece aunque se cancele el perfil.

La ayuda aparece inmediatamente antes del pie con Guardar y Cancelar. Se mantienen traducciones es/en y estados de carga, error y vacío.

Arquitectura y persistencia

WorkProfile es un AggregateRoot con UniqueID; WorkProfileRevision es una DomainEntity con su propio UUID. WorkProfileValues es un Value Object inmutable con Name, UniqueID y Maybe para los opcionales. Crear genera UUID v7; actualizar conserva identidad, compara valores semánticamente y añade una revisión solo si cambian. Rehidratar conserva UUID e historial.

work_profiles conserva raíz, referencias y clave única nullable de la pareja vigente. work_profile_revisions conserva instantáneas ordenadas, cuenta histórica, actor autenticado y fecha UTC, con UUID propio y claves foráneas. Las migraciones explícitas son idempotentes. No hay borrado de perfiles ni de sus revisiones.

El repositorio bloquea la compañía antes de validar y guardar. Personas y cuentas usan ese mismo bloqueo, y el inventario se consulta mediante un servicio público de assets, sin importar sus modelos ORM. Dos altas concurrentes de la misma pareja no pueden producir dos perfiles vigentes. El mapper comprueba identidad, referencias, cuenta histórica, orden y fechas, última revisión y clave vigente. Una inconsistencia falla explícitamente.

GET /api/work-profiles/:companyId devuelve los perfiles y sus avisos. POST /api/work-profiles/:companyId y POST /api/work-profiles/:companyId/:id/update reciben values. Requieren sesión; las escrituras usan origen y CSRF. El actor procede de la sesión, nunca del cuerpo de la petición.

Comprobaciones y siguiente entrega

Las pruebas cubren cuentas opcionales, parejas vigentes únicas, múltiples personas/dispositivos, UUID, idempotencia, identidad funcional fija, revisiones, disponibilidad, caducidad, autorizaciones, aislamiento, concurrencia, persistencia y protección HTTP. Las pruebas de interfaz comprueban traducciones, ausencia de formularios junto a listados, altas rápidas y ayuda inferior.

La base del perfil incorpora ahora buzones y configuraciones de correo. Cada perfil puede tener varios buzones y cada configuración conserva su método y estado. La acción «Correos en dispositivos» de la fila abre la consulta filtrada del perfil. No se confunde la cuenta de inicio de sesión con el buzón.

El perfil incorpora también carpetas compartidas e impresoras por perfil, con acciones para abrir cada consulta filtrada. Las aplicaciones por perfil están implementadas sobre recursos. Los certificados por perfil también están implementados. La ficha Entorno actual reúne estas configuraciones. El mapa visual queda aplazado.

La comprobación en navegador verifica la nueva sección, los desplegables de persona y dispositivo, la apertura de las tres altas rápidas y la conservación del formulario al cancelarlas. En puestos se comprueba la carga de una composición anterior, el selector compartido, su incorporación visual y la cancelación sin persistir cambios.