Archivo de la etiqueta: joomla

Respect you yourself should (Joomla Critique #1)Respetarte tu mismo debes, (Crítica a Joomla #1)

Mientras trabaja por volver a levantar un sitio que antiguamente usaba joomla 1.0, tuve un pequeña molestia en el panel de control del nuevo 1.5, debido a que me salía un mensaje de error.

Afortunadamente no era fatal, ya que igualmente podía modificar los parámetros del sitio sin mayor inconveniente. Pero es molesto ver que algo no está bien, menos en un sistema grande como lo es Joomla.

El error me indicaba que había un archivo XML que no se estaba “parseando” adecuadamente, pero no me decía cual archivo ni cual error tenía.

Entonces decidí bajar una copia de seguridad del sitio completo, y replicarlo en mi máquina local para averiguar el error. Recordé que en linux existen miles de aplicaciones por consola, lo suficientemente poderosas para parsear y validar los XML’s de mi sitio.

Ya tuve una experiencia grata con el comando find. Pero me faltaba el comando para validar un archivo xml. Buscando encontré que posiblemente el comando xmllint me podría servir. Aunque finalmente no me ayudó, revelé un pequeño detalle que no me esperaba.

xmllint tiene una opción para validar, pero para realizar ese trabajo, requiere que 1) el archivo XML defina un DTD o 2) se le pase por parámetro. Probando sin usar un DTD por parámetro: probé lo siguiente:

find . -name "*.xml" -exec xmllint --noout --valid "{}" \;

Lamentablemente, el resultado no fue lo que esperaba. TODOS los XML salvo uno, eran inválidos, debido a que NO TENÍAN definido el DTD. Gracias a ese archivo que sí lo tenía, descubrí que joomla TIENE en su sitio un archivo DTD para que los desarrolladores lo incluyan en sus XML de configuración. De esta forma, el desarrollador obliga a que sus archivos XML tengan la estructura que el sistema requiere.

Lo peor… ese único archivo válido, era de un plugin de terceros y no de los desarrolladores oficiales. Es decir, los desarrolladores oficiales de joomla NO RESPETAN sus propias reglas al escribir el código.

Finalmente, xmllint no era lo que estaba buscando, ya que solo debía comprobar cual era el o los archivos mal formados (etiquetas mal cerradas, mal anidadas, …). Como no sabía, consulte en una lista de correo (una de las que tengo en la lista de comunidades), donde me dieron la solución: xmlwf.

Simplemente cambié el comando anterior por el siguiente y asunto arreglado:

find . -name "*.xml" -exec xmlwf "{}" \;

Encontré los culpables (eran 2), los corregí y di por terminado el asunto.
Pero me quedé con el sabor amargo de la despreocupación que los desarrolladores de Joomla han tenido en un detalle tan simple. ¿Que confianza me dan para cuando aparezca una nueva actualización del sistema?While working to re-build a site formerly used joomla 1.0, I had a little trouble in the control panel of the new 1.5, because I was leaving an error message.

Fortunately it was not fatal, since it could also modify the site parameters without much inconvenience. But it is not comfortable to see that something is not right, except for a large system such as Joomla.

The error indicated that I had an XML file that was not being parsed properly, but it’s not saying which file or which was wrong.

Then I downloaded a backup of the site, and replicate it on my local machine to find out the error. I remembered that there are thousands of Linux applications for console enough powerful to parse and validate the XML’s from my site.

I had an enjoyable experience with the find command. But I was missing the command to validate an xml file. Searching the web, I found that possibly the command xmllint I could. But ultimately did not help, this reveals a small unexpected detail.

xmllint has an option to validate, but to do this work, requires that 1) the XML file using a defined DTD or 2) it passes a DTD as a parameter. Testing without using a DTD by parameter, I tried the following:

find. -name "*.xml" -exec xmllint --noout --valid "{}" \;

Unfortunately, the result was not what I expected. ALL XML files except one, were invalid because they didn’t have defined the DTD. Thanks to that file that it was, I found that joomla has on its site a DTD file so that developers include it in yours XML configuration files. In this way, the developer requires that your XML files have the structure that the system requires.

The worst… that single valid file, was a third-party plugin and not the official developers. That is, the official joomla developers do not respect their own rules when writing code.

Finally, xmllint was not what I was looking for, and only had to check the file was malformed (bad labels closed nested bad …). As I did not know, see on a mailing list (the one I have in the list of FOSS Communities), where I got the solution: xmlwf.

Just change the above command with the following matter and fixed:

find. -name "*.xml"-exec xmlwf "{}" \;

I found the causers (they were 2), which I fixed and gave the matter ended.
But I stayed with the bitter taste of the disregard that the Joomla developers as a mere detail. What gives me confidence for when a new system update?

English ExerciseEjercicio de inglés

Tal vez ya no tengo mucho problema para leer cualquier cosa en inglés. Por último, en el más extremo de los casos recurro a intentar entender el contexto y por último si ya me la gana, ocupo un diccionario o alguna herramienta online.

En general, me considero buen “lector” de inglés, pero aún me cuesta un poco escribirlo, más me cuesta escucharlo y pero aún, hablarlo.

Aún cuando el origen del idioma no es algo que comparta plenamente, no puedo pretender tapar el sol con un dedo y pensar en emplear otro idioma más universalizado que el inglés.

Prácticamente todas las máquinas digitales tienen el inglés como idioma base (las BIOS de computador por ejemplo), incluso hasta los electrodomésticos. Además, el software, la documentación, las listas de correo, los chats, etc… casi todo es inglés primero (y “localizado” después).

Me he dado cuenta, que muchos errores de novatos frente a un PC, en parte es por ignorancia del inglés. Es cierto que la mayoría ni lee los diálogos y le dan siguiente->siguiente->siguiente a todo, pero hay muchos otros recelosos que no instalan cualquier cosa o les da temor “condorearse”(*) el PC, menos cuando se topan con el dialogo en inglés, entonces hasta ahí quedan.

A veces las instrucciones más simples, desde archivos de ayuda (típico README, leame.txt, …) hasta complicados lenguajes de programación, pasando por lineas de comandos (y comandos de ayuda) son incomprensibles.

¿Porque tenemos este nivel de inglés en chile?

Francamente, creo que es reflejo de nuestro pobre sistema de educación. Aún cuando estudié en un colegio “Particular Subvencionado”, varios ex-compañeros con los que hablo a veces no entienden términos en inglés sumamente sencillos (ahi se nota quien puso atención en clase 😛 ), me piden ayuda hasta para registrarse en páginas web. Si no fuera porque Facebook se localizó en español, uff… o cuantas veces me han preguntado “¿Hago click en NEXT o en CANCEL?”, o cuantas minas pedían ayuda para “hacerse un fotolog”

Cambiando el Editor de Joomla

Ya cuando instale Joomla en Promolibros había experimentado inconvenientes con TinyMCE, su “Editor Wysiwyg” predeterminado.

Inconvenientes del tipo “presiono un botón y no ocurre lo que debiera ocurrir”. En ese tiempo, me dí cuenta que en ocasiones era AdBlock Plus el culpable que bloqueaba los scripts necesarios para el funcionamiento.

Hoy después de mucho tiempo sin haber ocupado el editor de contenido, me di cuenta que con ningún navegador fue capaz de funcionar correctamente (el que llegó más lejos fue Safari).

Comprendí entonces que si la cosa fallaba desde el principio, menos estaría pensada para funcionar con navegadores actuales.

Entonces, en menos de 5 minutos buscando, dí con otro editor en javascript que si funciona. Damas y caballeros, les presento a JCE.

Para instalarlo, baje el componente, el mambot y language pack en español. Primero instalo el componente, luego el mambot. Para dejarlo en español, es necesario ir al Menu de Componentes en el panel de Administración, y hacer click en el icono “install”, luego es como cualquier oto paquete de joomla tipo “subir e instalar”.

Para activar el editor y finalmente reemplazarlo por el funesto TinyMCE, es necesario ir Sitio -> Configuración Global, donde basta seleccionarlo en donde dice “Default WYSIWYG Editor:”.

Así que ya saben, si hay algo en Joomla que no les gusta o no funciona, es muy probable que exista un reemplazo, uno de los motivos por los que prefiero el software libre