Otro de mis pequeños proyectos

Categoría: Mundo web (Página 4 de 10)

Compartiendo documentos en Google Groups

Leo en el blog oficial de Google que ya es posible compartir documentos de Google Documents con cualquier grupo de Google Groups. Una de las principales ventajas de todo esto es que cuando cualquier persona entre al grupo, automáticamente tiene acceso a los documentos y si sale de él, pierde este acceso.

Lo que realmente me gustarí­a ver es la integración de Google Groups en el Google Apps y así­ poder gestionar tus propias listas con gente del Apps y no tener dobles cuentas, que más de un quebradero de cabeza da con el tema de las cuentas.

Google Insights for web. Estadí­sticas de búsquedas

Estaba leyendo una de los nuevos lanzamientos de Google: Google Insights for web.

Con esta nueva herramienta podemos sacar algunas estadí­sticas sobre búsquedas realizadas en Google a lo largo del tiempo. De esta forma, no sólo podemos ver como algunos términos crecen desde la nada hasta colocarse en lo más alto (por ejemplo, Twitter o Facebook), comparar como algunas noticias suben la popularidad de algunos términos (por ejemplo, Michael Jackson) o por si quieres sacar algunos datos comparativos entre términos de búsqueda.

No sólo esto, además, ademas podemos filtrar por paí­ses, tipo de búsqueda e incluso por categorí­as. Junto a la lí­nea de cada término obtenemos algunas de las noticias que pudieron provocar picos.

En el siguiente video se pueden ver muchas de las caracterí­sticas. Me ha parecido bastante interesante.

[youtube]http://www.youtube.com/watch?v=4lq98ulKNgg[/youtube]

Migrar fácilmente el selector dolar a document.id (mootools 1.2.3)

Voy a contar un par de sencillos comandos que os ayudarán si queréis migrar todos vuestros selectores dolar ($) a la nueva forma definida en mootools 1.2.3: document.id.

La primera forma es ejecutar un comando desde la lí­nea de comandos. Todo lo que necesitas es tener instalado perl en tu sistema. Este es el comando (cambia fichero.js por el nombre de tu fichero javascript):

perl -i -pe 's/([^\$])\$\(/$1document.id(/g;' fichero.js

Quizás prefieras usar -i.old en vez de -i que hará una copia de tu fichero original fichero.js a fichero.js.old. De esta forma, mantienes una copia de tu fichero original.

Por supuesto este comando se puede usar con otros como find de modo que puedas migrar más de un fichero a la vez:

for i in $( find /path/a/tu/directorio/js -iname '*.js' ); do perl -i -pe 's/([^\$])\$\(/$1document.id(/g;' $i; done

Finalmente, para todos aquellos que como yo usen y prefieran vim, voy a mostrar como se hace el cambio con vim. Asegúrate que estas en el modo-comando (presiona varias veces la tecla ) y escribe:

:%s/\([^\$]\)\$(/\=submatch(1) . "document.id("/g

Y eso es todo! Disfruta de tu nuevo código que cumple con la especificación de compatibilidad entre frameworks javascript.

Easy migrating dolar selector to document.id (mootools 1.2.3)

I would like to show you a pair of easy command that will help you if you want to change all your dolar selectors ($) to the new defined document.id in mootools 1.2.3.

The first way can be executed from command line. All you need is having perl on your system. This is the command (change your_file.js to the filename that fits your needs):

perl -i -pe 's/([^\$])\$\(/$1document.id(/g;' your_file.js

Perhaps you will prefer to use -i.old instead -i that will copy your original file your_file.js to your_file.js.old. In this way, you get a backup of your original file.

Of course, this command can be used with others like find so you can migrate more files at once:

for i in $( find /path/to/your/js/files -iname '*.js' ); do perl -i -pe 's/([^\$])\$\(/$1document.id(/g;' $i; done

Finally, for those vim lovers like me, I would like to show you how to make this change inside vim. In command-mode (press a pair of times) write:

:%s/\([^\$]\)\$(/\=submatch(1) . "document.id("/g

And that’s all! Enjoy your new brand cross-framework compliant code.

Teclas rápidas usando mootools

Hace unos dí­as me plantee la posibilidad de añadir teclas rápidas al funcionamiento de la aplicación. Las teclas rápidas o también llamadas atajos de teclado (o «keyboard shortcuts» en inglés) nos permite realizar acciones pulsando una tecla o una combinación de teclas. Por ejemplo, habremos usado muchas veces Ctrl + g (o la variante inglés Ctrl + s) para grabar un documento, Ctrl + r para recargar la pantalla de nuestro navegador o, por ejemplo, todas las teclas rápidas de GMail. Lo que voy a explicar brevemente en este post es como conseguir algo parecido a lo que usa GMail.

El funcionamiento es realmente sencillo, este serí­a el código:

document.addEvent('keyup', function(e) {
 var bg = e.target.get('tag');
 if(bg == 'html' || bg == 'body') {
 if(e.key == 'a') {
 accion1();
 }
 else if(e.key == 's') {
 accion2();
 }
 }
});

Lo único que le falta a este código son las funciones accion1() y accion2() que son las que se ejecutarán cuando pulsemos las teclas a y s respectivamente.

Este código añade un evento ‘keyup’, es decir, cuando se detecta que se ha pulsado una tecla y estamos levantando el dedo de la tecla. Este evento indaga a ver qué tecla se ha pulsado y en caso de ser una de las de la lista, ejecutará la función correspondiente.

La comprobación de que el objetivo de nuestra pulsación (e.target) sea ‘html’ o ‘body’ sirve para que no se haga esta comprobación cuando estamos en un elemento como un input, un textarea, etc. Es decir, tenemos que tener el foco en el documento. En la mayorí­a de los navegadores funcionarí­a simplemente con indicar ‘html’, pero, como siempre, Internet Explorer tiene que dar la nota y necesita que comprobemos sobre ‘body’.

Por último añadir que podemos obtener más información del evento:

e.code: el código de la tecla pulsada
e.control: true si la tecla Ctrl está pulsada
e.shift: true si la tecla Shift está pulsada
e.alt: true si la tecla Alt está pulsada

Y no sólo esto, también podemos trabajar con la rueda del ratón o el botón derecho del ratón

El resultado es realmente espectacular si tienes que trabajar con una aplicación en la que las teclas rápidas te hacen la vida más sencilla 🙂

Buenas Prácticas en Boletines Oficiales online

Como ya he comentado alguna otra vez, no suelo usar mi blog para comentar temas de mi trabajo en Biko2, pero creo que de vez en cuando vale la pena romper esta regla… y espero que la pueda romper más veces para temas como este, jeje.

La noticia es que acabamos de publicar un informe con las Buenas Prácticas en Boletines Oficiales online con una reflexión sobre la situación actual y el camino que se recorrerá próximamente en este particular del mundo online.

Es muy interesante dar a conocer todas estas iniciativas que se dan, sobre todo si parte desde nuestra Comunidad Foral.

No es la primera vez que desde Biko, se realiza un informe de estas caracterí­sticas. Cabe destacar que hace algo más de un año, en Abril del 2008, presentamos el Informe de Usabilidad de los portales de las Comunidades Autónomas que marcó un antes y un después en muchas administraciones de nuestro paí­s.

Desde aquí­, felicitar a todo el equipo por el trabajo realizado.

Nueva versión de jscalendar

Llevo muchos años usando jscalendar porque la verdad es que siempre he obtenido buenos resultados y no me ha dado guerra, adaptándose siempre a las necesidades que tení­a. Pero acabo de encontrarme con hace apenas un mes se ha publicado la versión 2.0 (tras 4 años de no realizar actualizaciones de la versión 1.0).

Esta nueva versión no es gratuita si quieres el código fuente. Es decir, que puedes descargarte jscalendar 2.0 para trabajar con él sin problemas, aunque ha sido minimizado y ofuscado con YUI Compressor. La licencia para un site cuesta la nada despreciable cantidad de 80 dólares americanos, 300 para 5 sitios y 800 para un número ilimitado de instalaciones o para instalarlo dentro de una aplicación.

Esta nueva versión tiene un montón de nuevas caracterí­sticas:

  • Selección simple o múltiple de fechas, así­ como un rango
  • Modo pop-up
  • Limitación temporal
  • Animaciones para el cambio de mes y año
  • Animación del desplegable
  • Funciona como un control web, con lo que se puede seleccionar y trabajar con él desde el teclado
  • La rueda del ratón cambia de mes y de año
  • Los ficheros de idioma siguen estando en ficheros individuales
  • Muy personalizable ví­a CSS. De serie trae 5 themes
  • API y algunas utilidades (sólo para usuarios que compren la licencia)
  • Código javascript muy reducido en tamaño (30kB o 10kB comprimido) que no depende de librerí­as de terceros

Tiene muy buena pinta, aunque me da que de momento seguiré la versión 1.0 que se ajusta perfectamente a mis necesidades.

Evitar envio en GMail

No te ha pasado alguna vez que mandas un mail con GMail y te das cuenta que no querias hacerlo (o te has dado cuenta de un error)? Seguro que si la respuesta es que si, te habras dado cuenta que no se podia hacer nada, ya estaba enviado.

Pues bien, via GoogleOS leo que es posible, aunque hay que darse prisa y hacerlo rapido. La razon es que tras enviar un mail, en la parte superior de la lista de mails tendremos un mensaje que nos da la posibilidad de deshacer (undo) y evitar el envio, pero dura escasamente 5 segundos, con lo que hay que darse prisa. Otra opcion mas rapida es utilizar el teclado presionando la letra z (siempre que tengamos activadas las teclas rapidas).

Mensaje para evitar el envio

Mensaje para evitar el envio

Como comentan, la verdad es que 5 segundos no es demasiado, pero por lo menos es algo, ya que con los clientes de correo no te da mucho mas tiempo entre que le das a enviar y lo envia, con lo que podemos decir que estamos en igualdad de condiciones.

Yo le hubiese sacado partido varias veces.

OpenNUS

No suelo utilizar este blog para hablar de temas de trabajo, pero ya que ahora hay algo más de luz sobre el tema, me ha parecido interesante hablar sobre OpenNUS.

He tenido la suerte de verlo evolucionar hasta su estado actual, aunque no tuve la suerte de verlo nacer allá por el año 2000. Sí­, efectivamente, OpenNUS tiene 9 años! Anteriormente era conocido como Publisher, nada que ver con el gigante de Redmond que tuvo dos excelentes versiones para la época de desarrollo web en la que nos moví­amos y que acabó en la actual versión de OpenNUS 3.

Mucha gente que conocí­a Publisher preguntaba si es OpenNUS la evolución de NUS. La respuesta es no. NUS es un Content Management System (CMS o gestor de contenidos) realizado en Java, propiedad también de Biko, aunque actualmente en lí­nea discontinuada de desarrollo. OpenNUS 3 usa PHP5 (de forma nativa), MySQL y Apache como fuente probada y estable de trabajo.

Otra de las grandes preguntas es por qué no se liberalizó el código fuente desde un inicio, formando una comunidad tal y como las que podemos ver actualmente con otros CMS como Joomla, WordPress, Drupal, etc, etc, etc. Pues la respuesta no es sencilla y tampoco soy capaz de responderla debido a que por aquel entonces no pertenecí­a a New Media Publishing (actualmente Biko tras la fusión de New Media Publishing y SPI Navarra Virtual en el año 2006), pero lo que sí­ que sé es que por aquel entonces el modelo de negocio de una empresa no pasaba por dar sus recursos gratis. Seguramente si en su momento se hubiese tomado esta decisión (acertada o no), posiblemente hoy hablarí­amos de OpenNUS como uno de los CMS que tendrí­a una buena porción de mercado.

Y dejando de lado la historia, hoy en dí­a contamos con OpenNUS para la realización de proyectos y tras haber realizado numerosas implantaciones y proyectos cada vez de más envergadura y donde OpenNUS ha demostrado que es un rival a tener en cuenta. OpenNUS cuenta una gran adaptación en su modelo de datos y de trabajo, como así­ lo demuestra ser un software capaz de pasar una certificación CMMI y adaptarse a metodologí­as desde waterfall hasta las actuales metodologí­as ágiles donde scrum es uno de los máximos representantes.

No sólo esto, también hemos adaptado la herramienta a poder trabajar con equipos grandes, multidisciplinares y agiles. Puede parecer que trabajar en proyectos con estas tres caracterí­sticas en proyectos PHP es sencillo, pero no lo es, partiendo por ejemplo del hecho de tener por un lado profesionales con distintos perfiles (desarrolladores, diseñadores, maquetadores, comerciales, clientes) trabajando codo con codo y entendiendo la misma filosofí­a de software y poder aunar el esfuerzo de todos mediante una única herramienta que a la vez de sencilla sea potente.

A lo largo de varios años, he podido enfrentarme a retos de programación muy interesantes y variopintos, desde sencillas webs hasta proyectos en en breve verán la luz y estoy muy contento de poder decir que me apostado por OpenNUS porque realmente su interior está hecho para superar retos. Con esto no quiero decir que sea la panacea o el software que barrerá al resto de CMS, no, ni mucho menos. OpenNUS tiene que crecer todaví­a y mucho. Espero que en breve podamos demostrarlo. Lo que sí­ que se es que se adapta a una forma de trabajar que hemos definido desde abajo y que llega hasta arriba.

Y como siempre que me lí­o a escribir un poco más de la cuenta, me he enrollado como las persiana. Pero hací­a mucho tiempo que querí­a escribir algo de OpenNUS y ha salido todo a la vez. Son pensamientos desordenados que, unidos a mi forma de escribir no todo lo buena que se podrí­a esperar, hace de este artí­culo-opinión eso mismo, mis ideas desordenadas sobre OpenNUS.

Espero que en breve, todo el que quiera pueda comprobar lo que digo.

« Entradas anteriores Entradas siguientes »