miércoles, 15 de julio de 2009

Estado de tucongreso.es

Hace ya un mes del último post y es un buen momento para comentar las últimas noticias sobre el proyecto en el que se está trabajando con tanto empeño.

Aunque la página tucongreso.es no está visible todavía la primera versión del sistema ya está funcionando en un congreso que se celebrará en octubre en La Rioja. El sistema se podrá utilizar en breve desde el dominio tucongreso.es pero da la posibilidad de integrarse en páginas ya existentes, un requerimiento por parte de muchos congresos para conservar la estética de la página en todas las secciones.




Voy a tratar de explicar toda la funcionalidad que tiene implementada hasta la fecha y la que falta por incluir.

Para los que no han leído el post anterior, tucongreso.es es un sistema para la organización online de congresos. Esto es, para gestionar a través de Internet todos los datos de un congreso, desde los usuarios y la inscripción al congreso, como el envío de propuestas, gestión del horario, etc.

Voy a utilizar el listado de funcionalidades del post anterior para así describir cada uno con un poco más de detalle.

  • Gestión del flujo de envío de textos. Desde que una propuesta se envía hasta que es aceptada puede suponer diversos pasos sobretodo si además del envío de propuestas también se requiere del envío de los textos completos, para llevar a cabo una posterior publicación. Todos estos pasos se registran en la base de datos de forma que en todo momento se puede consultar su estado. Cuando una propuesta se envía por primera vez pasa a un estado enviado pero pendiente de revisión. Cuando el revisor la consulta, si utiliza evaluadores, puede enviar la propuesta a los evaluadores pasando a un estado de enviada a evaluación. Cuando los evaluadores han enviado la evaluación al revisor se pasa a un estado de evaluada y pendiente de revisión. Tanto si ha utilizado evaluadores como si no, hay una persona responsable de tomar la decisión de aceptar, rechazar o pedir cambios a una determinada propuesta. Cuando toma una de estas decisiones la propuesta vuelve a cambiar de estado e indicar por ejemplo que ya ha sido aceptada. Si de esta propuesta luego tiene que enviarse el texto completo el procedimiento es bastante parecido. Esta gestión de estados es utilizada en otros puntos del sistema como el envío de correos o la sección de estadísticas. Gracias a este estado se puede saber en todo momento el estado actual del congreso. Como ya veremos en posteriores puntos, estos cambios de estado desencadenan eventos que se guardarán en la base de datos para trazabilidad y suelen conllevar el envío de algún correo electrónico a los interesados.

  • Gestión de usuarios, roles y permisos. En un sistema para la organización de congresos intervienen distintos tipos de usuarios. Por una parte tenemos a los organizadores del congreso, a los revisores, a los evaluadores, a los ponentes, plenarios,... Cada uno de estos usuarios puede llevar a cabo sólo una serie de acciones en el sistema.
    Cualquier funcionalidad del sistema está protegida de forma que sólo se puede acceder a ella cuando se tienen los permisos apropiados. Así, los organizadores del congreso pueden consultar los detalles de todas las propuestas, los participantes sólo sus datos enviados,... Para los menos acostumbrados a estos términos un usuario tiene una serie de roles y un rol tiene un conjunto de permisos asociados, de forma que los permisos de un determinado usuario se definen por los roles que posee. Aunque hay variantes este es el procedimiento más usual. Inicialmente se cuenta con una serie de roles ya configurados y que cubren seguramente el 90% de los congresos pero ante cualquier requisito especial de un congreso en particular se puede añadir un nuevo rol con los permisos necesarios.
  • Redacción online de abstracts. Los congresos pueden configurar el envío de abstracts de forma que sea online. Esto es, los usuarios escriben el abstract directamente en la página web, sin necesidad de enviar un PDF, Word, ODT,... Los textos completos tiene mucho menos sentido pues las necesidades de formateo son mucho más amplias. Esta redacción online permite, de forma sencila, generar automáticamente el libro de abstracts partiendo de tanto el asbtract como la información de los autores que está guardada en la base de datos.
  • Generación automática de libro de abstracts. Tal y como se ha comentado en el punto anterior, gracias a la redacción online de abstract se permite generar automáticamente el libro de abstracts para aquellos congresos que así lo requieran.
  • Soporte multi-idioma. Los congresos suelen ser eventos donde interviene gente de muchas nacionalidades. Así, es muy necesario que la página pueda incorporar tantos idiomas como sea necesario. El sistema cuenta con un motor de internacionalización (i18n) de forma que todo texto que se muestra en pantalla es un recurso de traducción. Antes de mostrarse en pan y dependiendo de las preferencias del usuario, se traduce a su idioma. En el momento de registro en el congreso el usuario puede indicar este idioma de preferencia. Gracias a este dato, todos los correos automáticos que se le envían se hará en su idioma de preferencia, ayudando lo máximo posible.

  • Gestión de plantillas de correos. Durante el proceso de registro de usuario, envío de propuestas, aceptación o rechazo de estas, envío de textos completos, asignación de horarios,... se produce un intercambio muy importante de correos electrónicos. Además de la personalización de la parte visual de la página (fuente, imágenes, paneles,...) todos los correos que se intercambian pueden personalizarse. Inicialmente se cuenta con un texto por defecto que puede ser utilizado pero si en un momento determinado alguno de los correos intercambiados se quiere personalizar, cada congreso puede definir los suyos. Para poder permitir esta personalización el sistema incorpora un motor de plantillas. Cada asunto y cada mensaje de un correo está definido en la base de datos y cada congreso puede utilizar el que hay por defecto o bien escribir el suyo propio. Hay ciertos campos de cada correo que pueden ser dinámicos como el nombre del autor, el título del texto,... Para poder tratar estos campos cada plantilla cuenta con una serie de parámetros que se pueden incorporar o no de forma que cuando se envíe el correo el sistema convierta estos parámetros a su valor real.





  • Historial de acciones (trazabilidad). Recurriendo de nuevo a Murphy cuando algo malo tiene que pasar pasará. Hay algunos casos en los es necesario saber cuándo se envió un determinado artículo, cuándo el director de panel lo aceptó/rechazó, cuando se envió una nueva versión del texto completo... En resumen, controlar todo el flujo de acciones que el sistema permite llevar a cabo. El sistema cuenta con un sistema de registro de eventos de forma que cada vez que un evento relevante ocurre se guarda en la base de datos. El organizador del congreso podrá en un momento determinado consultar este historial de eventos para poder solucionar algún problema o duda que pueda surgir.



  • Gestión de autores y coautores. En las primeras páginas que programamos para la organización de un congreso fue uno de los requisitos que se vio con el tiempo que no estaba perfectamente recogido. Un paper en un congreso suele estar firmado por varias personas e inicialmente los datos de estas personas se recogían de forma vaga. Básicamente su nombre y apellidos. Esto luego puede conllevar problemas, por ejemplo, cuando se generan todos los certificados, cuando se escriben las actas del congreso, para gestionar los pagos del congreso... Por ello, el sistema permite vía configuración obligar a que todos los coautores de un determinado texto sean usuarios ya existentes. Esto luego se refleja en las estadísticas, inscripciones, generación de certificados... Un consejo: si crees que un dato no va a ser necesario lo será. Ley de Murphy.


  • Gestión de paneles o áreas temáticas. En ciertos congresos las ponencias se dividen en áreas temáticas o paneles. Suele ser común en aquellos congresos menos específicos donde las ponencias cubren un amplio número de campos. A través de la página se permite indicar si el congreso utiliza paneles o no e indicar el nombre de cada uno de ellos. Enlazando con el punto de la seguridad, los roles se pueden asociar a un determinado panel en lugar de que se apliquen de forma global al congreso. Por ejemplo, el rol organizador del congreso, que tendría asociados por defecto permisos como listar los usuarios, consultar las inscripciones, gestionar el horario... se aplica de forma global a todo el congreso, sin embargo un rol como revisor (llamado muchas veces director de panel) se asociaría a un determinado panel de congreso de forma que permisos como aceptar propuesta, rechazar propuesta sólo se aplicarían a aquellas propuestas que se han enviado a su panel. Por lo tanto, no podría aceptar, ni rechazar las propuestas de un panel distinto al suyo.

  • Gestión de asistentes no ponentes. Como los asistentes a un congreso no es necesario que presenten paper también se tiene en cuenta esta necesidad y a través de la página un asistente que no va a presentar ningún trabajo se puede registrar. La distinción entre asistente ponente y no ponente se refleja en la base de datos. Esto es así porque el pago en muchos casos es distino y porque estadísticas sobre este tipo de asistentes son muy importantes para la organización de un congreso.
  • Generación automática de certificados. Otra funcionalidad que ahorra mucho trabajo en muchos congresos es la generación automática de certificados. Gracias a todos los datos almacenados en la base de datos el sistema permite generar un certificado para cada uno de los asistentes. Cada congreso puede crear su propia plantilla (bien en formato ODT, Word o HTML) e incluso definir plantillas distintas por roles, pudiendo generar un certificado distinto para ponentes, directores de panel, asistentes, plenarios, becarios,...


  • Envío de correos online a usuarios. En un momento determinado del congreso puede ser necesario enviar un correo electrónico a todos los asistentes, o a todos los ponentes de un determinado panel, o bien a todos los asistentes que todavía no han pagado... Así, se cuenta con una página para el envío de correos a usuarios utilizando un potente mecanismo de filtros. Así, además de indicar el asunto y el cuerpo del mensaje se puede seleccionar los usuarios a los que va a ir dirigido el mensaje. Esto evita tener que enviar un mensaje a todos los usuarios cuando sólo una parte de estos son los interesados o tener que utilizar exclusivamente la web para enviar una cierta noticia.




  • Estadísticas del congreso. Otra sección obligada de la página y muy útil de cara a los organizadores es la de las estadísticas del congreso. En esta página se puede llevar un seguimiento de los usuarios, ponentes, propuestas aceptadas, rechazadas,... Un amplio número de estadísticas que pueden servir al organizador para tomar decisiones, para comparar con ediciones anteriores...

A pesar de que se ha dado un paso muy grande con la primera versión del sistema hay funcionalidades que todavía no han sido incorporadas pero que en unas pocas semanas se irán incorporando paulatinamente:
  • Gestión de horarios
  • Aplicación móvil
  • Conexión con sistema de pagos