A continuación se describen en un ejemplo los pasos necesarios para generar un form y utilizarlo desde una actividad del proceso.
Notar que el proceso automaticamente genera un formulario que contiene todos los atributos declarados en el proceso, en este ejemplo se presenta la creación y uso de un formulario qu es definido por el usuario.
Crear y publicar proceso
Se crea un proceso de nombre "Creditos". Se marca el proceso (checkbox "Usar formulario generado por defecto") para que cuando no se indique lo contrario se utiliza el formulario generado propio del proceso. Se defininen los siguientes atributos cliente, fecha e importe. Archivo XML de definicion del proceso. Mapa o dibujo con el flujo del proceso.
Crear formulario (interfaz) por defecto
A partir del proceso crear un form por defecto, este form sirve como template para diseñar el form definitivo.
Salvar en el servidor formulario diseñado
En este ejemplo al form se le agrega un combo box. El objetivo de este comboBox es que el usuario en la actividad del proceso "Autorizar" tome la decisión de si autoriza o rechaza el credito. El comboBox esta definido de tipo string, tiene los valores "aceptar"/"rechazar" que serán utilizados en la decision del proceso, y se mapea al atributo "decision" del proceso. Archivo XML de definicion del formulario.
Luego de tener diseñado el formulario el mismo se salva en el servidor, para este ejemplo se le pone el nombre de FormDecision.
Publicar formulario
Una vez diseñado y salvado el formulario, el mismo se publica, en este paso es donde se generan los componentes y estructuras en el servidor para poder mas tarde ejecutar el formulario.
Usar formulario desde actividad del proceso
En la actividad "Autorizar" del proceso, se setea en el agente de open de la actividad que abra el el formulario "FormDecision"
En la misma actividad de "Autorizar" el proceso toma una decision segun la eleccion que halla realizado el usuario.
decision = completeAttributes.get("decision"); Log.notice("Creditos.autorizar.complete() decision=" + decision); if ("aceptar".equals(decision)) { completeResult.setNextActivityName("Otorgar Credito"); } else if ("rechazar".equals(decision)) { completeResult.setNextActivityName("Notificar rechazo"); } else { throw new WFException("La decisión tomada [" + decision + "] no es válida"); }
Si la decision es aceptar el flujo continua en la actividad "Otorgar Credito", si la decision es rechachar el flujo continua en la actividad automática "Notificar rechazo"
Ejecutar proceso
Crear instancia de proceso / Iniciar autorización del credito
Creando la instancia se inicia el flujo de Creditos, y la instancia de proceso deja pendiente un workitem en la primera actividad del proceso, la primera actividad del proceso de Creditos es "Autorizar". Utilizando el cliente desktop primero hay que elegir el proceso de creditos, y segundo presionar el boton de create que efectivamente crea (o inicia) la intancia en el proceso.
Completar workitem / Autorizar crédito
La autorización del credito se realiza en la actividad "Autorizar". Esta autorización puede realizarse por la bandeja de entrada web ("http://<<nombre servidor>>:8080/jwf"), como se muestra aqui.
Nota importante: Por un problema en las versiones 4.0, para el caso web, los formarios se estan publicando en un lugar incorrecto en el servidor, para solucionar esto se debe poner la siguiente linea (property), luego reiniciar el servidor y publicar (generar estrucuras EDF) nuevamente los formularios diseñados:
en serverInstallDir/jboss/server/default/ideasoft-o3/GServer.properties agregar linea:edf.web.home = ${jboss.server.home.dir}/deploy/gserver/1jwf.ear/jwf.war