Ayuntamiento de Vitoria-Gasteiz : Blog de Tecnologías

Ayuntamiento de Vitoria-Gasteiz, donde el verde es capital
Categorías: General  —  Elías Olave  —  20 marzo 2012 07:24

 GEO Vitoria-Gasteiz

GEO Vitoria-Gasteiz es la herramienta de geolocalización disponible en la Web Municipal diseñada para cubrir las siguientes necesidades:

  • localizar información de interés ciudadano
  • dar respuesta a los requerimientos de localización detectados en el Sistema de Gestión de Contenidos Municipales (SGCM)

 Los objetivos que se cubren con esta herramienta son:

  • localizar información útil para el ciudadano
  • responder a necesidades ciudadanas
    • ¿dónde está el nuevo centro cívico?
    • ¿cómo puedo llegar a él desde mi casa?
    • ¿dónde se encuentra una determinada calle?
    • ¿es zona de OTA?
    • ¿qué hay cerca de allí de interés?
    • ¿qué actos culturales se celebran cerca de mi casa esta semana?
    • ¿el punto verde móvil va a estar cerca de mi casa próximamente?
  • facilitar la gestión de la información ofrecida
    • mediante una aplicación rápida y práctica
    • permitiendo el posicionamiento sencillo de elementos sobre el mapa

 Desde el punto de vista técnico, inicialmente GEO Vitoria-Gasteiz era un mashup basado en Google Maps, es decir, una aplicación web que usaba datos de dicho sitio web a través del API que proporciona Google, pero posteriormente, para evitar las dependencias de Google Maps y para asegurar la actualización del mapa según nuestras propias necesidades, usamos Mapstraction que mediante OpenLayers puede mostrar la información sobre nuestro propio mapa o si lo deseamos sobre otro como OSM, Google Maps, Bing, …

 Las posibilidades de geolocalización que se soportan son:

  • en un punto concreto del mapa o una dirección
    • Ej: una oficina de empleo
  • en una zona
    • Ej: un parque
  • mediante una ruta
    • Ej: Cabalgata de Reyes, Itinerario turístico recomendado…
  • en una instalación municipal
    • Ej: un taller de marionetas en el Centro Cívico Aldabe
  • mediante un archivo KML generado desde el GIS municipal
    • Información compleja o con características especiales.
    • Ej: Red de bicicarriles, zonas de OTA, barrios, mapa de ruido, …
  • mediante servicios WMS servido desde el GIS municipal

 Para añadir un valor extra a las búsquedas que se realizan en la herramienta, GEO Vitoria-Gasteiz muestra también, a petición del usuario, ubicaciones ajenas a la aplicación, en concreto las devueltas por el motor de búsqueda de Google Maps, por supuesto, la información de GEO Vitoria-Gasteiz prevalecerá sobre la proporcionada por Google.

 Los contenidos de GEO Vitoria-Gasteiz están integrados con el resto de contenidos municipales en los GSAs, y por lo tanto accesibles también desde el buscador general de la Web Municipal.

 GEO Vitoria-Gasteiz aporta una nueva dimensión al mapa: el tiempo, que permite filtrar la visualización de las localizaciones según el periodo de tiempo en el que tengan utilidad, un ejemplo claro es la ubicación del Punto Verde Móvil. Las localizaciones futuras se mostrarán con un marcador cuya transparencia será mayor según éste pertenezca a un intervalo de fechas más avanzado (Ej: las ubicaciones de los próximos 30 días serán menos visibles que las de los próximos 15 días).

 Otra de las utilidades importantes de la herramienta es la de cómo llegar, que permite calcular la ruta entre dos puntos según varios medios de transporte: a pie, en transporte público y en bicicleta, mostrando la información de forma gráfica sobre el mapa y textualmente acompañando a la misma. Las rutas se calculan usando OpenTripPlanner a partir de la red de carriles bici, la red peatonal y la red de transporte público mantenidas en nuestro sistema de información geográfico.

 GEO Vitoria-Gasteiz pone también a disposición de los ciudadanos utilidades para medir distancias entre dos puntos, medir áreas y descargar la información visualizada sobre el mapa en formato KML con licencia Creative Commons Reconocimiento 3.0

Share
Categorías: General  —  Etiquetas: ,   —  Elías Olave  —  14 marzo 2012 08:36

Sala de Prensa  Notas de Prensa

La Sala de Prensa es otra de las herramientas que forman la Web Municipal, la función principal de esta herramienta es integrar en un único lugar todas las informaciones oficiales publicadas por el Gabinete de Comunicación e Información del Ayuntamiento.

Entre los objetivos que se pretenden cubrir con esta herramienta se pueden destacar:

Estandarizar la comunicación con los medios de comunicación.

Debe ser el único medio de relación entre el Ayuntamiento y los medios de comunicación, incluyendo:

  • notas de prensa
  • agenda oficial
  • dossieres
  • adjuntos
  • fotos
  • vídeos
  • audios

Acceso desde Internet

En cualquier día, hora o lugar

Permitir destacar lo realmente importante.

Evitando convertirse en una sucesión de notas de prensa, donde las últimas ocultan a las anteriores independientemente de la importancia de cada una de ellas.

En el apartado Notas de prensa destacadas se pueden consultar las notas de prensa más importantes en cada momento, permitiendo incluir un resumen para cada una de ellas. También permite suscribirse a las notas de prensa destacadas via RSS.

Desde el apartado Notas de prensa, se puede acceder a todas las notas de prensa publicadas por el Ayuntamiento.

Aumentar la transparencia.

Informando a todos los medios de comunicación a la vez, por el mismo medio y con la misma información..

Proporcionar nuevas funcionalidades y posibilidades.

Permite estar siempre avisados de las actualizaciones vía RSS y posibilita el acceso de los todos ciudadanos a la información de la misma forma y en el mismo momento que a los medios de comunicación.

Permite la categorización y el etiquetado de las notas de prensa, facilitando el  acceso mediante un buscador específico, archivos por meses, categorías o etiquetas.

Socializar la información.

Permite compartir la información en redes sociales.

Acceder a la información desde el lugar esperado.

La Sala de Prensa está integrada en la Web Municipal, y cualquier contenido de la misma es accesible desde el buscador municipal general.

Share
Categorías: General  —  Etiquetas: ,   —  Elías Olave  —  9 febrero 2012 10:21

Una de las herramientas más usadas para acceder a la información de un sitio web es el buscador, por este motivo en el Ayuntamiento de Vitoria-Gasteiz hemos prestado especial atención a su diseño.

La herramienta de indexación debe ser la capa que envuelva todos los contenidos, y que muestre de forma sencilla y precisa, la extensa y diversa maraña de información que genera el Ayuntamiento en su día a día.

Para lograr este objetivo, la información se indexa en unos servidores Google Search Appliance (GSA). En estos servidores es donde se integra toda la información que se publica en el sitio web municipal independientemente del lugar en el que se haya generado. Adjunto representación gráfica del modelo.

Modelo de integración de contenidos

Modelo de integración de contenidos

Para la carga de la información en los GSAs se utiliza el método de envío de feeds, de esta manera podemos controlar la indexación y posterior recuperación de los contenidos según nuestras necesidades.

Cada feed enviado contiene, además de la url al contenido que se desea indexar, una serie de metadatos que van a facilitar la explotación de los mismos. A modo de muestra,  entre los metadatos más importantes, podemos destacar:

  • Título del contenido
  • Tipo de contenido (trámite, noticia, agenda, FAQ, asunto del buzón, entrada de blog,…).
  • Tipo de documento (normativa, anuncio, plan, publicación,…).
  • Área temática/Tema del contenido.
  • Entorno de visualización (principal, green capital, turismo, indistinto)
  • Coordenadas para la geolocalización si es un punto del mapa

En general, se incluye toda la información necesaria para tratar la visualización de los contenidos, de manera que aunque los GSAs son servidores especializados en la indexación de documentos, en nuestro caso también aprovechamos su gran capacidad de respuesta para acceder a los contenidos y consumirlos desde todas las páginas del la Web Municipal, eliminando totalmente el acceso a bases de datos.

En cuanto a la funcionalidad propia del buscador municipal cabe destacar:

  • El algoritmo de indexación es el de Google. En algunas categorías se respeta el orden de resultados devuelto por los GSAs, y en otras, en las que es importante otra ordenación, por ejemplo la fecha de publicación en la categoría de noticias, se ordenan por el metadato más adecuado.
  • Los resultados se muestran agrupados por categorías. Las categorías se han definido teniendo en cuenta, por una parte, los tipos de contenidos municipales, y por otra, la importancia que el propio Ayuntamiento quiere dar a su información, el orden es el siguiente:
    • Enlaces recomendados, utilizando la técnica de Google de concordancia de palabras clave, que permite dirigir a los usuarios a un resultado especialmente relevante pero que puede no aparecer en la parte superior de la página de resultados
    • Destacados, muestra los resultados encontrados en los contenidos de la portada
    • Accesos directos
    • Preguntas frecuentes
    • Noticias de interés
    • Agenda de actividades
    • Trámites
    • Mapas
    • Anuncios
    • Normativa
    • Organización
    • Actas y órdenes del día
    • Webs municipales
    • Notas de prensa
    • Blogs
    • Buzón ciudadano
    • Otros documentos
  • Como todos los contenidos municipales están asignados a un Área temática/Tema de interés ciudadano, los resultados se pueden filtrar por el Área temática al que pertenecen

Os aporto algunos datos estadísticos de su funcionamiento extraídos de Google Analytics del periodo 01/01/2011- 08/2/2012:

  • el 12,75% de las visitas han utilizado la herramienta de búsqueda
  • el 37,96 % desde la portada
  • se han realizado un total de 569.088 búsquedas
  • el tiempo de carga de la página de búsqueda es 3,38 segundos.
  • una vez realizada la búsqueda:
    • se han visitado 1,65 páginas de resultados
    • un 88,34% han seleccionado algún resultado obtenido
    • se han producido un 24,13% de refinamientos de búsquedas
    • el tiempo de navegación media es de 4,32 minutos
    • se visitan una media de 5,65 páginas de contenidos por búsqueda
  • los visitantes que realizan búsquedas:
    • recorren 14,76 páginas de contenidos por visita, mientras que el promedio del sitio es de 6,64 páginas por visita.
    • permanecen un promedio de 10,06 minutos, mientras que el promedio del sitio es de 04,26 minutos.
    • realizan un 0,76% de rebote (abandono del sitio), mientras que el promedio de rebote de  toda la web es del 36,94%
  • esta es la lista de los 10 términos más buscados, aunque su porcentaje respecto del total no es demasiado significativo, dada la variedad de términos utilizados, derivada por la diversidad de contenidos que contiene la Web Municipal:
    • callejero
    • centros cívicos
    • padrón
    • empleo
    • actividades deportivas
    • tuvisa
    • vivienda
    • ope
    • cursos
    • bibliotecas
Share
Categorías: General  —  Etiquetas:   —  Elías Olave  —  1 febrero 2012 13:34

Página Principal del sitio Web del Ayuntamiento de Vitoria-Gasteiz

En la entrada anterior traté el tema de la Gestión de la Información, en esta voy a dar un salto en el recorrido de la información, desde su generación hasta el ciudadano, para ir directamente a tratar el tema de la publicación, lo que se ve cuando se accede a www.vitoria-gasteiz.org, con el fin de tratar la parte visible de todo el proceso.

El objetivo prioritario del Ayuntamiento de Vitoria-Gasteiz es que todas las personas que accedan a su sitio Web Municipal, vitorianas o no, puedan acceder de forma sencilla, eficaz e inmediata a cualquiera de sus contenidos informativos disponibles en Internet. El ánimo principal de las decisiones que se han tomado en cuanto a la publicación de contenidos ha sido su practicidad de uso.

La estructura –es decir, el formato–  de cada página se divide en tres zonas: la cabecera (y el pie, que cierra cada página), un espacio para el contenido informativo –el espacio más importante– y una zona de información contextual, que mostrará diferentes elementos en razón del contenido que se esté examinando o de la página concreta en la que se encuentre la persona usuaria.

Manteniendo esta estructura común, la herramienta de visualización permite la definición de diferentes entornos de publicación, facilitando la personalización de la cabecera, el pie, y los estilos de los contenidos y de la información contextual.

Cabecera y Pie

La cabecera está compuesta por los siguientes elementos: el buscador, accesos directos a los recursos más útiles y que pueden ser requeridos en cualquier momento durante la navegación, un acceso a toda la información relacionada con el galardón European Green Capital 2012, de especial interés durante todo este año, y la utilidad para el cambio de idioma.

El pie cierra cada página, y está compuesto por enlaces de interés (Ayuda, Aviso legal, Privacidad y RSS), además de un acceso al Directorio oficial de direcciones, teléfonos y sitios web del Ayuntamiento de Vitoria-Gasteiz.

Contenido

La parte más importante de cualquier página web es la que se sitúa a la izquierda de la pantalla, lo más cerca posible de la cabecera, pues es el área a la que se dirige automáticamente la vista cuando se examina una página web. En nuestro caso, esta zona está íntegramente dedicada al contenido.

Este criterio se mantiene en toda la Web Municipal (a excepción de algunas páginas con diseño personalizado, que necesitan mostrar ayudas de navegación web en su lugar).

Información contextual

La columna de la parte derecha está reservada para lo que denominamos “información contextual”. Como he detallado anteriormente, toda página está compuesta de una cabecera y un pie que encuadran un contenido nítido, sin menús de estructura, y en la columna de la derecha se mostrarán enlaces y accesos a contenidos que tengan relación o similitud con el contenido básico de cada página, de forma que se facilite a la persona usuaria la ampliación de la información o el refinamiento de la misma.

Se puede asignar expresamente una información contextual particular a cada contenido, y en el caso de que no se haya hecho, el contenido se mostrará junto con la información contextual definida de forma genérica para el Área Temática/Tema asignada al mismo.

Además, para lograr una mayor contextualización del contenido, al final del mismo se muestra con un apartado denominado “Información relacionada”, bajo el que se incluyen todos los contenidos que enlazan con el visualizado.

El conjunto resultante de la fusión del contenido con su información contextual, junto con la cabecera y el píe, tiene vocación de formar una unidad informativa completa, perfectamente contextualizada y con toda la funcionalidad necesaria para ser almacenada como favorito en un navegador por cualquier usuario, alcanzando la meta máxima a la que aspiraría cualquier contenido.

Entornos de publicación

Surgen de la necesidad de presentar los contenidos personalizados según unos requerimientos estéticos específicos. En la actualidad existen tres entornos diferentes, el principal, el de información turística y el de información sobre European Green Capital 2012.

El funcionamiento es el siguiente, hay contenidos que fuerzan a ser visualizados en un entorno concreto, solamente los que contienen información específica de dicho entorno, y el resto de los contenidos heredan el entorno de visualización desde el que se ha llegado a ellos.

La página principal

Además de ser el soporte de lo que se ofrece y exige (los servicios que el Ayuntamiento presta y las obligaciones propias de la ciudadanía), de lo que se dialoga y se intercambia (trámites, quejas y comunicación), la Web Municipal va a difundir todo aquello que el Ayuntamiento realiza, las líneas de actuación que está siguiendo.

Al ser página principal el lugar más usado para acceder a la información de la Web Municipal, en ella se deben reflejar los tres objetivos, con accesos a los servicios y a los diálogos con los ciudadanos, y con especial atención a lo que el Ayuntamiento quiere comunicar, mediante atractivos banners que invitan a difundir las principales campañas del momento, y banners de menor tamaño para otras campañas que requieran una menor difusión.

La página principal se completa con dos secciones de noticias, unas de difusión de la actividad municipal, que incluyen imagen y entradilla con opción a consultar la noticia completa, y otras con un objetivo más práctico que incluye enlaces a contenidos que requieren ser destacados, normalmente las convocatorias más importantes del momento.

Share
Categorías: General  —  Etiquetas:   —  Elías Olave  —  12 enero 2012 13:25

Tipos de información municipal

¿Qué es lo más importante de cualquier Web Municipal? Yo diría que la información que se publica, ya que sobre ésta se van a colocar el resto de herramientas: visualización de páginas, geolocalización, buscador, redes sociales, servicios, trámites… El objetivo principal de la Web debe ser publicar toda la información que el ciudadano necesita consultar.

Comencemos por describir la información municipal a ser publicada:

  • es generada por todos los departamentos municipales, 13 en la actualidad, a los se suman las 4 empresas municipales y los 3 organismos autónomos. Cada uno con sus necesidades, proyectos, prioridades, y con una inercia histórica de trabajo más orientada al desarrollo de su actividad que a la publicación de la información que generan,
  • la temática de la información es muy variada, se podría decir que el ámbito municipal abarca casi todas las necesidades de los ciudadanos, al ser la administración que mantiene un contacto más directo con ellos,
  • la tipología de la información también es muy variada, noticias, actividades, formularios, planes, preguntas frecuentes, instalaciones, trámites, ordenanzas, anuncios, ofertas de empleo, quejas, respuestas, publicaciones, mapas, imágenes,…

En las versiones anteriores de la Web Municipal, cada información se almacenaba en diferentes bases de datos diferenciadas por tipología y temática de la Información, y llegando incluso a la especialización de las mismas por cada característica o necesidad diferenciada del productor de la información.

Este enfoque hacía inviable el mantenimiento de los sistemas de información y publicación, el crecimiento de la información a publicar era cada vez mayor, y las bases de datos crecían de una manera descontrolada, requiriendo de una intervención de carácter tecnológico por cada necesidad de publicación de información.

Partiendo de las siguientes premisas:

  • se deseaban tratar todos los diferentes conjuntos de contenidos/comportamientos,
  • no se pretendía crear una herramienta de difusión comercial, únicamente dar soporte específico a las necesidades ciudadanas en materia informativa desde el Ayuntamiento,
  • en la medida de lo posible, utilizar la infraestructura informática existente, con sus proyecciones de mantenimiento y evolución.

El trabajo de gestión de contenidos se centró en la concepción de una batería de útiles suficiente para cubrir su edición y uso, de manera que no se desarrolló una “herramienta de gestión de contenidos”, sino que más bien se concibió un sistema gestor de contenidos que diera coherencia y sentido a la tarea de generar información para informar a la ciudadanía.

Los principales criterios que se tuvieron en cuenta en el diseño del sistema fueron:

  1. cualquier empleado municipal debía poder incluir información en el sistema, con una formación mínima y usando las herramientas que ya conocía,
  2. la generación de los contenidos debía ser independiente de la indexación de los mismos,
  3. la catalogación de los contenidos debía obedecer únicamente a criterios ciudadanos,
  4. la publicación de los contenidos debía de ser independiente de la organización interna y del lugar en el que iban a publicar.

Como respuesta a los criterios anteriores se desarrolló un sistema con las siguientes características:

  1. cualquier empleado municipal con acceso al Gestor de Contenidos puede generar cualquier tipo de contenidos desde un documento MS Word,
  2. todos los contenidos se envían de igual manera a las máquinas de indexación Google Search Appliance (GSA),
  3. todos los contenidos son catalogados según una clasificación de áreas temáticas y temas creadas a partir de las quejas del buzón ciudadano,
  4. ningún contenido lleva información sobre el lugar en el que se debe publicar, ni de la organización interna que lo generó, todos están al mismo nivel y pueden tener el mismo uso.

El creador del contenido simplemente debe hacerse preguntas del tipo:

  1. ¿se puede situar cronológicamente? En este caso el contenido se integrará en un calendario,
  2. ¿puede seguir una jerarquía? Entonces el contenido se presentará de forma jerárquica,
  3. ¿acaso es algo que ya existe y quiero remarcarlo o dar una información extra? En este caso se comportará como una noticia,
  4. ¿es una respuesta habitual y estándar que se da al ciudadano para hacer frente a las consultas habituales que lanza a cualquiera de los servicios del Ayuntamiento? Entonces el contenido será una pregunta frecuente.
  5. ¿se trata de información que puede localizada geográficamente? Si es el caso, pasaría a formar parte de Geo Vitoria-Gasteiz,
  6. en el caso de que el contenido no responda a ninguna de las respuestas anteriores, se tratará de lo que denominamos un contenido estático, que podrá ser referenciado desde cualquiera de los tipos anteriores.

De esta manera, las respuestas a estas preguntas permitirán identificar el comportamiento que tendrán los contenidos en su publicación. 

De forma bastante resumida, esta es la forma en la que se realiza la gestión de la información a ser publicada en la Web Municipal del Ayuntamiento de Vitoria-Gasteiz desde el punto de vista de la introducción de contenidos.

Share
Categorías: General  —  Etiquetas:   —  Elías Olave  —  19 diciembre 2011 09:29

 Web del Ayuntamiento de Vitoria-Gasteiz: entorno PrincipalWeb del Ayuntamiento de Vitoria-Gasteiz: entorno Turismo  Web del Ayuntamiento de Vitoria-Gasteiz: entorno Green Capital

Han pasado más de dos años desde que se publicó la actual Web municipal y aún no habíamos publicado ninguna entrada sobre ella en este blog de tecnología del Ayuntamiento de Vitoria-Gasteiz. Con esta entrada pretendo poner remedio a esta situación e iniciar la publicación de una serie de entradas dirigidas a explicar el trabajo realizado en el ámbito de la Web Municipal, así como las previsiones de evolución.

El principal objetivo es compartir nuestra experiencia abriendo un canal de comunicación para intercambiar opiniones, iniciativas y sugerencias, que ayuden a mejorar tanto esta Web como otras de la misma tipología.

En primer lugar, destacar la participación de todos los departamentos, empresas y organismos autónomos del Ayuntamiento en el diseño, elaboración y mantenimiento de los contenidos.

A grandes rasgos la Web del Ayuntamiento de Vitoria-Gasteiz, en cuanto al origen de la  información que se publica, se basa en:

  • un Gestor de Contenidos de desarrollo propio, como herramienta de introducción de información para contenidos que no se generen desde otras aplicaciones,
  • Aplicaciones de Gestión Departamentales que necesitan publicar información,
  • y algunas Aplicaciones de Tramitación específicas para dar servicio a los trámites online.

Posteriormente, toda la información a publicar se centraliza en unas máquinas Google Search Appliance (GSA) alimentadas mediante feeds, que permiten independizar la publicación de la información del origen de la misma, además de indexar todos los contenidos para poder ser accedidos desde un buscador simple, potente y completo.

Finalmente, la publicación de los contenidos se realiza a través de otra aplicación de desarrollo propio, que puede manejar diferentes entornos de publicación (Principal, Green Capital, Turismo), dando la posibilidad de reutilizar los contenidos desde cada uno de ellos. La publicación se realiza en formato XHTML intentando cumplir con las normas de accesibilidad de nivel AA definidas por el W3C.

Para completar esta primera visión, os voy dar unos números ilustrativos sobre la Web del Ayuntamiento de Vitoria-Gasteiz:

  • 2.560.565 accesos en lo que va de año
  • 959.637 visitantes diferentes en lo que va de año
  • unos 200.000 contenidos en el gestor de contenidos
  • 290 usuarios del gestor de contenidos
  • 63 aplicaciones específicas, contabilizando de forma global las aplicaciones de gestión departamentales y las aplicaciones de trámites online

En cuanto al personal directamente dedicado:

  • Equipo supervisor de la generación de contenidos
    • 1 responsable
    • 5 técnicos de la información
  • Equipo de desarrollo asignado al mantenimiento de la Web (aunque no exclusivamente)
    • 1 responsable
    • 4 técnicos desarrolladores
    • 2 diseñadores gráficos
    • apoyos puntuales de empresas externas

En principio nada más, disculpas por el retraso, declaración de intenciones, y unos datos para ir abriendo boca. En sucesivas entradas trataré temas referentes a la generación de la información, la estructura de la Web, el buscador, tecnología en la que se soporta,…, espero vuestras aportaciones sobre la impresión que os produce la Web, o sobre temas que os gustaría leer en futuras entradas.

Share
Categorías: General  —  Etiquetas: , ,   —  Aitor Alzola  —  7 noviembre 2011 08:30

El pasado viernes he estado en el Greach, el evento sobre Groovy y las tecnologías relacionadas, como Grails y Griffon. Además de mucha gente del ámbito nacional, ha contado con varios ponentes internacionales, con lo que las ponencias planificadas han tenido bastante calidad y nivel. Yo he estado en las siguientes:

  • Groovy 1.8 y beyond! Guillaume Laforge nos ha contado las novedades de Groovy 1.8. En general Groovy tiene ahora mismo un montón de capacidades (que dicho sea de paso no aprovechamos), pero es necesario conocerlas a fondo para poder dominarlas y explotarlas.
  • Novedades de Grails 2.0. Álvaro Sanchez-Mariscal, de Escuela de Groovy ha enumerado las novedades que trae Grails 2.0, cuya fecha prevista de lanzamiento es noviembre. Personalmente destacaría la nueva consola interactiva y las mejoras en las pruebas, además de un montón de actualizaciones de los componentes en que se basa.
  • Deconstructing i18n-fields. Aprovechando el plugin de internacionalización que han desarrollado, Jorge Uriarte ha ido desgranando todas las posibilidades que nos da el sistema de plugins de Grails, desde acceso a los componentes de Spring, como transformaciones AST, y los problemas que han ido encontrando a lo largo del tiempo.
  • Programación funcional con Groovy. Aunque me he perdido una parte, la presentación de Arturo Herrero incidía sobre todo en como hacer programación funcional con Groovy, con las características que ahora mismo te da el lenguaje. Una colección de recetas a utilizar, aunque personalmente no acabo de verle todas las ventajas a la programación funcional. Será que todavía me estoy intentando enterar de como va la programación orientada a objetos.
  • Ejemplos prácticos de migración de proyectos JEE a Grails. Fátima Casau ha ido detallando las posibilidades que tenemos de migrar proyectos desde JEE (ya sea con Spring o con Struts o lo que sea) a Grails. A destacar las preguntas sobre casos de migración concretos, aunque en un momento se entró en la polémica de porque este y no otro framework o lenguaje, que en mi opinión no es muy acertada, y además es muy complicado adivinar el futuro.
  • Grails and Cloud Foundry. Graeme Rocher ha explicado en que consiste la plataforma CF, y como desplegar aplicaciones desde Grails en la nube directamente. La demostración no ha ido muy bien por problemas de conectividad, pero es impresionante lo fácil que puedes desplegar una aplicación Grails con un comando, aunque personalmente veo la plataforma un poco inmadura, no tiene planes de precios, cuenta con limitaciones importantes (sin sistema de archivos, no se puede acceder a la gestión de base de datos…) y a mi el despliegue inicial me ha funcionado muy bien (repito: impresionante) pero al realizar modificaciones y desplegar no me ha funcionado tan bien. Lo dicho: promete mucho pero aún le falta un poco.
  • Construyendo aplicaciones de telefonía con XMPP, Java, Groovy y Grails. Martín Perez y Mamem González nos han demostrado la potencia de algunas plataformas como Tropo a la hora de generar aplicaciones de telefonía. Realmente sencillo realizar servicios basados en telefonía, con un par de plugins de Grails sobre Tropo y Rayo que hacen las cosas muy sencillas. Luego han incidido sobre un caso práctico, Ringio, una aplicación que usa dichos servicios, presentándola como caso de éxito.
  • Groovy Metakoans con Marcin Gryzko. Una sesión práctica, practicando con la metaprogramación en Groovy. Un ejercicio estupendo, pero me llevo deberes para casa, ya era un poco tarde y estaba cansado. Aún así, muy recomendable, puedes bajarte el proyecto de GitHub y practicarlo por tu cuenta.

Me he quedado con las ganas de ver alguna, pero parece que los videos estarán disponibles muy pronto, así que es tú oportunidad si no has estado.

En resumen, un evento estupendo centrado en tecnologías interesantes, en que hemos tenido la oportunidad de aprender cosas nuevas y de donde siempre te llevas ideas nuevas que aplicar en tu día a día, con un montón de gente interesante con lo que contactar incluido el leader developer de Grails, que me confirmó que un problema que tenemos con la versión 2.0 estará arreglado para la RC2, que saldrá en unas semanas.

Mención especial al organizador del evento, Alberto Vilches, a Javahispano y toda la gente que estaba por ahí organizándolo todo, incluidos los patrocinadores, sin todos esto no hubiera sido posible el evento.

Como reflexión final, algunas conclusiones, unas buenas y otras malas:

  • La Universidad San Pablo tiene unas instalaciones bastante buenas, aulas cercanas donde tener las charlas y la cafetería a mano. Eso si, la universidad está taaaaan leeeeejos. Y no de mi casa, sino del centro de Madrid, lo que hace algunas cosas complicadas. Entiendo que no será fácil encontrar un lugar céntrico a buen precio y adecuado, pero por pedir que no quede. Eso no quita para tener que agradecerle también a la Universidad su colaboración cediendo las instalaciones.
  • Las charlas. A mi (y a más gente con la que he hablado) nos ha gustado el nivel de las charlas, no quedándose sólo en una introducción, sino yendo un poco más allá; habrá que tener siempre alguna charla introductoria, pero así creo que está más compensado y merece la pena ir.
  • Más de las charlas. Aunque me han gustado, creo que a veces no se cuidan lo suficiente, no se controla el tiempo, no se preparan a fondo algunos detalles… creo que todavía existe margen de mejora. Y no lo digo por las demos que fallan porque la wifi no va, aunque también es un detalle a cuidar.
  • El precio. 10€ es de risa, aunque por lo que parece la gente se queja. Aunque tengo claro que en este país no se valora lo que te puede aportar una jornada de este tipo (al fin y al cabo un mandril bien adiestrado es capaz de programar, eso lo sabemos todos), creo que se puede subir un poco el precio para mejorar la calidad del evento, correr menos riesgos económicos por parte de la organización, etc. Me estoy aventurando un poco porque no tengo datos al respecto, pero no creo que nadie deje de ir porque valga 30-40€. Al fin y al cabo el gasto principal está en el viaje y el alojamiento (claro está si vas de fuera de Madrid)
Share
Categorías: General  —  Juanfer Blasco  —  11 agosto 2011 10:35

Siguiendo con las ayudas para usar Tarjetas Chip en la Identificación y Firma ante los servidores web del Ayuntamiento de Vitoria-Gasteiz, abordamos la guía para los usuarios de GNU/Linux y en concreto Ubuntu 11.04 Natty Narwhal.  Aquí está la guía para Windows.

En el Ayuntamiento de Vitoria-Gasteiz hemos actualizando el Sistema de Identificación y Firma usado en sus servidores Web para el caso de identificación con Tarjeta Chip, adoptando el software Id@zki que proporciona la Entidad de Certificación Izenpe (http://www.izenpe.com). Este cambio afecta a los ordenadores de los ciudadanos, ya que a pesar del impulso que se está dando a las Tarjetas Chip, y aunque existen multitud de webs que proporcionan información sobre como instalar los Kits, como:

la instalación y configuración suele venir acompañada de diversos problemas, que la hacen poco atractiva:

  • Problemas con el controlador del lector de tarjetas.
  • Distintos programas para la gestión del token.
  • Si instalas uno, deja de funcionar el otro.
  • Java JRE desactualizado o inexistente
  • Falta del plugin java para FireFox u otro navegador.
  • Faltan los certificados de las Entidades Certificadoras en FireFox y/o java

Con esta guía, pretendemos explicar los pasos que hemos tenido que dar para configurar un ordenador con Ubuntu 11.04 ,un lector de tarjetas chip (de los que daban con las tarjetas ONA) y FireFox 5 ,  y así poder usar la tarjeta ONA y/o DNI-electrónico en los servidores web del Ayuntamiento de Vitoria-Gasteiz.

Componentes usados:

1.- Máquina virtual Ubuntu:

Aparte de explicar como se puede hacer la instalación, hemos decidido dejar la máquina resultante en Megaupload. y así posibilitar que los ciudadanos pueda usarla directamente sin sufrir demasiado. Para ello virtualizaremos una máquina con la siguiente configuración:

  • Software gratuito de virtualización VMWare Player (también funcionará con VirtualBox)
  • Disco de 20GB.
  • RAM 512MB.
  • Nombre de usuario: vgtest / Contraseña: vgtest / Nombre máquina: vgtest
  • Iniciar sesión automáticamente

2.- Añadimos elementos, actualizamos y otras utilidades.

La instalación por defecto actualizada ya incluye LibreOffice, FireFox 5.

  • Añadimos algunas extensiones interesantes a FF5 (FlashPlugin, AdBlock).
  • Desactivamos el protector de pantalla.
  • Añadimos noatime en /etc/fstab al FS / con la intención de mejorar el rendimiento.
  • Liberamos espacio en disco:
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
  • Añadimos utilidades como localepurge, startupmanager, deborphan, fslint
  • Añadimos Codecs mp3

3.- Instalamos Oracle/Sun Java JRE y Acrobat Reader.

Estos productos aparecen en los repositorios para “Socios de Canonical”, por lo que lo activaremos siguiendo las instrucciones http://www.ubuntugeek.com/install-jre-in-ubuntu-11-04-natty-using-ppa.html

  • Ir a “Herramientas del Sistema -> Gestor de Paquetes Synaptic -> Configuración -> Repositorios -> Otro Software” y activar Socios de Canonical“.

Cerramos Synaptic y abrimos un terminal para ejecutar:

sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts (Aceptamos los paquetes sugeridos a instalar
sudo apt-get install acroread adobe-flashplugin 
Asignamor el java jre de sun (oracle) como el java por defecto sobre openjdk.
sudo update-alternatives --config java
seleccionamos el número de la opción donde aparezca .../java-6-sun/jre/...

Verificamos que funciona la ejecución de applets accediendo a http://www.java.com/es/download/testjava.jsp

4.- Instalamos el software para poder usar un lector de tarjetas inteligentes USB (en nuestro caso Gemplus GemPC USB-SL)

Información interesante del CENATIC http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=87&Itemid=87

Antes de iniciar cualquier instalación de un lector de tarjetas inteligentes USB (y antes de conectarlo al sistema) es necesario instalar el subsistema de soporte de lectores de tarjetas inteligentes de GNU/Linux y OpenSolaris: PC/SC. Este subsistema, en una instalación típica de GNU/Linux u OpenSolaris, se compone únicamente de tres paquetes instalables: libpcsclite1, pcscd y pcsc-tools.

sudo apt-get install libpcsclite1 pcscd  pcsc-tools

Podemos conectar ya el dispositivo lector. En nuestro caso, al estar virtualizando con VMWare, se lo asignaremos a través del menú:

Virtual Machine -> Removable Devices -> Gemplus USB SmartCard Reader -> Connect (Disconnect from Host)

Podemos conectar ya el dispositivo lector. En nuestro caso, al estar virtualizando, se lo asignaremos a través del menú:

5.- Instalamos y definimos el lector PKCS#11 en  en FireFox:
Dentro del proyecto OpenDNIe del CENATIC http://forja.cenatic.es/projects/opendnie instalaremos el software para Ubuntu http://forja.cenatic.es/frs/?group_id=160 (actualmente opensc_0.12.1-1ubuntu1-svn385_i386.deb )  con las instrucciones de http://oasis.dit.upm.es/~jantonio/personal/privado/OpenDNIe_firefox.pdf

Descargamos el paquete Debian e instalamos:

$ cd Descargas/
$ ls
opensc_0.12.1-1ubuntu1-svn385_i386.deb
$ sudo dpkg -i opensc_0.12.1-1ubuntu1-svn385_i386.deb
Seleccionando el paquete opensc previamente no seleccionado.
(Leyendo la base de datos … 158336 ficheros o directorios instalados actualmente.)
Desempaquetando opensc (de opensc_0.12.1-1ubuntu1-svn385_i386.deb) …
Configurando opensc (0.12.1-1ubuntu1~svn385) …
Procesando disparadores para man-db …
Procesando disparadores para libc-bin …
ldconfig deferred processing now taking place

Configuramos el dispositivo PKCS#11 en FireFox:

  • Entramos en FireFox -> Edición -> Preferencias -> Avanzado -> Cifrado -> Dispositivos de Seguridad -> Cargar
  • Nombre del Módulo: SmartCard PKCS#11 (pero puede ser lo que queramos)
  • Archivo del módulo: /usr/lib/opensc-pkcs11.so

Hemos tenido que reiniciar la máquina para que nos reconozca el contenido de la tarjeta:

6.- Permitimos a Java usar OpenSC

Para permitir que el Java acceda a los lectores PKCS#11, seguimos las instrucciones del openDNIe http://forja.cenatic.es/docman/index.php?group_id=160&selected_doc_group_id=287&language_id=4 , eliminando el caracter # de la línea donde pone “# plug_and_play = false;”

$ sudo vi /etc/opensc/opensc.conf

# Parameters for the OpenSC PKCS11 module
app opensc-pkcs11 {
        pkcs11 {
                # Should the module support hotplug of readers as per PKCS#11 v2.20?
                # This affects slot changes and PC/SC PnP, as v2.11 applications
                # are not allowed to change the length of the slot list.
                # Default: true
                # plug_and_play = false;
                plug_and_play = false;

7.- Instalamos los certificados de Izenpe y DNIe en FireFox y Java

Que las CA´s estén incorporadas a Java y a FireFox es importante porque permiten que confiemos en páginas y aplicaciones seguras. A pesar de que los instaladores realizan esta acción, la realidad es que no en todos los casos aparecen correctamente, ni en java ni en FireFox, todos los certificados necesarios. En concreto los certificados que consideramos mínimos son:

IZENPE (Se pueden obtener de: https://servicios.izenpe.com/jsp/descarga_ca/descarga.htm )

  • CA Raíz de Izenpe 2007  SHA1 y SHA256
  • CA de Certificados SSL EV SHA1 y SHA256
  • EAEko Herri Administrazioen CA – CA AAPP Vascas (2) SHA1 y SHA256
  • CA Raíz de Izenpe 2003 SHA1
  • EAEko Herri Administrazioen CA – CA AAPP Vascas SHA1

DNI-ELECTRONICO (Se pueden obtener de http://www.dnielectronico.es/seccion_integradores/certs.html )

Los hemos empaquetado en un único fichero VGCERT.ZIP que descomprimiremos bajo Descargas y donde obtendremos una serie de directorios con certificados y un script para importar en el java que estemos usando.

Para importar en FireFox iremos a “Editar -> Preferencias -> Avanzado -> Cifrado -> Ver Certificados -> Autoridades -> Importar ” e iremos abriendo uno por uno cada fichero crt que encontremos bajo Descargas/VGCert/ca-dni y Descargas/VGCert/ca-izenpe dándole los permisos:

Para importar en java ejecutaremos el script java-import.sh abriendo un terminal y ejecutando sudo ./java-import.sh.

9.- Verificamos que todo funciona correctamente

Con la tarjeta ONA o el DNI electrónico insertado en el lector:

  1. Arrancamos FireFox
  2. Nos conectamos a http://www.vitoria-gasteiz.org
  3. Pulsamos en Conectar lo que debería lanzar el applet de firma Id@zki.
  4. Nos pedirá el PIN para firmar un texto.
  5. Si todo ha ido bien nos presentará en la barra de conexión nuestra identidad

Como ya comenté en el artículo para windows, creo que debería existir algo más simple, pero esto es lo más simple que hemos encontrado.  :-(

De todas formas siempre quedan los CAUs de los proveedores:

Share
Categorías: General  —  Juanfer Blasco  —  3 agosto 2011 07:00

En el Ayuntamiento de Vitoria-Gasteiz estamos actualizando el Sistema de Identificación y Firma usado en sus servidores Web para el caso de identificación con Tarjeta Chip, adoptando el software Id@zki que proporciona la Entidad de Certificación Izenpe (http://www.izenpe.com). Este cambio afecta a los ordenadores de los ciudadanos, ya que a pesar del impulso que se está dando a las Tarjetas Chip, y aunque existen multitud de webs que proporcionan información sobre como instalar los Kits, como:

la instalación y configuración suele venir acompañada de diversos problemas, que la hacen poco atractiva:

  • Problemas con el controlador del lector de tarjetas.
  • Distintos programas para la gestión del token.
  • Si instalas uno, te deja de funcionar el otro.
  • Java JRE desactualizado o inexistente
  • Falta del plugin java para FireFox u otro navegador.
  • Faltan los certificados de las Entidades Certificadoras en FireFox y/o java

Con esta guía, pretendemos explicar los pasos que hemos tenido que dar para configurar un ordenador con Windows 7 (en Windows XP es similar),un lector de tarjetas chip (de los que daban con las tarjetas ONA) y FireFox 4 (con FireFox 5 también funciona),  y así poder usar la tarjeta ONA y/o DNI-electrónico en los servidores web del Ayuntamiento de Vitoria-Gasteiz. La versión para usuarios Linux.

Componentes usados:

1.- Situación de partida:

Partimos de un Windows 7 Home Basic 32 bits recién instalado, al que le hemos instalado el antivirus gratuito Microsoft Security Essentials http://www.microsoft.com/es-es/security_essentials/default.aspx

2.- Instalamos Mozilla FireFox 4.0.1 ó 5

Nota: Si no se desea instalar FireFox, el resto de pasos también serían válidos para Internet Explorer, recomendando usar su versión 8.

Descargamos de http://www.mozilla.com/es-ES/firefox/ (también se encuentra disponible en Euskara: en http://www.mozilla.com/en-US/firefox/all.html)

La instalación es muy sencilla y se puede limitar al habitual: “Cruzar los dedos, Ejecutar, Siguiente, Siguiente, Siguiente,…”

3.- Instalamos Java JRE 6 (Necesario para firmar con el Applet Id@zki)

Descargamos de http://www.java.com/es/download/manual.jsp cualquiera de las dos versiones (En Linea o Fuera de Linea) aunque personalmente prefiero Fuera de Linea:

Actualización a JRE7:  Hemos verificado que también funciona con JRE 7  ( http://www.oracle.com/technetwork/java/javase/downloads/java-se-jre-7-download-432155.html ).

Una vez descargada, cerramos todos los navegadores y como con la instalación de FireFox: “Siguiente, Siguiente, Siguiente,…”, salvo que durante la instalación, nos pide que decidamos si queremos tener la barra de Yahoo (personalmente creo que hoy en día no es necesaria, por lo que NO MARCAREMOS LA CASILLA).

4.- Verificamos la ejecución de applets java desde FireFox:

Para verificar la integración de java con FireFox, acudiremos a la página http://www.java.com/es/download/testjava.jsp , donde si todo va bien, debería aparecer algo como:

5.- Configuramos el KIT del DNI Electrónico

Si queremos usar el DNI electrónico con los trámites municipales, debemos instalar el software que se proporciona para ello en http://www.dnielectronico.es/descargas/win_comp_vista.html

Seleccionamos el Driver CSP para sistemas Windows, bajamos, cerramos los navegadores y ejecutamos el software DNIe_v6_0_2.exe. “Siguiente, Siguiente, Siguiente,…”. Nos solicitará reiniciar el equipo, paso necesario para la correcta instalación, ya que durante el reinicio instala los certificados raíz del DNI y añade el Dispositivo de Seguridad al FireFox. A nosotros, tras reiniciar y a pesar hacer todo lo que nos dice, no se han instalado correctamente los certificados:

¡Ya lo solucionaremos al final!

6.- Configuramos el KIT de IZENPE

De la URL http://www.izenpe.com/s15-12020/es/contenidos/informacion/servicios_on_line/es_s_online/servicios_on_line.html http://www.izenpe.com/s15-12020/es/contenidos/informacion/gestionar/es_certific/puesta_en_marcha.html , descargamos el software para Windows. Se podría instalar componente a componente, pero ya que existe un instalador para todo, lo usaremos.  Este software nos instalará de forma automática:

  • El Driver del lector utilizado.
  • El software de Gestión de las tarjetas (SafeSign 3.0.40 http://www.aeteurope.com/aet/aet-europe/_www/en/pub/products/safesign.cfm )
  • Los Certificados de la CA Raiz de Izenpe y Subordinadas en java, iExplorer, FireFox y Chrome para reconocer certificados emitidos por dicha CA https://servicios.izenpe.com/jsp/descarga_ca/descarga.htm.
  • Acrobar Reader si no lo tenemos instalado http://get.adobe.com/es/reader/

Seleccionaremos “Instalación recomendada”, ignoraremos los mensajes que nos dicen “Sistema operativo no válido” y seleccionaremos el lector que tengamos conectado al ordenador:

Tras un rato esperando en esta pantalla …

Nos damos cuenta de que por detrás (ALT+TAB) nos está preguntando si queremos instalar eL lector en un navegador.

Seleccionamos FireFox y pulsamos Instalar. Parece que no hace nada, pero tras esto pulsamos Cerrar.

Tras estos pasos se verifica si tenemos un Java JRE adecuado, si tenemos Adobe Acrobat y Reiniciamos la máquina.

6.- Conectamos el lector GemPlus GemPC USB-SL:

Tras reiniciar conectamos el lector USB y vemos como lo reconoce el sistema.

7.- Instalamos los Certificados de las CA´s en JAVA Y FIREFOX

Que las CA´s estén incorporadas a Java y a FireFox es importante porque permiten que confiemos en páginas y aplicaciones seguras. A pesar de que los instaladores realizan esta acción, la realidad es que no en todos los casos aparecen correctamente, ni en java ni en FireFox, todos los certificados necesarios. En concreto los certificados que consideramos mínimos son:

IZENPE (Se pueden obtener de: https://servicios.izenpe.com/jsp/descarga_ca/descarga.htm )

  • CA Raíz de Izenpe 2007  SHA1 y SHA256
  • CA de Certificados SSL EV SHA1 y SHA256
  • EAEko Herri Administrazioen CA – CA AAPP Vascas (2) SHA1 y SHA256
  • CA Raíz de Izenpe 2003 SHA1
  • EAEko Herri Administrazioen CA – CA AAPP Vascas SHA1

DNI-ELECTRONICO (Se pueden obtener de http://www.dnielectronico.es/seccion_integradores/certs.html )

AUTOMATIZAR ES BUENO SI FUNCIONA (crucemos los dedos)

Utilizando la utilidad CERTUTIL desarrollada por Mozilla http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html , hemos modificado algunos scripts para automatizar el import de estos certificados. Empaquetando los certificados de Izenpe y DNIe, la utilidad certutil y un par de ficheros .bat en un fichero VGCERT.ZIP, hemos pretendido automatizar estas tareas:

Bajarse este fichero VGCERT.ZIP y decomprimirlo en C:\ , lo que creará un directorio C:\VGCert, donde se encuentra el comando certutil.exe y los ficheros necesarios para su ejecución, dos directorio con los certificados de Izenpe y DNIe, así como dos scripts.bat (ff-import.bat y java-import.bat) para importar los certificados en java y en FireFox.  ¡Si lo descomprimes en otro directorio deberás actualizar la variable CERTDIR de los scripts!

ff-import.bat -------------------------------------------
SET FFProfdir=%Appdata%\mozilla\firefox\profiles
SET CERTDIR=C:\VGCert
----------------------------------------------------

java-import.bat----------------------------------------
SET JRE_HOME=C:\Archivos de Programa\java\jre6
SET CACERTS=%JRE_HOME%\lib\security\cacerts
SET CERTDIR=C:\VGCert
----------------------------------------------------

Actualización JRE7:  Puesto que Java JRE7 se instala por defecto bajo C:\Archivos de Programa\java\jre7 , hemos añadido una comprobación de la existencia del nuevo directorio de instalación.

Debido a la seguridad de Windows 7,  y puesto que la BBDD de certificados de java se encuentra en una zona “protegida”  ( C:\Archivos de Programa\java\jre6\lib\security\cacerts) , es necesario ejecutar el comando “java-import.bat“  comando con permisos de administrador, por lo que una vez descomprimido habrá que “Ejecutar como Administrador

Mientras que el comando “ff-import.bat” se ejecutará con los permisos del propio usuario con Abrir o Doble-Click

En principio no es necesario importar los certificados a mano, pero por si hubiera algún problema:

IMPORTAR EN FIREFOX A MANO

Es una tarea que puede hacer cualquiera siguiendo las instrucciones obtenidas de http://www.inteco.es/extfrontinteco/dnie/swf/cert_fox.html

Importar en FireFox

IMPORTAR EN JAVA JRE 6 A MANO

Complicado de hacer aún siguiendo las instrucciones http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html.

8.- Verificamos que todo funciona correctamente

Con la tarjeta ONA o el DNI electrónico insertado en el lector:

  1. Arrancamos FireFox
  2. Nos conectamos a https://www.vitoria-gasteiz.org
  3. Pulsamos en Conectar lo que debería lanzar el applet de firma Id@zki.
  4. Nos presentará un texto a firmar.
  5. Nos pedirá el PIN para firmar.
  6. Si todo ha ido bien nos presentará en la barra de conexión nuestra identidad

Personalmente creo que debería existir algo más simple, pero esto es lo más simple que hemos encontrado.  :-(

De todas formas siempre quedan los CAUs de los proveedores:

Share
Categorías: General  —  Aitor Alzola  —  1 julio 2011 08:30

Lo que iba a a ser Grails 1.4, es ahora Grails 2.0, como se ha anunciado en la lista de correo de Grails. La razón es que se ha considerado que hay demasiados cambios importantes en la rama branch de GitHub para ser “simplemente” una versión 1.4.

Algunas de las nuevas cosas que se incluyen en la próxima versión (directamente de la lista y de las notas de la versión):

  • Nueva interface de usuario en la consola y modo interactivo.
  • Mejoras en el informe de errores, con una nueva plantilla que muestra el error y la sálida del sistema (si existe).
  • Mejoras en la impresión de trazas.
  • Mejoras en los tiempos de recarga con un agente JVM. Hay un nuevo agente de la JVM que maneja la recarga de las clases, lo que hará posible cambiar las clases de dominio, lo servicios estáticos y más clases que no estaban soportadas.
  • Mejoras en el rendimiento.
  • API de transformaciones AST para el desarrollo de plugins.
  • Scaffolding con HTML5
  • Manejo de recursos estáticos. El plugin resources se integra dentro del core de Grails.
  • API GORM formalizado. Ahora podemos definir queries y asociaciones en clases abstractas y el API de GORM está disponible para Java. (y otros lenguajes estáticos); esto es debido a que se inyectan vía transformaciones de Groovy.
  • Soporte a la herencia abstracta.
  • Soporte para multiples data sources y commit en dos fases.
  • Migraciones de bases de datos e ingeniería inversa.
  • Actualizaciones en la librerías: Groovy 1.8, Spring 3.1, Hibernate 3.6 and Servlet 3.0 y Tomcat 7.0
  • API de pruebas completamente nuevo con soporte para Spock. Las pruebas unitarias han sido mejoradas, ahora se soporta mixins que funcionan en JUnit 3, JUnit 4 and Spock (versión 0.6 necesaria). La documentación ha sido totalmente reescrita basándose en estos cambios. Esto ha provocado que las pruebas unitarias se simplifiquen para todo tipo de artefáctos, e incluso algunos nuevos están incluidos, como los filtros, subida de ficheros, negociación de contenido, url mappings, renderizado de plantillas y vistas y queries de criteria, que antes necesitaban pruebas de integración.
  • Pruebas unitarias para el scaffolding y salida de pruebas mejorada en la consola.

La nueva versión 2.0.0 M1 está prevista para el final de Julio, seguida por versiones candidatas durante agosto, hasta la versión final. La hoja de ruta  (http://grails.org/Roadmap ) se ha actualizado con estos cambios.

Otros cambios menores (según las notas de la 1.4, supongo que la cambiarán pronto) son:

  • Se permite el empaquetado de plugins en ficheros binarios: $ grails package-plugin –binary
  • Se publicarán estádisticas de uso de plugins basándose en un sistema de rastreo opcional de uso.
  • jQuery es ahora la librería por defecto, que se podrá sustituir por Prototype si se desea
  • Los tags del namespace lin ahora soportan el atributo attrs
  • Grails ahora tiene la base de datos H2 como base de datos por defecto.
  • Soporte para Named Queries a través de relaciones. Cuando una named query incluida en una clase de dominio que se relaciona con otra, esta esta incluida directamente como un método:
  • Filtros. Ahora se puede expresar exclusiones de controladores, actions y uris:
  • Constaints compartidas y objetos command. Ahora los objetos command soportan constraints compartidas al igual que antes lo hacian los objetos de dominio.
  • Nuevas queries OrCreate y OrSave. Las classes de dominio tienen ahora soporte para los métodos findOrCreateWhere, findOrSaveWhere, findOrCreateBy y findOrSaveBy que se comportan como los métodos findWhere y findBy excepto que nunca devuelven null, si no se encuentra una instancia que case en la base de datos, se creará una con los valores que se pasen en la query. En el caso de findOrSaveWhere y findOrSaveBy, la instancia se salva antes de devolverla
  • Actualización automática de las dependencias y plugins SNAPSHOT. Grails comprueba la existencia de nuevas versiones de plugins y dependencias de la versiones que terminen con “SNAPSHOT” y automáticamente descargará la nueva versión si está disponible.
  • Soporte para la redirecciones permanentes(301). El método redirect() ahora permite un parámetro permanente que si es True resultará en una redirección HTTP 301, en lugar de la HTTP 302 como habitualmente.

Bonus track: Peter Ledbrook está escribiendo una serie de artículos comentando estas características en su blog.

Share

Anteriores »