Mastermind sobre Joomla! ®

El Podcast de Joomla! para que potencies tus proyectos



El problema es pequeño, la diversión es enorme.

- Johann Wolfgang von Goethe en Fausto


¿Has actualizado tu sitio y ahora nada funciona? ¿Al instalar una extensión nueva no puedes entrar a la administración de tu web? ¡A nosotros también nos ha pasado! Así que no te preocupes, respira hondo y escucha las técnicas que puedes usar para solucionar los problemas en tu sitio web y recuperarlo rápidamente.

¡Escucha ahora nuestro 10º episodio!


¡Ya llevamos 10 episodios! Está siendo muy divertido esto del podcasting y aunque lo más duro es mantener la continuidad, lo estamos consiguiendo. En este episodio no está Javi Olivares, pero espero que encuentres muy interesante lo que tengo que contarte sobre depuración de errores y solución de problemas en tu sitio web.

Noticias Joomla

¡Joomla 3.8 Ya está aquí!

Ya tenemos disponible Joomla! 3.8 desde la semana pasada. Ha habido algunos problemas en la actualización sobre todo con extensiones de terceros.  En concreto he identificado problemas con los temas de YooTheme PRO y con algunas extensiones que tocaban los menús del backend.

También hay algún aviso en Github de problemas de rendimiento en función de la configuración del sitio. Pero aparte de eso en Mastermind Joomla actualizamos el mismo día que salió y no hemos tenido más problemas que, a la hora de pasar a las nuevas URL, tuvimos que añadir las redirecciones. Todo lo demás funciona perfectamente. Así que actualiza con precaución como habitualmente. Yo aconsejo sin duda que caigo bien tenga un sistema de pruebas o incluso que aproveches el mes de prueba de Deevop para conectar con tus sitios y hacer las pruebas ¡Yo ya no puedo llevar el mantenimiento de una web sin Deevop!

Los desastres naturales afectan a Joomla

Una de las noticias más tristes que ha sucedido en estas dos semanas es que el huracán Irma le ha afectado a Joomla. No ha sido directamente al proyecto pero sí a una de sus contribuidoras más importante que es Sandra Thevenet. Vive en la isla la pequeña isla caribeña de San Martín que ha sido devastada por el huracán. Sandra estaba en proceso de vender su casa y parece que el huracán ha causado bastantes desperfectos y su seguro de hogar no los cubre completamente y está en una situación un poquito delicada.

Esa es la parte negativa la parte positiva es que toda la comunidad se ha volcado con el problema. No porque Sandra sea alguien que pasaba por allí y nos caía bien porque de vez en cuando tomábamos cervezas. No. Sandra dedicaba más de 50 horas semanales al proyecto. Prácticamente era como un trabajo (Hay trabajos en los que se tiene menos dedicación) y su contribución a la parte de localización y al equipo de marketing (del cual es líder) es absolutamente incomparable. Así que en seguida varios miembros de la comunidad pusieron en marcha una campaña para recaudar fondos y ayudarla a pasar este momento. Ahora mismo Sandra no tiene internet de forma regular ni electricidad ni agua, per poco a poco se va normalizando su vida. Échale un un vistazo a la página de donación y si puedes aportar algo ¡Genial! Cuando uno va a dar una donación no faltaba aportar 10, 300 o mil euros con que puedas aportar 1€, es algo que ha ganado la persona a la que se dona. Pasa de no tener nada, a tener un euro. No quiero sólo deciros que entréis y donéis, quiero que veáis el enorme poder que tiene esta comunidad. Ya nos ha pasado en el pasado. Hace un par de años en la Joomla World Conference que fue en la India una de las ponentes le robaron su portátil. Una chica que estaba estudiando en la universidad y le robaron el portátil. Pidió a la comunidad que por favor si alguien sabía que había pasado que que le escribiera. Se hizo algo parecido y en dos días se recaudaron los fondos suficientes para para que se comprara otro portátil incluso mucho mejor. Ha habido otros casos pero no recuerdo ahora mismo exactamente. Creo que fue Saurab. También solicitó ayuda con un problema que tenía y en seguida se. Toda la comunidad se puso las pilas y la ayudo en el caso de Sandra.El objetivo de la campaña que ha montado la Comunidad era para conseguir 5000 euros y ya vamos por 5510. Hemos superado de sobra lo que se pedía en la campaña. Tenemos una comunidad impresionante.

En cualquier caso cualquier aportación que podáis seguir dando. No es poca. Y aunque se haya alcanzado el objetivo, estoy seguro de que cualquier extra será muy bienvenido y Sandra, en cualquier caso, si tiene más de lo que necesita,  nos lo va a devolver. Así que por favor echar un vistazo.

 En el pasado JoomlaDay Vigo (del que os hablaremos en el próximo episodio), también han querido aportar su granito de arena y ha aportado una generosa cantidad del superávit del evento. Esto es digno de remarcar dado que la asociación que gestiona estos JoomlaDay no tiene otro tipo de ingresos más que los pequeños importes que sobran de la organización de cada evento.

También quiero enviar un abrazo muy fuerte a toda la comunidad Joomla y en general a todo el país de México porque a los pocos días de Irma llegó el terremoto que asoló a México y que ha sido también devastador.  Un abrazo especial a Carlos Olivares que está muy activo en la comunidad y siempre aportando cosas tanto a nivel local en México como a nivel internacional. Un abrazo muy fuerte a todos y esperamos que estas tragedias naturales se nos vayan poco a poco pasando.

Pre-update checker para Joomla 3.9

Volviendo un poquito más al código. Otra de las noticias de la semana es que por fin los desarrolladores de extensiones tenemos una forma nueva de probar que nuestras extensiones no van a dar problemas en los sitios de usuario. Y es que una de las nuevas características de Joomla 3 9  será un pequeño probador previo a la actualización. Esto nos va a permitir saber si el servidor es compatible con la nueva versión de nuestra extensión o con la nueva versión de Joomla. Y se instalará o no la extensión en función de los requisitos que se indiquen en la versión de Joomla o en la nueva versión de la extensión. Esto es muy interesante para evitar problemas con que haya actualizado mi extensión para que sea compatible con PHP 7 y alguien aun esté en PHP 5 2. ¿Hay alguien hay fuera que aun esté usando PHP 5.2? ¡Espero que no!

Solucionar problemas en nuestro sitio web

Advertidos quedáis que si no nos enviáis una musica para separar apartados del podcast, vamos a hacer un episodio exclusivo de por qué tenéis que enviarnos ese audio :P.

El caso. Supon que tienes tu sitio web y que actualizas una extensión y de repente PUM! ? ¡Errores por todos sitios! o directamente se os queda una página en blanco. Bueno esto es bastante común por desgracia y suele pasar cuando no tenemos todo correctamente actualizado o bien porque no hemos actualizado todas las extensiones de nuestro sitio o bien no hemos probado nuestra actualización de la previamente y la actualización trae algunos problemas de retrocompatibilidad (cosa que pasa por desgracia más a menudo de lo que nos gustaría). Aquí tenéis un artículo con los 5 pasos inprescindibles antes de actualizar Joomla para que no tengáis que utilizar las técnicas que os cuento en este episodio.

1. Activa los mensajes de error en Joomla

Los mensajes de error que aporta Joomla deberían estar configurados a "ninguno". Lo primero que tienes que hacer es ir al Backend, a la Configuración Global e intentar modificar dos parámetros. Uno es el Modo de Depuración que lo activaremos y otro es el Informe de Errores que lo pondremos en Desarrollo. Si no tienes acceso al backend porque también tienes una pantalla en blanco, puedes modificar estos parámetros mediante FTP. Tan sólo tienes que editar el fichero configuration.php y en ese fichero modificar las variables que controlan esa configuración con los valores:

$debug = '1';
$error_reporting = 'development';

 cambios en configurationphp

Al activar estas opciones le estñas diciendo a Joomla que os muestre todos los mensajes de errores que haya. Incluso os va a mostrar dónde se ha ido llamando a cada función  (la pila de llamadas - call stack). Ahí vais a poder encontrar quién es el responsable del problema. Y por ejemplo en el caso de que sea un plugin podeís directamente desactivarlo. Si tenéis acceso a phpMyadmin por ejemplo o si tenéis acceso a la base de datos lo podéis desactivar. Simplemente id a la tabla extensions y busca tu plugin. Cuando lo encuentres pon la columna enabled a cero y con eso el plugin dejará de estar activo. Si no tienes acceso a base de datos pero sí tienes acceso a los ficheros del sitio lo que puedes hacer es ir a la función principal del plugin y decirle que vuelva (usar el comando return). Si pones el comando al principio de la funicón, estás evitando que ejecute el código que está dándo el problema.

Para los componentes lo más interesante o lo que menos problemas te dará será ponerlo en el controlador del componente (fichero controller.php en la carpeta del componente). Esto no siempre es posible, pero bueno ya en función del caso puedes ir viendo.

En cualquier caso, con esto vas a evitar que se pare la ejecución del sitio que tenga ese error tan grave o error 500. Vamos que evitaréis el error de pantalla en blanco. Es verdad que el sitio no funcionará como esperáis porque habréis desactivado un plugin o un módulo que estábais usando pero al menos el sitio volverá a estar activo y podrás ver más mensajes de error si hubiera alguno.

Una vez que sabes cuál es el problema, ya puede buscar en la página del desarrollador del plugin o buscar el foro o cuál es el programa que estás teniendo.

2. Encontrar errores JavaScript

Hay veces en las que el problema es que ha dejado de aparecer algo o una página que cargaba algo por JavaScript ha dejado de funcionar, por ejemplo un botón que no funciona en un formulario. En estos casos para encontrar el fallo tienes que activar la consola del navegador. Todos los navegadores web tienen una consola y esta consola lo que te da es información sobre que se está ejecutando en el navegador. Ya sea código HTML, CSS o JavaScript. Pero en principio esta consola se usa muchísimo para ver que está devolviendo el JavaScript de la página y si hay algún error. Si hay un error por lo general te va a aparecer en rojo y lo vas a ver rápidamente. A partir de ahí lo que tienes es que depura el error. Esa es quizá la parte más compleja porque si sabes algo de código te meterás a tocar los ficheros y si no sabes programar tendrás que llamar a algún consultor web o tendrás que contactar al desarrollador del plugin o de la extensión que sea e intentar que te ayuda con el problema.

jQuery Easy, una solución que funciona casi siempre

Sucede en ocasiones con esto del JavaScript que tenemos un plugin que no es compatible o que no está muy bien hecho y no integra correctamente la librería jQuery o también podemos tener un problema de que el plugin necesite una versión de jQuery que no es la que está cargando en nuestro sitio. En estos casos en el 99 por ciento de las veces lo podéis solucionar usando el plugin jQuery Easy.

Este plugin lo que hace es que detecta todas as librerías JavaScript que tiene tu sitio y te permite eliminar librerías de jQuery duplicadas, cambiar la versión de jQuery a otra que sea más actual o más antigua en función de lo que necesites... Te permite muchas cosas incluso desactivar la librería MooTools, que es otra librería JavaScript que suele entrar en conflicto con la librería jQuery. Si estás teniendo un error de conflicto de Liberias, jQuery Easy es muy interesante porque te ayuda a resolverlo fácilmente. Los conflictos entre liberías son muy fáciles de ver. Básicamente lo que el error va a dar en la consola es Type Undefined (Tipo indefinido). Cuando además se refiere a un símbolo $ o a una variable llamada a o b o un nombre así que no tiene mucho sentido para ti que estás viendo el código desde fuera, esos son los errores que suelen ser de conflictos de librerías JavaScript. Para estos errores usando jQuery Easy, Posiblemente sea capaz de solucionarlo.

Cómo usar jQuery Easy para arreglar errores JavaScript

La aproximación que yo tomo cuando cuando uso jQuery Easy es ir de menos a más. Es decir, primero desactivo todas las funciones que prácticamente no cargue nada de jQuery, e ir activando poco a poco hasta que vuelva a suceder el problema. Es un poquito manual, un poquito tedioso pero es cierto que los problemas de conflictos de liberías son muy complicados de ver a simple vista.

Hay otra forma más sencilla o que puede ayudarte y es que veas el código de la página y busques dónde se están cargando librerías jQuery. Si ves que hay varias descargas de una librería jQuery ¡ahí está tu problema! La librería jQuery sólo se debe cargar una vez en cada página de tu sitio. Si se carga una segunda vez, puede que estés cargando algo que no debes y ahí es donde tienes el problema.

3. Errores 500 sin apenas información

En muchos caos la web te da un error 500 y a pesar de que has activado todos los mensajes de error, no consigues nada de información, o directamente no tienes acceso a modificar los ficheros. En ese caso lo que suelo hacer es desactivar todos los plugin que no son de Joomla. Previamente hago una captura de pantalla (o tomo nota de estos plugins para acordarme la hora de activarlos de nuevo) y los voy activando uno a uno y probando si sucede el problema o no. De esta forma vas a identificar fácilmente dónde está tu problema, dónde está el error en tu sitio y a partir de ahí ya puedes ponerte en contacto con el desarrollador del plugin y ver un poco qué es lo que pasa.

Estas son las técnicas que suelo utilizar a la hora por el problema. Y en cualquier caso si no das con la solución a tu problema, Recuerda que hay muchos profesionales y desarrolladores web que os pueden ayudar. Yo mismo te puedo echar un cable. Ponte en manos de un profesional y listo.

Proyecto del episodio

Mi proyecto del episodio era escribir un artículo para la Magazine de Joomla. Lo cierto es que cuando propuse este proyecto no sabía el estado en el que estábamos, pero la Magazine lleva sin sacar una edición desde febrero. El artículo no lo he escrito todavía y estoy pensando en la temática. Posiblemente saque alguno antes en el Blog de ManualesJoomla.

En cualquier caso, si te gusta escribir o si tienes inquietudes y hay algo que puedes enseñar al resto ¡No dudes ene escribir tu artículo para la Magazine!. La primera edición internacional que salió de la Joomla! Magazine fue en español y tiene muchos artículos e información muy válida y muy interesante y hace que la comunidad sigue creciendo. Si quieres escribir el artículo pero no sabes hacerlo llegar a los editores, envíamelo a mí directamente y yo me encargo de ayudarte con las gestiones y pasarás a ser autor rápidamente. No hay ningún tipo de implicación ni contraprestación que tengas que dar ni nada de eso. Además ¡¡ganarás un montón de lectores rápidamente!!.

Como mi artículo va a queda en el aire voy a cambiar de proyecto. Voy a hacer Una cosa que me apetece mucho hacer y que es muy chula pero es secreta y os la anunciaré en el próximo programa porque quiero que sea una sorpresa.

Feedback

Para este episodio tenemos el comentario que nos dejó Paco Guio en el episodio 9 donde hablamos de diseñadores:

Comentario de Paco Guio en el programa Errores en proyectos web

Paco es diseñador web y diseñador gráfico y además es uno de los Joomlers detrás de la organización del Grupo de usuarios de Joomla! de Madrid y nos aporta su visión del mundo del diseño con consejos para diseñadores principiantes ¡Gracias Paco!

Recuerdo que a Paco no le gustaba demasiado el logo de Mastermind Joomla, así que lo he pasado por la herramienta de comprobación de Logos que nos pasa en su comentario ¡y ha dado una buena puntuación!

Mastermind Logo Rank overall

Y esto es todo por esta semana ¡Espero que hayas aprendido nuevas formas de solucionar errores en tus sitios web! Si es así, por favor ayúdanos a que otra gente tan maravillosa como tú encuentre este podcast dándonos 5 estrellitas en Apple Podcasts, o con tus me gusta en ivoox y por supuesto compartiendo este episodio con tus contactos en las redes sociales! Interacciona con el programa porque así nos ayudas muchísimo a que más gente maravillosa como tú nos encuentre y cuanta más gente nos encuentre más ideas tendremos y mejores programas haremos para que todos sigamos creciendo.


Escuchar en ivoox

Comentarios gracias a CComment


¡Escúchanos donde quieras!

mastermindjoomla.com is not affiliated with or endorsed by The Joomla! Project™. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited license granted by Open Source Matters, Inc.


mastermindjoomla.com no tiene afiliación alguna ni está recomendada por el proyecto Joomla! Project™. El uso del nombre Joomla!®, su símbología, y logotipo y sus marcas relacionadas está permitido bajo una licencia limitada concedida por Open Source Matters, Inc.

MastermindJoomla.com es un proyecto de MJ y Extly