Secciones

@Internet

Artículos

Todos los artículos escritos en este blog. No olvides comentarlos.

Cambiar el idioma por defecto en una aplicación en Grails

12 May 2010, 13:48
¿Conoces otra forma de cambiar el idioma por defecto de una aplicación en Grails? [2]


En los últimos días he estado buscando información sobre como cambiar el idioma por defecto de una aplicación en Grails y como no he encontrado demasiado y la que hay, la he visto un tanto enrevesado, me he decidido a escribir este artículo.

Como ya sabéis, cuando creamos una aplicación en Grails, por defecto se crean una serie de archivos de propiedades en el directorio grails-app/i18n. Pues bien, por defecto, nuestra aplicación cogerá aquel idioma que tengamos configurado por defecto en nuestro navegador como idioma preferido.

Si queremos modificar este comportamiento que hace que dependa de nuestro navegador el idioma en el que vemos la aplicación, debemos configurar el archivo grails-app/conf/spring/resources.groovy para establecer el idioma y el país en el que queremos ver nuestra aplicación. El siguiente código dejaría nuestra aplicación lista para ser vista por defecto en español.

Groovy:
// Place your Spring DSL code here
"es","ES"

Pero, ¿qué pasa si nuestra aplicación está en varios idiomas y queremos que sea el propio usuario quien tenga la posibilidad de cambiar de idioma?

Aquí supongo que habrán muchas posibles soluciones, pero una posible implementación de la misma podría ser crear un método en un controlador que se encargue de cambiar este idioma por defecto. Para hacer esto, en primer lugar debemos mostrarle al usuario un par de enlaces para que sea capaz de seleccionar en que idioma accede a la aplicación.

HTML:
<g:link controller="public" action="changeLocale" params="[lang:'es', country:'ES']">Español</g:link>
<g:link controller="public" action="changeLocale" params="[lang:'en', country:'US']">English</g:link>
 

Con estos enlaces, necesitaría una controlador de la clase Public y un método en él llamado changeLocale() que se encargue de la gestión del idioma por defecto de nuestra aplicación.

Groovy:
span style="color: #ff0000;">"/")
    }

}
 

Con esto ya tendríamos nuestra aplicación accesible en varios idiomas.

Actualización: si seguimos los pasos indicados en el artículo, se modificará el lenguaje por defecto de la JVM de nuestro servidor. Si simplemente queremos modificar el lenguaje de la aplicación en cuestión, debemos hacer uso de la explicación existente en la documentación oficial de Grails y que consiste en pasar el parámetro lang a través de la url indicando queremos seleccionar en cada momento.

La confusión venía, porque al intentar poner la aplicación en inglés utilizando el parámetro lang=en, la aplicación quedaba en el idioma anterior y no se modificaba el idioma. Esto es debido a que los ficheros de propiedades se llaman de la siguiente forma: – message.properties: para el inglés – message_es.properties: para el español
_ message_de.properties: para el alemán

Esto provoca que si queremos poner la aplicación en inglés, o bien modificamos el nombre de message.properties por message_en.properties y le pasamos el parámetro lang=en o bien dejamos el archivo message.properties sin modificar y le pasamos el parámetro lang vacio con lang=


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Presentación de la III Conferencia ADWA sobre Groovy&Grails

22 January 2010, 09:46
¿Te ha gustado la presentación? [8]


Ayer tarde impartí en la fnac de Alicante una charla sobre Groovy&Grails y aquí os dejo la presentación que utilicé.

La verdad es que me esperaba algo más de gente y quizás el sitio no acompañaba demasiado (la cafetería de la fnac) con demasiado ruido de fondo y gente que pasaba y se me quedaba mirando como diciendo, “¿de qué diablos está hablando?”, pero al menos creo que la gente que estuvo allí, se fue con una idea clara de lo que es Groovy&Grails.

Ahora lo próximo, el curso de Groovy&Grails que empieza el 5 de febrero, al cual os animo a asistir si estáis interesado en conocer los beneficios de este entorno de trabajo.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

III Conferencia ADWA sobre Groovy&Grails

21 December 2009, 21:15
Espero tus comentarios... [3]


El próximo jueves 21 de Enero se celebrará la III Conferencia organizada por la Asociación de Desarrolladores Web de Alicante y que en este caso tratará sobre el desarrollo rápido de aplicaciones con Groovy&Grails y que además, la impartiré yo mismo.

La conferencia tendrá lugar a partir de las 19:00h en la fnac de Alicante y en ella trataré de resumir durante una hora y media los aspectos más relevantes tanto del lenguaje de programación Groovy como del framework de desarrollo Grails.

La asistencia es gratuita pero podéis inscribiros en el evento publicado en la red social Facebook.

Groovy&Grails ADWA


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Segunda edición del curso Groovy&Grails:desarrollo rápido de aplicaciones

18 December 2009, 11:01
Espero tus comentarios... [1]


Acaba de ser aprobado por el CECLEC de la Universidad de Alicante la segunda edición del curso Groovy&Grails:desarrollo rápido de aplicaciones que impartiré yo mismo en las instalaciones de la Escuela Politécnica Superior de Alicante entre los próximos 5 y 27 de febrero en un aula todavía por determinar.

El curso tendrá una duración de 30 horas lectivas repartidas en 15 sesiones de dos horas cada una de ellas y se impartirá durante todo el mes de febrero con el siguiente horario:

  • Viernes de 16:00h a 20:30h
  • Sábados de 9:00h a 13:30h

El curso tiene un coste de 120€ y desde ya mismo se puede realizar la matrícula desde la secretaría del Departamento de Ciencia de la Computación e Inteligencia Artificial en horario de 9:00 a 14:00, así como llamando por teléfono (965903900), o bien por e-mail.

La aprobación por parte del CECLEC supone también el reconocimiento del curso con 3 créditos de libre elección, así que si estás interesado, no tardes en tramitar la matrícula, puesto que el año pasado las plazas volaron literalmente.

Curso Groovy&Grails: desarrollo rápido de aplicaciones

Artículos relacionados
Signing instagram request
Testing your REST API endpoints with Groovy and Spock
Presentación sobre Spock
Algo de metaprogramación en tus proyectos Groovy
Zipping using password protection with Groovy
Almacenando y sobreescribiendo métodos en Groovy con metaprogramación
Testeando condiciones asíncronas con Spock
Actualizando aplicaciones a Grails 2.3.0
Dejo Secret Escapes en Londres para volver a Alicante
Mis primeros dos meses en Secret Escapes


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

III Jornada de Tecnologías Java

18 November 2009, 10:49
¿Qué esperas de las Jornadas?


El próximo martes 1 de Diciembre tendrá en el Salón de Actos de la Escuela Politécnica Superior de Alicante la tercera edición de la Jornada de Tecnologías Java organizada por el Departamento de Ciencia de la Computación e Inteligencia Artificial en las que se pasará toda la mañana hablando sobre tecnologías Java, metodologías ágiles, software libre e incluso habrá tiempo para ver cosas de Google Web Toolkit

Los conferenciantes son gente con una amplia experiencia en el desarrollo de proyectos, tanto de software como empresariales. En primer lugar, Emilio Bravo, antiguo alumno de la Universidad de Alicante y actualmente socio fundador de i2e, una empresa alicantina dedicada al desarrollo de software. Emilio nos hablará sobre el framework Google Web Toolkit

Martin Pérez, uno de los creadores de Jobsket, un portal en que los candidatos pueden publicar los currículums y que sean las propias empresas quienes se encarguen de buscar a su candidato ideal. Por cierto, que Jobsket está desarrollado utilizando Grails. El título de la charla de Martín será Desarrollo y pruebas de proyectos Java en un entorno ágil y es que Martín es una de las personas más activas en temas de desarrollo ágil en España y de ello puedes darte cuenta leyendo su blog, Pensamientos Ágiles

Posteriormente será el turno de Sergio Montoro, socio fundador de KnowGate y lider del proyecto open source Hipergate, una aplicación Java para soporte empresarial de Intranets, gestión de relaciones con clientes, e-Marketing y groupWare. Sergio expondrá los posibles modelos de negocio que se crean alrededor del software libre.

Por último, también vendrá un representante de Sun Microsystems, Francisco Peyrona, miembro del grupo de coordinación de Sun con Universidades y que trabaja principalmente en el área de SQA y en los sectores de Banca y Administraciones Públicas. Ha dirigido el desarrollo de proyectos Java durante diez años, entre ellos el proyecto Open Source JDBC Manager que se ha integrado en el entorno de desarrollo NetBeans. Francisco es un gran divulgador Java y es conocido por sus numerosas charlas, libros y artículos.

La entrada será gratuita, aunque antes deberás registrarte para poder acceder a la sala, ya que las plazas son limitadas al aforo de la sala y entre los asistentes se sorteará una iPod nano.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

ADWA Casual Conference

26 October 2009, 10:52
Espero tus comentarios...


Hace unas tres semanas estuve en la presentación de la Asociación de Desarrolladores Web de Alicante con el fin de conocer a gente de mi misma profesión y porque este tipo de iniciativas me parecen muy interesantes para generar contactos y sinergias.

La iniciativa de crear esta asociación surge de Dinamiclab, una joven empresa de desarrollo web de Alicante con muchas ganas de trabajar y al frente de la asociación, uno de sus socios Andres Karp. ADWA - Asociación de Desarrolladores Web de Alicante

Para este sábado 31 de Octubre han organizado un encuentro casual en el café Penélope de Alicante en la explanada a partir de las 10:00h y que se alargará hasta el mediodia. Será un buen momento para que la gente que asista proponga ideas y se debata sobre lo que se quiere conseguir con la asociación.

Entre los asistentes se sortearán 4 invitaciones a Google Wave y unos video tutoriales de Video 2 Brain, aunque espero que no sólo sean estos regalos los que hagan que la gente acuda este sábado a la cita.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

HazRuido.com no me ha pagado los 1.500€ del premio

16 October 2009, 11:50
¿Debería denunciar este hecho? [1]


Quería poner un título lo suficientemente claro en este post para que la gente lo entiendiera a la primera, pero como seguro que hay gente que no sabe ni que es HazRuido.com ni a que se refieren los 1.500€ del premio, os lo voy a contar con pelos y señales.

Justo hoy hace un año, se cerraba el plazo de inscripción a una nueva edición del concurso HazRuido.com, organizado conjuntamente por Alianzo y Strands. El concurso tenía un objetivo claro, que los participantes al mismo hicieran el mayor ruido posible para posicionar sus páginas web en lo más alto de los buscadores y lo hace con tres modalidades:

  • Mejor posicionamiento en Google, que consistía en posicionar una página web cuando se buscase una determinada palabra en Google. Este año la palabra era comunactivo
  • Mejor marketing viral, que consistía en hacer una campaña cualquiera que consiguiera el mayor número de visitas y la mayor repercusión en Internet.
  • Mejor vídeo viral, similar a la campaña de marketing, pero haciendo un vídeo.

Los premios no estaban mal, así que decidí participar en el apartado de Mejor marketing viral y para ello conté con mis amigas Isa, una gran creativa publicitaria y Cristina Sansano, una increible diseñadora gráfica. La idea que nos inventamos fue la de una chica que dudaba entre si operarse la vista porque no veia tres en un burro o bien operarse las tetas porque estaba plana como una tabla de windsurf.

Publicamos la web en tetasovista.com y la gente tenía que votar si se debía operar las tetas o la vista con los 5.000€ que con mucho esfuerzo había ahorrado. Incluso decidimos crear un blog en el que contar historias divertidas relacionadas con el tema en cuestión.

Pues bien, el pasado 8 de enero publicaron nos poclamaron ganadores del concurso con la correspondiente alegría, no sólo por el ego personal sino también por los premios, que en el caso del apartado de marketing viral eran un iPod Touch y la posibilidad de realizar una campaña de marketing viral valorada en 1.500€. Desde el principio comentamos que si ganábamos el iPod Touch me lo quedaría yo y el dinero lo repartiríamos entre los 3.

El iPod Touch lo tengo desde el pasado mes de marzo y la verdad es que no voy sin él a ningún, pero ¿y los 1.500€ adicionales del premio? De eso, no se sabe nada ni se va a saber. Según me informan desde Alianzo, el tema de los premios era cuestión de Strands después de que gente de Alianzo contactara con ellos, parece ser que ahora mismo no tenían previsto lanzar ninguna campaña de marketing viral, pero que en el caso de tuvieran que lanzarla, se pondrían en contacto conmigo por si estaba interesado.

Eso fue allá por el mes de abri y seis meses después, sigo sin tener noticias de Strands. Supongo que algunos diréis que el premio era sólo la posibilidad de realizar una campaña de marketing viral valorada en 1.500€, pero yo entiendo que esa posibilidad no son ellos quienes tienen que darla, sino que soy yo quien tiene que decidir si la acepto o no, pero ellos, nunca me han propuesto nada.

Lo peor es que creo que este problema tenía una fácil solución, si Strands no quería hacer ninguna campaña de marketing viral y pagar esos 1.500€. Esa solución era proponerme la cosa más difícil del mundo de tal forma que yo tuviera que rechazarla porque no me valiera la pena hacerla por esa cantidad de dinero.

Quería escribir este post-denuncia, porque no me gusta que este tipo de concursos organizados por Internet se tomen los premios a la ligera, porque parece que no hay ningún notario ni nadie a quien reclamar en caso de incumplimiento de las bases. Ha habido gente incluso que me ha animado a denunciarlos, pero desconozco si tendría alguna posibilidad de ganar, así que si algún experto en este tipo de temas tiene a bien aconsejarme, se lo agradecería. De igual forma, agradecería también, que de la misma forma que la web tetasovista.com viajó por casi todo el mundo, esta denuncia también lo hiciera.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Web 2.0 y AJAX con Grails

27 September 2009, 16:15
Espero tus comentarios...


Hoy en día, cualquier aplicación web que se precie necesita de una interfaz lo suficientemente atractiva, cómoda y usable para que el usuario no la abandone tras los primeros intentos. En este punto es donde aparece AJAX para ayudarnos en esta tarea.

Grails soporta por defecto una serie de frameworks AJAX como Prototype, Yahoo User Interface, Script.aculo.us y Dojo y básicamente lo que Grails hace es poner una capa por encima de todos estos frameworks para que independientemente del que utilicemos, la sintaxis sea siempre la misma.

Gracias a estos frameworks, vamos a poder utilizar en nuestras aplicaciones una serie de características de la web 2.0 como pueden ser los editores de texto enriquecido, buscadores de contenido con el plugin Searchable o incluso la posibilidad de exportar a varios formatos sin apenas esfuerzo y tiempo gracias al plugin Export.

De igual forma, con los frameworks AJAX podremos conseguir los típicos editInPlace, autocompletados o un sistema de votación de contenidos con estrellas.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Configuración de aplicaciones en Grails

24 September 2009, 16:46
Espero tus comentarios...


En cualquier proyecto desarrollado en Grails, toda la configuración del mismo la podéis encontrar en el directorio grails-app/conf. Básicamente, en este directorio hay cuatro archivos para configurar diferentes aspectos de una aplicación típica: Config.groovy, DataSource.groovy, BootStrap.groovy y UrlMappings.groovy.

Config.groovy

Contiene los parámetros de configuración general de nuestra aplicación e incluso podemos crear variables globales que estarán disponibles en todos los artefactos de la aplicación.

DataSource.groovy

Este archivo nos servirá para configurar el acceso a la base de datos utilizada por la aplicación. Grails puede trabajar en tres entornos: desarrollo, test y producción. Pues para cada uno de esos entornos, es posibles indicarle una base de datos diferente.

BootStrap.groovy

Este archivo contiene una clase llamada en la que a su vez se definen los métodos init() y destroy(). Estos métodos se ejecutarán al arrancar y al parar nuestra aplicación respectivamente. Habitualmente, el método se init() se utiliza para insertar una serie de datos en la aplicación, mientras que el método destroy() lo podemos utilizar para eliminarlos y dejar la base de datos en un estado conocido.

UrlMappings.groovy

Por defecto en Grails, las direcciones tienen el siguiente aspecto: http://localhost:8080/biblioteca/usuario/edit/1, donde:

  • localhost, es el nombre del servidor
  • 8080, es el puerto utilizado
  • biblioteca, es el nombre de la aplicación
  • usuario, es el controlador que se encarga de procesar la petición
  • edit, es el método del controlador
  • 1, es el identificador que se pasa por parámetro

Sin embargo, podemos modificar este comportamiento por defecto de Grails creando nuevas reglas en el archivo UrlMappings.groovy


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Seguridad en Grails

22 September 2009, 22:39
¿Has utilizado en alguna aplicación el plugin de Jsecurity?


Cuando nos referimos a la seguridad de una aplicación web, estamos hablando de conceptos como la autenticación o el control de acceso a diferentes tipos de usuarios. Para facilitar esta gestión de la seguridad, podemos ayudarnos de un plugin de Jsecurity disponible en Grails.

En temas de control de acceso podemos pensar en usuarios con un determinado rol, el cual tiene asignado una serie de permisos. Esto precisamente es lo que hace este plugin, dotándo a nuestra aplicación de 6 clases de dominio y sus correspondientes controladores para facilitarnos la labor.

Estas seis clases de dominio son:

  • JsecUser, que establece las propiedades necesarias para almacenar el nombre de usuario y la contraseña de los usuarios
  • JsecRole, indica los diferentes roles existentes en la aplicación
  • JsecPermission, indica los permisos que pueden ser asignados a los usuarios
  • JsecRolePermissionRel, establece las relaciones entre los permisos y los roles del sistema
  • JsecUserRoleRel, establece las relaciones entre los usuarios y los roles del sistema
  • JsecUserPermissionRel, establece las relaciones entre los usuarios y los posibles permisos del sistema

Combinando este plugin con los filtros en Grails, vamos a poder implementar un control de acceso a nuestra aplicación de forma muy rápida.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

« Entradas antiguas Entradas recientes »