Ir al contenido principal

Workflow

Workflow

Algunas recomendaciones a tener en cuenta frente a un sistema basado en procedimientos de tareas meticulosamente ordenados, con un abanico de posibles acciones a tomar que cambian su comportamiento, que resulte claro y sencillo para el usuario


  Empecemos por saber el significado de workflow. Proviene del inglés, y una posible traducción sería: flujo de trabajo. Entonces podemos deducir que un sistema de workflow es un sistema que automatiza un conjunto de procesos ordenados. Decimos que los procesos son ordenados porque debemos saber que antecede y precede a cada proceso.

  Si aplicamos la metodología del análisis de sistemas, no tenemos más que subsistemas relacionados (cada uno dedicado a un proceso del workflow), que pertenecen a un sistema que engloba estos subsistemas. Y cada subsistema tiene al menos una entrada (en el caso más simple, la entidad que empieza el flujo) y una salida (en el último caso, la estructura de datos).

  Para lo siguiente, concentrémonos flujo en sí, y como lo percibe el usuario. Seguramente nuestro sistema permita la administración de roles o perfiles de usuario, y existan facultades y/o limitaciones asignadas a cada usuario. Estamos hablando de un sistema en el que la información que se obtiene:
  • no puede ser vista de igual manera por todos los usuarios,
  • tiene que permitir ver al creador o responsable del flujo en que etapa se encuentra la misma.
   Es importante mostrar de manera simplevisual y efectiva la etapa actual del flujo. Esto es vital para un usuario. Imagínense un usuario entendiendo donde está parado el flujo, o viendo quien es el responsable de aprobar, rechazar o modificar una etapa del flujo. Ejemplo:


  En el caso anterior, el usuario entiende que en la etapa de Validación está parado el flujo, y el responsable es Gómez, Pepe.

   Si usamos tooltip's | popup's, que la página sea intuitiva de forma tal que no omita información que se encuentre oculta hasta que se dispare el evento asignado a un control, ya que ese procedimiento puede ser ilegible para el usuario. Mi recomendación, en caso de usar popup's, es usar un hipervínculo subrayado y con un color ameno (distinto al color del texto de los párrafos), o directamente un botón para abrirlo.

  Ahora, sería adecuado generar e-mail's automáticos en el momento que se crea un flujo, o se acepta/rechaza/modifica un flujo. Pero, ¿a quién va dirigido?

   Conocer con exactitud a quién va dirigido el e-mail. Un mal análisis de este tema conlleva al cliente de correo a tomar como posible SPAM los e-mail's automáticos de nuestro sistema, y cuando sea el momento correcto, va a hacer lo mismo que con cualquier otro e-mail de SPAM.
  Eso depende del sistema en sí, pero generalmente suelo configurarlo para enviarlo al responsable de la tarea al que fue enviado el flujo, con copia al creador y/o responsable del flujo, y en el asunto el nombre del sistema y la acción que se tomó.

Comentarios

Entradas populares de este blog

Usando ASP.NET MVC 2 con VS2008

Usando ASP.NET MVC 2 con VS2008 Creando una Aplicación Web ASP.NET MVC 2 con VS2008 Usando .NET Framework 3.5 Al crear el proyecto, vemos un entorno similar a la siguiente imagen: Configurando el DBConnectionString desde el Web.Config Con el  ConnectionString configurado (por defecto debería apuntar al App_Data del proyecto con el esquema de tablas del modelo, guardado como  .mdf ; o a la base que desee, teniendo en cuenta el modelo DB necesario), debería estar andando. NOTA: si genera un error de navegación, apuntar a la URL local raíz con el puerto generado por el Debug . NOTA 2: Al implementar la Solución, tengan en cuenta de subir el App_Data si usan ese DataSource , o referenciar desde el  ConnectionString . Una vez corriendo la Aplicación Web, podemos armar una Vista mas en la carpeta Views > Account del projecto. La podemos usar una vez que el Usuario ingrese al Sistema como Repositorio de Documentos. La llamamos  ViewIntranet.aspx...

Canvas y SVG

Canvas y SVG Arriba: Ejemplo con Canvas. Abajo: Ejemplo con SVG. Fuente para leer conceptos: Canvas | W3Schools SVG | W3Schools Bien., Armemos una HTML WebPage de Ta Te Ti con Canvas y otro con SVG. Ahí va el código: <!DOCTYPE html> <html> <head> <title>Tic Tac Toe</title> </head> <body> <h1>Tic Tac Toe</h1> <h2>Made with HTML5!</h2> <hr /> <br /> <h3>It's a Tic Tac Toe drawing made with Canvas and Filled with JavaScript.</h3> <br /> <table> <!-- La parte de Canvas... --> <tbody> <tr> <td> <canvas id="id11" width="100" height="100" style="border:1px solid #d3d3d3;"> Your browser does not support the HTML5 canvas tag.</canvas> </td> <td> <canvas id="id12" width="100" height="100" style="bor...

Pivot y Unpivot en MSSQL

Pivot y Unpivot en MSSQL Armando Query's con Pivot y Unpivot en MSSQL (SQLServer2008 R2) Tuturiales de SQL de W3Schools:  SQL| W3Schools  Creamos una Base de Datos, con un esquema simple de una tabla: USE [Nombre_Base_Datos]; GO -- Create the table and insert values as portrayed in the previous example. CREATE TABLE pvt (VendorID int, Emp1 int, Emp2 int,     Emp3 int, Emp4 int, Emp5 int); GO Luego insertamos algunos datos: INSERT INTO pvt VALUES (1,4,3,5,4,4); INSERT INTO pvt VALUES (2,4,1,5,5,5); INSERT INTO pvt VALUES (3,4,3,5,4,4); INSERT INTO pvt VALUES (4,4,2,5,5,4); INSERT INTO pvt VALUES (5,5,1,5,5,5); GO Ahora probamos Pivot (varias SubQuery's con Union) en una Query: -- And a simple union pivot for each column... SELECT 'Orders N° 1' AS Orders_Sorted_By_pvt, [1], [2], [3], [4], [5] FROM (SELECT VendorID, Emp1 FROM pvt) AS SourceTable PIVOT ( AVG(Emp1) FOR VendorID IN ([1], [2], [3], [4], [5]) ) AS PivotTable UNION SEL...