Me gusta mucho programar en Perl, y para eso siempre he usado vim, o algun otro editor como Komodo, Gedit, etc. Casi siempre termino usando vim por la sencillez y versatilidad que tiene. Pero últimamente he estado usando Padre, que es un IDE para Perl en etapa de desarrollo, están en la versión 0.36 y hasta [...]
Me ha tocado hacer una aplicación que lea datos de una pistola lectora de códigos de barras que se conectan a un puerto serial, para leer los datos utilicé un script en Perl que usa POE y que conseguí en su cookbook, al cual le hice algunas modificaciones.
Ahora, no solo se necesita que se lean los códigos, sino que estos sean enviados a una aplicación hecha en Catalyst y que envíe una respuesta. Esto sería sencillo con las pistolas que se conectan al puerto del teclado, ya que se podría usar la aplicación directamente desde, por ejemplo, un navegador, pero el problema está en que los datos son recibidos por el puerto serial, si se hace un: "cat /dev/ttyS0" podemos ver los códigos que va recibiendo el lector, pero no podemos hacer mucho con solo verlos. El script en POE me permite tener una especie de cónsola que permite monitorizar lo que pasa en el puerto serial, además se captura el dato como una variable cualquiera, ahora solo quedaría enviar este código a la aplicación y que esta lo procese. La forma que me pareció más sencilla de implementar esto fue utilizando XML-RPC para hacer las peticiones a la aplicación y que esta envíe las respuestas.
Continue reading XML-RPC con Catalyst
Cuando trabajamos con alguna aplicación web, siempre necesitamos opciones para editar registros de nuestra base de datos, una forma bastante novedosa de hacerlo es utilizando Ajax, existe un plugin para jQuery que nos permite hacer lo que se ha denominado Edit in Place o “editar en el sitio”. El objetivo es hacer que un texto pueda ser editado directamente sin necesidad de ir a otra página, se hace click sobre el texto y este se convierte automáticamente en un campo de texto de un formulario donde se puede editar la información, enviarla y guardarla automáticamente. Esto se logra en jQuery con un plugin, Jeditable, se puede ver una demostración con todas las opciones disponibles. Para utilizarlo debemos tener la ultima versión de jQuery y descargar el plugin, luego lo demás es sencillo, se carga la librería y el plugin en la página donde se van a utilizar, se crea una pequeña función usando jQuery en la misma página para indicar cual de los elementos (X)HTML van a convertirse en campos de texto, y se crea la función del lado del servidor que recibirá y procesará los cambios.
La forma que yo lo utilizo con Catalyst es la siguiente:
Una vez que he creado el controlador, por ejemplo Clientes y obviamente el Modelo de la aplicación creo un método que mostrará un registro de un cliente y otro que recibirá los datos y guardará los cambios en la base de datos:
Continue reading jQuery Edit in Place y Catalyst