Desarrollar con el STE
Contenido
¿Que es un trámite?
Un trámite es la definición del conjunto de tareas, pertenecientes al workflow, que van a interactuar con la aplicación web STE. Los trámites definidos están orientados a ser iniciados por el usuario desde la aplicación web, para que, a continuación, se inicie un proceso de workflow programado en ODL para la plataforma egeasy.
Como se define un trámite
Para definir un trámite tenemos que indicar el nombre del trámite y declararlo como tipo trámite. La sintaxis de un trámite sería la siguiente.
[Nombre del trámite] es tramite -ATRIBUTOS incluye TAREA . . . incluye TAREA fin
Atributos de un trámite
Los atributos que podemos declarar para un trámite son los siguientes:
- descripcion: Proporciona un texto descriptivo sobre el trámite que se muestra en la interfaz web al crear el trámite.
- grupo: Indica a qué grupo de declaraciones pertenece el trámite.
- habitacion: Indica en qué habitación de nuestro sistema de información queremos que esté disponible el trámite para su realización.
- estado: Indica qué tabla y columna de una exportación va a almacenar el estado de un trámite.
La clausula incluye
Dentro de la definición del trámite, debemos especificar cuáles son las tareas del wordflow que queremos que interactúen con el STE. Para ello, disponemos de la cláusula incluye. Al utilizarla, debemos especificar, a continuación, el nombre de la tarea e indicar una serie de atributos que especifican varios aspectos del comportamiento de la tarea.
Atributos de incluye
Los atributos aplicables a las tareas que incluimos en un trámite pueden variar dependiendo del valor del atributo tipo, por ejemplo, los atributos de respuesta sólo son aplicables a las tareas con el valor en el atributo tipo igual a REQUERIMIENTO. Dicho esto, pasamos a listar los distintos atributos aplicables a la clausula incluye:
- Etiqueta: Atributo que permite establecer el nombre que va a tener la tarea en la aplicación web del STE.
- Tipo: Atributo que indica qué tipo de comportamiento va a tener la tarea. Los distintos valores que acepta este atributo son: INICIO, REQUERIMIENTO, NOTIFICACION y ENVIO_DOCUMENTACION.
- respuesta.etiqueta: Atributo que indica qué nombre va a tener la tarea respuesta correspondiente
- respuesta.descripcion: Atributo para indicar una descripción sobre la tarea respuesta.
- respuesta.formulario: Atributo para indicar el nombre del formulario, perteneciente al target de la tarea de tipo REQUERIMIENTO, que se va a mostrar en la tarea de respuesta.
- respuesta.clasificador: Atributo para indicar el nombre del clasificador, perteneciente al target de la tarea de tipo REQUERIMIENTO, donde se van a guardar los documentos que se pueden adjuntar a una tarea respuesta, perteneciente a una tarea de tipo REQUERIMIENTO.
Diferentes tipos de tareas
En la aplicación web STE, una misma tarea de nuestro sistema de información se puede comportar de diferentes maneras, dependiendo de qué valor tenga el atributo tipo al incluirla en un trámite.
Tareas de INICIO
Es la tarea que va a iniciar el trámite. En un trámite solo puede haber una tarea de tipo inicio. Esta tarea debe ser definida íntegramente como un proceso en ODL.
incluye [Tramitación de solicitud de becas] -Tipo
=INICIO; -Etiqueta
='Tramitación de solicitud de becas universitarias';
Tareas de REQUERIMIENTO
Son aquellas tareas donde, además de mostrar información, queremos dar al usuario la posibilidad de responder a la tarea mostrada rellenando un formulario o adjuntando alguna documentación requerida.
incluye [Esperar respuesta de requerimiento de documentación] -Tipo
=REQUERIMIENTO; -Etiqueta
='Respuesta al requerimiento de solicitud de becas universitarias'; -respuesta.etiqueta
="Responder al requerimiento"
; -respuesta.descripcion
="Adjunte todo lo solicitado en el documento enviado"
; -respuesta.formulario
= [Respuesta]; -respuesta.clasificador
= [Documentos adjuntos];
Tareas de NOTIFICACION
Son aquellas tareas donde solo se le va a permitir al usuario del STE observar la información que ha sido mandada desde la plataforma egeasy, donde no podrá ni enviar información, ni modificar la información mandada. Este tipo de tareas suele estar reservados para aquellos datos que son de notificación, como las resoluciones.
incluye [Notificar resolución de la solicitud de beca universitaria] -Tipo
=NOTIFICACION; -Etiqueta
='Darse por notificado de la resolución de la solicitud de beca universitaria';
Tareas de ENVIO_DOCUMENTACION
Son aquellas tareas fuera del workflow que permiten al usuario de la aplicación web STE enviar documentación. Este tipo de tareas se pueden iniciar en cualquier momento durante la vida del trámite.
incluye [Registrar aporte de documentación al trámite] -Tipo
=ENVIO_DOCUMENTACION; -Etiqueta
='Aportar documentación adicional al trámite';
Colecciones
Para el desarrollo correcto de los tramites en la aplicación web STE, debemos crear al menos una colección para almacenar los contenedores que se crean al iniciar un trámite. Como al definir un tramite, su main target tiene que ser el contenedor que se mostrará en la web para que el usuario introduzca los datos iniciales para comenzar el workflow asociado a un trámite y no un expediente como se suele hacer cuando programamos un sistema de información en egeasy, tendremos que crearnos una colección (Véase Colecciones) para almacenar inicialmente los contenedores creados por la aplicación STE al iniciar un trámite, para luego posteriormente mover ese contenedor a su lugar dentro de alguna colección dentro de un expediente.
Estado de un trámite
Los trámites en la aplicación web STE, tienen estado. El estado de un trámite acabado de iniciar pero no enviado, tiene el valor de borrador. Una vez enviado su primera tarea del trámite, este pasa a tener el valor de En trámite. Por último cuando el trámite ha finalizado en la plataforma egeasy, el trámite pasa a tener el estado de finalizado. Estos valores comentados para el estado de un trámite, es el comportamiento por defecto de la aplicación web STE. Si queremos cambiar el estado de un trámite debemos hacerlo mediante el atributo estado y su mecanismo para controlarlo, el cual vamos a proceder a explicarlo a continuación.
Para poder modificar el estado de un tramite durante la vida del workflow asociado al trámite, debemos crearnos un campo en el contenedor que es maintarget del workflow. Una vez creado ese campo, debemos hacer una exportación de ese campo en alguna colección de nuestra elección. Si hay alguna duda sobre como crear una exportación, véase Exportaciones. Con la exportación del campo creada, debemos poner en el atributo estado del trámite, una ristra con el nombre de la tabla en la base de datos seguida de un punto y a continuación el nombre de la columna que representa el campo en la exportación. Para que quede mas claro, vamos a ver un ejemplo:
Esto seria un ejemplo de la exportación creada, donde tenemos un campo llamado en ODL [Estado tramite], el cual se exporta a la tabla de nombre TR$SOLICITUD_TRAMITACION y en la columna ESTADO_TRAMITE.
[EP::Solicitudes de tramitación electrónica]es
exportacion -nombre_tabla
="TR$SOLICITUD_TRAMITACION"
; -universo
= [Solicitud de tramitación electrónica para acreditación del profesorado];columna
[Denominación/Apellidos y nombre] -columna_bd.nombre
="DENOMINACION"
; -columna_bd
.tipo
= texto; -origen
=[Datos generales].[Denominación/Apellidos y nombre];columna
[C.I.F./N.I.F.] -columna_bd.nombre
="CIF_NIF"
; -columna_bd
.tipo
= texto; -origen
= [Datos generales].[C.I.F./N.I.F.];columna
[Estado tramite] -columna_bd.nombre
="ESTADO_TRAMITE"
; -columna_bd
.tipo
= texto; -origen
= [Datos generales].[Estado tramite];fin
A continuación un ejemplo de como se declararía un trámite utilizando el atributo estado.
[Trámite de Acreditación del profesorado]es
tramite -descripcion
='Procedimiento de tramitación para la aceditación del profesorado para la ACECAU'; -grupo
='Trámites Acecau'; -Habitacion
=[Oficina de evaluación del profesorado]; -estado
="TR$SOLTRAMI_ACRE_PROF.ESTADO_TRAMITE"
;
Una vez declarado el atributo estado en el trámite, ya podemos proceder a modificar el estado de un trámite mediante código de método, del lenguaje ODL. Para ello solo debemos acceder al campo mediante código ODL, al campo que representa el estado en el contenedor que es maintarget del workflow asociado al trámite y asignarle el valor deseado que queremos que se muestre en la aplicación web del STE.
NOTA: PONER EJEMPLO DE UN METODO ASIGNADOLE UN VALOR AL CAMPO ESTADO
Atributos especiales para los campos de ODL
Junto con la aplicación web STE disponemos para el lenguaje ODL, de unos atributos especiales aplicables a la definición de componentes para poder definir ciertos aspectos del comportamiento de los componentes que interactuan con la aplicación web STE. A continuación listaremos y definiremos los atributos que ha añadido el STE al lenguage ODL.
tramitacion.visible
Atributo que permite ocultar un campo para que no se visualice en la aplicación web del STE pero si en la plataforma egeasy. Este atributo es aplicable a todos los campos de ODL. El valor por defecto para este atributo es verdadero.
tramitacion.requerida
Atributo que permite especificar que campos son de obligada cumplimentación por parte del usuario para la aplicación web del STE. El valor por defecto para este atributo es falso. Este atributo se puede usar en combinación con las validaciones de ODL para indicar como se debe cumplimentar un campo.
tramitacion.valor
Atributo que permite establecer el valor del campo al que se le aplica el atributo.
tramitacion.editable
Atributo que permite indicar si el campo es editable o no. El valor por defecto para este atributo es verdadero.
Formulario de registro de usuarios
En la aplicación web STE, podemos crear a nuestra medida un formulario de registro de usuarios, donde podemos definir los campos que queremos que el usuario cumplimente al darse de alta para poder utilizar la aplicación web STE. El fichero donde se definen los campos del regostro es un fichero XML y se llama registration.xml.
A continuación mostramos un ejemplo de un fichero de registro.
<?xml version="1.0" encoding="ISO-8859-1"?> <registration_form> <field_value Field_Name="Género" Field_Type="ftString"> <allowed_values> <item>Masculino</item> <item>Femenino</item> </allowed_values> </field_value> <field_value Field_Name="Teléfono 1" Field_Type="ftString"> </field_value> <field_value Field_Name="Teléfono 2" Field_Type="ftString"> </field_value> <field_value Field_Name="Dirección" Field_Type="ftString"> </field_value> <field_value Field_Name="Código postal" Field_Type="ftString"> </field_value> <field_value Field_Name="Localidad" Field_Type="ftString"> </field_value> <field_value Field_Name="Provincia" Field_Type="ftString"> </field_value> <field_value Field_Name="Fax" Field_Type="ftString"> </field_value> </registration_form>