viernes, 29 de mayo de 2009

Solucion de errores típicos en Joomla

He encontrado un post muy interesante que explica como solucionar un montón de problemas que surgen al instalar joomla.

http://www.joomlaos.net/problemas-tipicos-en-la-instalacion-o-utilizacion-de-joomla-2.php

Joomla Pack - Problema con InnoDB

Me encontraba realizando una migración de una web en Joomla, con JoomlaPack instalado, la tarea no podía parecer mas fácil pero surgió un error.

Joomla Pack es un componente gratuito para Joomla que te permite entre otras cosas crear y gestionar copias de seguridad de tu sitio web. Funciona a la perfección, salvo si alguna de las tablas de la base de datos de tu sitio utiliza el motor InnoDB, y este es mi caso. Pues di con la respuesta.

En la mayoría de los foros, la solucion que daban era incluir una instrucción sql mas al principio del archivo sql de la exportación, y despues utilizar phpmyadmin para importar la base de datos, lo que divide la migración en dos pasos.

Para evitar esta división y que el componente siga manteniendo por completo su utilidad, he dado con una pequeña modificación para parchear este problema.

Basta con modificar el archivo ajaxtool.php que se encuentra en el directorio installation, añadiendo las dos lineas en negrita que se ven en el codigo que sigue, dentro de la función populateDB();

foreach($linesSQL as $sql) {
$sql = trim( $sql );
$split_sql = @str_split($sql);
if ( ( !empty( $sql ) ) && ( $split_sql[1] != '#' ) ) {
$database->setQuery("SET SESSION FOREIGN_KEY_CHECKS=0;");
$database->query();
$database->setQuery( $sql );
if (!$database->query()) {
$retArray['error'] = 'A database error occurred when running query
' .
$database->getQuery() . "
The error was" . $database->getErrorMsg();
return $retArray;
}

}
}


Esto desactiva la comprobación de las claves foraneas, lo que permite la creación de las tablas. Como la variable que modificamos es una variable de sesion, no es necesario volver el valor a 1, ya que en la siguiente conexión, este ya habrá cambiado.

Un saludo a todos.

Joomla 1.5 - Desarrollo de un componente MVC

Encontré este magnifico tutorial para crear un componente siguiendo el modelo MVC (modelo - vista - controlador). Probé a seguir los paso y funciono bien, rápido y fácil. Doy las gracias al autor por este documento.

Si no sabes, que es el modelo MVC, puedes encontrar una fantastica explicación en Wikipedia o en Sabuesoweb, por poner dos ejemplos rápidos. Existe multitud de información sobre este patron de arquitectura software en la web.


Joomladay 2008 Madrid - desarrollo de extensiones
View more presentations from deivit86.



Para más información