Bernard Engine · Doc

Workflows, estados y plantillas

Un workflow es el grafo de las tareas de un elemento (un plano, un asset): cada tarea espera a las que la preceden. Esta página explica cómo cambia de estado una tarea, cómo construir y modificar un workflow, y cómo se propaga una modificación a los elementos ya creados. La vista que lo muestra se describe en Vista de nodos.

Plantillas y referencias

Un estudio no construye cada plano a mano. Define plantillas (una plantilla de plano, una plantilla de asset, una plantilla de proyecto…) que contienen la estructura, las propiedades, el workflow y los archivos. Cada objeto creado a partir de una plantilla es una referencia de ella: recibe una copia de todo lo que contiene la plantilla, y sigue vinculado a ella.

Los estados de una tarea

Una tarea tiene uno de los siete estados siguientes.

Estado Significado
Waiting la tarea espera a que termine lo que la precede
Ready puede empezar
WIP alguien trabaja en ella (o, en una tarea de script, se está ejecutando)
Pause el trabajo está interrumpido
Done terminada
Aborted cancelada: la tarea se ignora, como si no existiera
Failed fallo de una tarea de script

No todos los tipos de tarea tienen todos los estados:

Tipo de tarea Para quién Estados posibles
Task el trabajo de un artista (tiempo invertido, estimaciones, instrucciones) todos salvo Failed
Task Validation un punto de parada «go / no go»: un lead o un supervisor valida todos salvo Failed
Task Script un trabajo hecho por un puesto, sin nadie todos salvo Pause

Un compound no tiene un estado que se elija: su estado se calcula (ver más abajo). El workflow tiene una puerta de entrada (Input) y una puerta de salida (Output), creadas con él.

Quién decide. El servidor calcula el estado de cada tarea, el estado resultante, el progreso y el tiempo invertido. Las reglas ligadas a tu rol (permisos, asignación, correcciones) las comprueba la aplicación antes de enviar la solicitud. Si el servidor rechaza una solicitud, la pantalla vuelve al estado anterior.

Cómo pasa una tarea a Ready

No tienes que pasar las tareas a Ready a mano: Bernard lo hace siguiendo los enlaces del workflow.

Aprobaciones y retakes

Una corrección (retake) es una nota de tipo corrección puesta en una tarea, desde Add Correction or Note (clic derecho en la tarea) o desde una revisión.

Ver también Notas.

Pause, WIP y tiempo invertido

Estado resultante, tarea en curso y progreso

Cambiar el estado de una tarea: lo que puede bloquearte

Cambias el estado en la pestaña Properties, en la hoja de cálculo, en la pestaña Instructions (botones WIP y Done), o con un clic derecho en una selección de tareas. Bernard muestra State Error (rechazo) o State Warning con «Do you want to continue anyway ?» en los casos siguientes.

Situación Mensaje
tarea de plantilla: solo Waiting o Aborted «Warning You can't change the state on Model or Template»
no estás asignado y no tienes el permiso Can modify the state of tasks assigned to others (override assignees) «Warning you can't change this state because you are not assigned to the task»
Aborted sin el permiso Can manually abort tasks «Warning You can't change the state to 'aborted' because your role does not allow it»
WIP en la tarea de otro permitido solo si hay un único asignado y está en línea
Done con una corrección activa «Warning: you can't change the state to Done because there is still active correction»
Done con una checklist incompleta «Warning: you can't change the state to Done because at least one of the checklist element is not checked: » y la lista; un administrador puede saltárselo tras confirmar
estado de un script en curso «Please wait Script until Script finished for change State»

El servidor también rechaza un estado que el grafo no permite (por ejemplo Done cuando una tarea anterior no está terminada). Los permisos se configuran en Roles, permisos y asignación.

Las tareas de script

Una tarea Task Script la ejecuta un puesto, sin intervención humana. Sus propiedades: Command (la orden, una expresión), Launch On (el puesto), Task Priority, Log y Files.

Un script es un ejemplo de automatización propia del estudio: Bernard no entrega ninguna orden ya preparada. Ver Scripts y API.

Acciones, disparadores y eventos

Una acción (Action) es una orden que se lanza sobre objetos. Un disparador (Trigger) la lanza cuando cambia una propiedad. Un evento (Event) la lanza en una fecha.

Acciones. Una acción tiene una orden (una expresión), un icono, un departamento (para clasificarla en los menús), Read Access (quién la ve), Show Action Log y Start Up (se lanza al arrancar Bernard). Para usarla:

  1. Asígnala a objetos: pestaña Actions, botón Assign actions (en una plantilla, vale para sus referencias). Hacen falta los permisos Can assign actions y Can remove assigned actions.
  2. Lánzala: clic derecho en la selección (submenús por departamento) o botones de la pestaña Actions.
  3. Síguela en la vista Action Log: «Running», «Success», «Failed».

Como máximo se ejecutan tres acciones a la vez (Local Settings › Max Simultaneous Action). Una acción tiene éxito si no escribe nada en su salida de error; no se mira el código de salida.

Disparadores. Reservado a los roles que tienen el permiso Can edit event triggers.

  1. Clic derecho en la propiedad que se quiere vigilar › Edit Trigger. Se abre la ventana Triggers Edition on '…'.
  2. Create New Trigger, y luego Add Condition: =, !=, >, >=, <, <= (fechas y números), Changed, Contains (textos y listas).
  3. Elige la acción que se lanzará.

Varias condiciones funcionan como un «O»: la primera que se cumple lanza la acción. Una propiedad que tiene un disparador se muestra en rojo. En una plantilla, el disparador se copia en las referencias. Las propiedades vigilables son los textos, fechas, números, duraciones, booleanos, listas, así como el estado y la versión.

Eventos. Un evento lanza una acción en una fecha: Launch At, Launch For (usuarios o roles), Is Active, Launch Action, y Loop (Never, Every Day, Every Week, Every Hour).

Crear un workflow

Reservado a los administradores y a los roles que tienen acceso a los ajustes de proyecto (Has access to projects settings).

Un workflow se construye sobre una plantilla de elemento: todos los elementos que se creen después con esa plantilla lo tendrán.

  1. En la Tree View, abre los Project Settings del proyecto (ver Project Settings).
  2. Clic derecho en Project Item Model › Create › Project Item Model. Ponle un nombre (por ejemplo «Shot», «Character») y haz clic en Create.
  3. Muestra la Vista de nodos: un nodo Input y un nodo Output vacíos, con el color de las plantillas.
  4. En el panel de Propiedades, ajusta el nombre, el color, el icono y las estimaciones de la plantilla. Para añadir propiedades, clic derecho en la plantilla › Assign › Property.
  5. Haz clic en el botón Edit Workflow. El borde cambia de color y aparecen los botones Save y Cancel.
  6. Crea las tareas: clic derecho en el fondo de la vista › Create › Task (trabajo), Task Validation o Task Script, o la tecla Tab bajo el cursor. Los submenús Task Templates, Task Validation Templates y Task Script Templates ofrecen tareas ya preparadas (departamento, rol…).
  7. Enlaza las tareas: arrastra desde un puerto de salida (a la derecha) hasta un puerto de entrada (a la izquierda). Para insertar una tarea en medio de un enlace, suéltala encima. Los bucles se rechazan.
  8. En cada tarea, ya puedes ajustar el departamento, el rol esperado (Assign To), las estimaciones y las instrucciones: los elementos creados las recibirán.
  9. Haz clic en Save.

Después, crea un elemento con esa plantilla: recibe el workflow. Para que una tarea o un workflow de un elemento sea reutilizable, clic derecho en la tarea › Copy To Template (se pide confirmación) la añade a las plantillas de tareas.

Los compounds

Un compound agrupa las tareas de una gran etapa (Layout, Animation, Compositing…): es una simple agrupación, los enlaces siguen yendo de tarea a tarea, a través de sus bordes. Tiene un nombre, un departamento y un color.

Crear un compound (en edición):

Una vez creado:

Límites: un compound no puede contener otro compound, y la creación a partir de la selección se rechaza si la selección ya contiene un compound o una tarea ya incluida en un compound.

Modificar un workflow y propagar el cambio

El workflow de un elemento es una copia del workflow de su plantilla. Para modificarlo:

  1. Colócate en el workflow de una plantilla, o de un elemento: en ese caso, Bernard avisa de que todos los elementos de la misma plantilla se modificarán a la vez («Warning, all '…' will be modified at the same time»).
  2. Haz clic en Edit Workflow, haz tus cambios y luego Save. Para abandonarlo todo, Cancel.

Si otra persona ya está editando ese workflow, Bernard lo indica y pregunta si quieres continuar.

La propagación. Al guardar, Bernard aplica el cambio a la plantilla y a todas sus referencias: creación, modificación y eliminación de tareas y enlaces, por lotes. La ventana Workflow Propagation muestra el progreso, el caudal y el tiempo restante, y ofrece Pause after current batch. No se aconseja interrumpirla: las referencias sin procesar se quedan por detrás de la plantilla, y solo el usuario que lanzó la actualización puede reanudarla, en el siguiente arranque de Bernard.

Añadir una tarea a un workflow que ya está en producción. Una tarea añadida delante de trabajo terminado haría retroceder a los elementos. Por eso Bernard elige el estado de la nueva tarea para cada elemento:

La ventana indica «Aborted on N reference(s) (work already started after it)» y «Waiting on N reference(s)». Así, un elemento terminado sigue terminado. Para activar la tarea en un elemento concreto, pásala de Aborted a Waiting en ese elemento (o en varios seleccionándolos a la vez).

Eliminar una tarea o un compound de la plantilla lo elimina de las referencias; las tareas siguientes se reevalúan.

Propagar un valor. Tras modificar una propiedad en una plantilla, clic derecho en la propiedad › Set this value on all references aplica el valor a todas las referencias (reservado a los roles que tienen Can propagate property values to all child references). Bernard anuncia el número de elementos afectados y pide confirmación.

Plantillas de proyecto

Una plantilla de proyecto (Project Template) es un proyecto modelo: crear un proyecto desde una plantilla copia su estructura, sus ajustes, sus plantillas y sus workflows, pero no sus elementos de producción (ni sus archivos).

Sin plantilla, el proyecto se crea a partir de la plantilla de proyecto por defecto.

Las instrucciones

Una instrucción es una consigna que se muestra en una tarea: una línea de texto, que puede ser marcable, con imágenes o GIF animados. Las instrucciones orientan al artista, y sirven de lista de control a quien valida.

Crear o modificar instrucciones (roles que tienen el permiso de crear o eliminar instrucciones, y administradores):

  1. Selecciona la tarea (en la plantilla del workflow para que todos los elementos las reciban).
  2. En la pestaña Instructions, abre el menú del botón de edición (Edition Mode): Edit modifica las instrucciones de esa tarea, Edit Model las de la plantilla.
  3. Para cada instrucción, escribe el texto («Write Instruction ...»), activa Is Checkable si debe poder marcarse, y arrastra y suelta una imagen o un GIF si hace falta. Las flechas Move Up y Move Down cambian el orden.
  4. Valida con el botón OK.

Los botones de copia permiten Copy Instructions, Copy Text y Paste Instructions; un clic derecho ofrece Clear All Instructions. Add Correction crea una corrección desde la pestaña.

En una tarea de validación, el lead puede marcar cada instrucción como correcta o no, y luego añadir una corrección: se asocia a una tarea anterior o a todo el compound, con una categoría de corrección (ver Categorías), y notifica a los roles previstos por esa categoría.

Una tarea puede exigir que todas sus instrucciones estén marcadas antes de pasar a Done (ver Cambiar el estado). Para crear muchas instrucciones de una vez, ver Instructions From Table en Instrucciones.