jueves, 19 de diciembre de 2013

Alfresco, esa gran piedra en el zapato

Recientemente me estoy teniendo que pelear con una aplicación basada en alfresco. Cuan iluso fui cuando pase 2 horas mirando el log4j.properties y no hacia lo que tenia que hacer, hasta que descubrí que hay que copiarlo y ponerlo en otra carpeta para que te haga caso (esto tiene un nombre: H*********A!). Me ha recordado todo esto a Microsoft y su manía de reinventar la rueda, en fin. Bueno, a lo que iba, si queréis que os haga caso el logger, hacer una copia del log4j.properties en $TOMCAT_HOME/shared/classes/alfresco/extension/*-log4j.properties. Sustituir el asterisco por el nombre que os plazca. Eso si, nada de copiarlo a pelo sin cambiar el nombre porque os ignorara de mala manera. Bueno, hasta aquí una parte de mi cabreo, en los próximos días quizás más!

viernes, 27 de septiembre de 2013

Stream Video Plugin para Wordpress

Este fantástico plugin tiene un gran problema con las últimas versiones de Wordpress. Y es que al incluir su propia librería de jQuery esta suplanta a la que usa Wordpress y la mitad de funciones JavaScript que dependen de las última versión dejan de ir.

En el siguiente enlace dejo mi aportación con la corrección a dicho problema.
Stream Video File Browser Grey and Blank

Esto es todo por hoy

Uploadify e IE9 o superior

Buenas, cuanto tiempo eh?

A lo que iba, resulta que usando el plugin Uploadify para subir fichero, el IE9 o superior me daba un error de "Se esperaba un objeto" dentro de jQuery. Indagando con San Google, he encontrado el siguiente enlace:

Uploadify in ie9 getting js error : SCRIPT5007: Object expected

Resulta, que la librería interna de SWFUpload que usa, tiene un bug que se cepilla el método getAttribute del navegador. Método que es usado luego por jQuery para obtener unos atributos de la etiqueta object.

En fin. Que modificando una triste línea en dicha librería tal y como mencionan en el enlace sobra.

Para los vagos. Este es el cambio:
if (typeof (movieElement[key]) === "function")
Por:
if (typeof (movieElement[key]) === "function" && key[0] <= 'Z') // Remove only Flash functions (starts with capital letters). 
Hasta la próxima gente

martes, 18 de junio de 2013

VirtualBox MacOS X y carpetas compartidas

Ya que actualmente VirtualBox no tiene GuestTools para MacOS X, no podremos disfrutar de las carpetas compartidas, pero...

...Pero con el compartir carpeta de windows y Samba tenemos la solucion.

  1. Compartimos la carpeta deseadas desde windows
  2. Desde la maquina virtual abrimos el Finder -> Go -> Connect to Server.
  3. Introducimos smb://10.0.2.2 y connectamos, introducimos user y pass y LISTO
Magicamente ya tenemos acceso a lo que queriamos!

viernes, 22 de febrero de 2013

Android

¿Desarrollar en Android?¿Por qué no? Tendré que ponerme las pilas si en el curro me meten caña con este tema

Configurar los Widgets de OpenCms 7

Resulta que casi todos los widgets que podemos usar en un schema de OpenCms te permite añadir el atributo configuration. Pues bien, algunos permiten que el contenido de configuration este dentro de un fichero properties como puede ser el workplace (esto se define en el schema con el nodo resourcebundle).

La cuestión es que no todos soportan eso último. Como es el caso del VfsFileWidget o el CategoryWidget. Para que funcione no nos quedará más remedio que extender las clases de dichos widgets y tunearlas a nuestro gusto.

A veces la libertad que otorga OpenCms se vuelve en tu contra, para descubrir esto me he tirado una hora.

jueves, 31 de enero de 2013

removeAll UnsupportedOperationException

Hoy jugando con listas que venían de arrays de String, al ejecutar la siguiente linea me retornaba UnsupportedOperationException
lista.removeAll(otralista);
El problema es que para generar las listas estaba usando esto:
List<String> lista = Arrays.asList(array);
Este metodo, aunque retorna una lista, es una lista estatica, que no permite ni añadir ni borrar elementos, por lo que al usar el removeAll petaba.

¿La solucion? Segun este post de stackoverflow, pasa por crear una nueva lista usando como parámetro de constructor el resultado de asList()
List<String> lista = new LinkedList<String>(Arrays.asList(array));

jueves, 17 de enero de 2013

Raspberry XBian y el wifi

Recientemente adquiri por reyes una Raspberry Pi. Me llego hace unos dias, y hoy al fin he podido trastear con ella. Principalmente la quiero de media center y para ello me he decantado por XBian. Facil de instalar y con XBMC.

Aun le estoy sacando punta, pero lo que mas tiempo me ha llevado es configurar el wifi, y por que? si es muy facil... Es facil si no tienes la red oculta como yo la tenia. Supongo que habra que tocar algun parametro de wpa supplicant, pero ahora mismo con cambiar ese parametro del router me sobra.

Si lo descubro lo publicare. ;)

jueves, 3 de enero de 2013

Comando tail en windows

Para todos los que hemos trabajado con linux el comando tail es nuestro compañero de viaje en el desarrollo para ver el log en tiempo real.

Bien, pues como ahora estoy en un entorno de windows andaba buscando algo similar y como siempre stackoverflow tiene la respuesta. Es tan sencillo como abrir PoweShell de windows y teclear:

Get-Content ruta/a/nuestro_fichero_de_log -Wait

Os dejo el link al hilo en cuestión: StackOverflow