AgilePoint, Jugando con el WorkToPerform

Como hemos hablado en anteriores artí­culos, “WorkToPerform” es una de las propiedades que definen algunos tipos de actividad de AgilePoint (como por ejemplo las actividades “Manual” y “Manual with TimeOut”).
En esta propiedad definimos cuál es el trabajo a realizar. A niveles prácticos el trabajo a realizar se resume en un interfaz gráfica que va a ser la encargada de transmitirnos cuál va a ser el siguiente paso en el flujo y de almacenar cierta información de negocio que maneje nuestra propia aplicación. Resumiendo, “WorKToPerform” es nuestro link entre la actividad del flujo y la capa de presentación.
El tí­pico ejemplo de uso de “WorkToPerform” serí­a por ejemplo definir que en la actividad “Aprobar Compra” el “WorkToPerform” a realizar serí­a “Aprobar”. Esto se traducirí­a en que vamos a necesitar en nuestra aplicación (pongamos que es una aplicación web) un fichero “compra.jsp” o “compra.php” o “compra.aspx” que es el que visualizará el usuario y en el que nos aparecerí­a un hipotético radiobutton que marca o “Aprobar” o “No Aprobar”.

WorkToPerform de un nivel
WorkToPerform de un nivel

Hasta aquí­ va la cosa más o menos bien, tenemos una página web para cada acción a realizar y listo.
Vamos a complicar ahora un poco más la cosa y vamos a suponer que debido a requerimientos funcionales, nuestra actividad del flujo no viene representada por un íºnico aspx, si no que puede ser representada por varios ascx (controles de usuario ASP.NET), y vamos a complicarlo un poco más aíºn, que dichos ascx deberí­an poder cargarse en diferentes paneles ubicados en un aspx concreto.
Página con varios paneles contenedores
Página con varios paneles contenedores

¿Cómo podrí­amos resolver este problema mediante el uso de “WorkToPerform”? Pues tal vez pudiéramos hacer algo similar a esto:
PanelConfirmaciones:Confirmacion1,Confirmacion2//PanelNegocio:Negocio3,Negocio4
WorkToPerform Multi-Nivel
WorkToPerform Multi-Nivel

Analizando un poco la estructura podremos ver que lo que acabamos de hacer es definir en qué panel vamos a cargar una serie de controles ascx. Por lo que necesitamos tener en nuestra aplicación una carpeta con los siguientes ficheros: Confirmacion1.ascx, Confirmacion2.ascx, Negocio3.ascx y Negocio4.ascx.
Ahora lo que queda es que en nuestra capa cliente, cuando recibamos la información relacionada a la actividad, capturemos su “WorkToPerform” y lo interpretemos a la hora de cargar la página para cargar los ascx definidos de forma dinámica.
Fantástico, de esta forma tan sencilla hemos conseguido definir un sistema que permite trabajar a míºltiples niveles (imaginaros por ejemplo que pueden existir diferentes paneles cargados en diferentes pestañas de un control de tabuladores)
Saludos.
Miguel.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.