4 de mayo de 2012

Problema: "Error SMTP: No es posible conectarse con el servidor SMTP"

Problema 

Trabajando con Joomla! 1.5.23 en un servidor de pago con PHP 5.3 comenzamos a tener un error cuando el sistema de envío de correos automático de Joomla!, configurado en "Servidor SMTP", comenzó a tener errores esporádicos, aunque continuos (aparentemente sólo 2 ó 3 veces al día), apareciendo el siguiente mensaje:
"Error SMTP: No es posible conectarse con el servidor SMTP"
La cuestión es que, por lo general, el envío de correos automáticos para el registro, para el administrador o los generados con otras extensiones, iba a la perfección, configurado todos los parámetros de forma correcta, el error aparecía de forma puntual y sin explicación aparente.

Aunque sólo parezca un error pasajero, el tiempo pasaba y persistía y eso significada que cada vez más correos de registro o avisos del sistema no llegaban a su destinatario. Por su parte, desde el servidor, informaban de que todo parecía funcionar correctamente, que el servicio SMTP corría a la perfección y que el error debía provenir de otra causa.

Solución

Después de investigar un poco, probar con todas las combinaciones imaginables y preguntar aquí y allí, el error acabó desapareciendo cambiando dos parámetros de la configuración de correo del Servidor SMTP (Panel de administración >> Configuración glogal >> Servidor).
  1. SMTP Port: Modificamos el 25, que por defecto nos aparece, por el 578 que según parece es bloqueado por menos servidores.
  2. Servidor SMTP: Aquí, cambiamos el típico "smtp.midominio.com" por la IP del correo saliente SMTP, un número facilitado en la información del servidor.
La cuestión es que, aunque sin saber exactamente el efecto de estas medidas, el error se fue como vino y los correos automáticos del sistema llegan a sus destinatarios (al menos por ahora).

2 de mayo de 2012

¿Cómo colocar el módulo de acceso de Joomla! en horizontal?

Problema

Trabajando en un proyecto con Joomla! 1.5.25 y debido a las características de la plantilla del sitio, teníamos intención de colocar el módulo de acceso a usuarios registrados en el sitio en horizontal, justo abajo de la cabecera.

La cuestión es que con el módulo de acceso que por defecto trae Joomla! 1.5. (mod_login) es, como en otros tantos casos, un tanto inflexible, disponiendo de pocas opciones de configuración, entre ellas ninguna relacionada con la orientación del módulo, que en todos los casos tendrá una orientación vertical (a lo largo) pero nunca horizontal (a lo ancho).

Solución

Como ocurre muchas veces, la solución habrá que buscarla en alguna extensión que mejore y flexibilice las opciones para el módulo de acceso en nuestro sitio. En este sentido, encontramos en Joomla! Extensions el módulo SignalLogin que se puede descargar de forma totalmente libre, aunque sólo está disponible para la versión de Joomla! 1.5.

Gracias a esta sencilla extensión, de las numerosas que existen sobre autentificación, obtendremos la oportunidad de ampliar las opciones de configuración del módulo de acceso, entre ellas, dispondremos de la opción de colocar los cuadros de texto para introducir nombre de usuario y contraseña en horizontal, tal y como estábamos buscando.

24 de abril de 2012

Mejora el sistema de puntuación de artículos de tu sitio Joomla!

La posibilidad de que los usuarios de un sitio puendan puntuar o valorar un artículo, puede arrojarnos pistas de los gustos y las preferencias de nuestros visitantes, además de abrir una nueva ventana para la participación del usuario en la web.

Joomla! trae por defecto un sistema de puntuación para los artículos, configurable globalmente desde las Preferencias del Gestor de artículos de nuestro panel de administración, o particuarmente en las opciones de cada artículo. El plugin que controla la función se denomina "Content - Rating" o "Contenido - Votar", pero desafortunadamente no disponemos de ninguna opción de configuración o personalización.

Para mejorar el sistema podemos encontrar gran cantidad de plugins en el correspondiente apartado de Joomla! Extensions para aumentar las posibilidades de configuración y que las votaciones sean inmediatas gracias a la tecnología Ajax, como VOTItaly. VOTItaly es un plugin, sencillo de configurar y con una estética muy llamativa y mejorada respecto a la votación por estrellas preconfigurada. Para utilizar este plugin, es recomendable desactivar el plugin original para que no aparezca un doble sistema de valoración.

Otra posibilidad es instalar un plugin independiente que registre la opinión de los visitantes sobre el contenido que están visualizando de nuestro sitio. Una buena opción puede ser el plugin WMT Like It (es preciso registrarse para descargarla) que permite mostrar un sistema de opiniones, independiente al original y con varias opciones para la configuración, como el de la siguiente imagen:

Muchas opciones y un único fin: permitir a los usuarios expresarse, a nosotros tener información y en general, mayor participación e interactividad.

20 de abril de 2012

Introduce un traductor automático en tu sitio Joomla!

En muchas ocasiones surge la cuestión de si es oportuno colocar un traductor en nuestra página para que los artículos puedan ser consultados en otros idiomas.

Si nuestro objetivo es realizar una página en varias lenguas, lo mejor será utilizar alguna extensión para la gestión del lenguaje, como el célebre Joom!Fish. Sin embargo, si lo que deseamos es algo más puntual, puede ser una buena idea instalar algún traductor automático en el sitio.

Hasta el momento, para la traducción automática, parece que el traductor de Google es el más fiable, dentro de las lógicas limitaciones de todos los motores de traducción automática. De esta forma, podemos introducir en nuestro sitio Joomla! un módulo con un cuadro de selección del idioma para que el sitio se traduzca de forma instantánea basándonos en la tecnología de Google. Para ello, disponemos de dos opciones:

1. Nos podemos bajar extensiones específicas para diseñar y gestionar las opciones del propio cuadro y de la traducción. En este sentido, destacamos los módulos GTranslate e Iyosis Google Translate, dos extensiones sencilas de configurar y utilizar.

2. La segunda opción sería colocar directamente el código del cuadro del traductor de Google en nuestro sitio, tal y como se puede observar en este blog en el bloque de la derecha. Para ello, deberemos de introducir en un módulo el siguiente código:
<div id="google_translate_element"></div><script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'es',
    layout: google.translate.TranslateElement.InlineLayout.SIMPLE
  }, 'google_translate_element');
}
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
De esta forma ya tenemos instalado en nuestro sitio un cuadro para la selección del idioma mediante la traducción automática de Google, una opción que, aunque no es lo ideal para una web de varios idiomas, puede ser una elección interesante si comprobamos que visitan nuestro sitio personas de otros países y con otros lenguajes.

16 de abril de 2012

Problema: Mensaje "Function eregi() is deprecated" en AidaNews2

Problema

Estaba trabajando con Joomla! 1.5.24 sobre un servidor con PHP 5.3.8. La web tenía instalada la extensión AidaNews2 utilizada para mostrar las novedades del sitio en el inicio, creando una miniatura de la imagen principal del artículo con un texto de introducción.


Después de un tiempo de uso, se detecta que cuando el módulo AidaNews2 crea una nueva miniatura, aparece el siguiente error en la parte superior del módulo:
Function eregi() is deprecated in .../misitio.com/modules/mod_aidanews2/helper.php on line 1293
La cuestión es que el error solo aparecía una vez, la imagen se creaba y si se le daba a renovar la página, desaparecía. Sin embargo, es comprensible que es bastante molesto, a la vez que antiestético tener continuamente este mensaje apareciendo cada vez que se crea una nueva miniatura.

Solución

Tal y como ocurría con la función split, la función eregi también ha quedado obsoleta en la nueva versión de PHP. Para solucionar el problema vamos al archivo del error, según la ruta:
.../modules/mod_aidanews2/helper.php
Y sustituímos en la línea 1293 la expresión

eregi

por:

preg_match

que ahora es la función con la que se puede sustituir la obsoleta eregi. Sin embargo, con este cambio nada más, nos seguirá apareciendo un mensaje, esta vez de advertencia: 
Warning: preg_match() [function.preg-match]: No ending matching delimiter ']' found in .../misitio.com/modules/mod_aidanews2/helper.php on line 1293
Según parece, el mensaje viene provocado porque la nueva función necesita una delimitación. Si a continuación de preg_match, sustituimos la expresión que aparece entre comillas

"[\|\\]"

por esta otra: 

"/^[0-9]+\.[0-9]{2}$/"

Los errores desaparecen definitivamente y todo vuelve a funcionar (al menos por ahora) con normalidad.

11 de abril de 2012

¿Problemas para insertar el código de un video en tu editor de Joomla!?

Problema

Un compañero me avisa recientemente de que tiene problemas para introducir videos en los artículos de Joomla! A pesar de tener extensiones instaladas como AllVideos, siempre hay algún servidor de videos que no está incluído y hay que incrustar manualmente el código del video en el HTML del artículo.

El problema residía en que en estos casos, el video no aparecía en el artículo. Por ejemplo, copiaba el código de un video de blip.tv de la forma:
<iframe src="http://blip.tv/play/AevwAgI.html?p=1" width="780" height="438" frameborder="0" allowfullscreen></iframe><embed type="application/x-shockwave-flash" src="http://a.blip.tv/api.swf#AevwAgI" style="display:none"></embed>
Pero cuando guardaba el artículo no se podía ver en ningún caso el video que en teoría había sido incrustado.

Solución

En este caso la solución hay que buscarla en las características del propio editor utilizado en el sitio. En este caso (como en la mayoría, diría yo), estaba utilizando el editor TinyMCE 2.0. Si en nuestro panel de administración de Joomla! 1.5 nos dirigimos a Extensiones >> Plugins >> Editor - TinyMCE 2.0 podremos tener acceso al control de toda la configuración de nuestro editor.

En este caso, lo que nos interesa está al comienzo en las opciones "Limpiar el código al iniciar" y "Limpiar el código al guardar". Por motivos de seguridad, sobre todo cuando el sitio es contruído de forma participativa, es muy recomendable tenerlo activado. Sin embargo, podemos cambiarlo momentanemente, insertar el video y si es necesario, volverlo a activar posteriormente, ya que lo que nos estaba impidiendo inscrustar nuestro video es precisamente esta configuración.

De esta forma, podemos guardamos la siguiente configuración de estos atributos:

Volvemos a abrir nuestro editor, incrustamos el código y ahora sí que ya se ve el video en el propio editor, y por supuesto cuando lo hemos guardado.

Una vez terminado, y si ha sido algo puntual, recomendamos volver a activar la limpieza en el código del editor, como decimos, especialmente si el sitio es editado por varias personas.