lunes, 6 de diciembre de 2010

Perfiles de instalación en Drupal 6

Me puse a probar una serie de comentarios y post de los grupos de drupal.org sobre el tema de los perfiles. Sobre todo en el grupo de argentina, gracias a los siempre excelentes post de victorkane.

Este tema no es nada del otro mundo, es una cosa bastante sencilla, pero que nos puede ser útil. Pregúntense ¿qué proyecto hacen en Drupal en el que no activen el módulo path y php filter?, ¿qué proyecto hacen donde no incluyan CCK y VIEWS?, ¿quién no usa Administration menu para la administración? Bueno, entonces porque siempre pasar el trabajo de estar instalando estos módulos. Para resolver eso lo mejor es crear un perfil de instalación donde una vez instalado Drupal ya todos estos módulos estén instalados por defecto.

Pero esto es solo una de las ventajas de tener un perfil. Hay miles de proyectos que son similares, ¿por qué no crear un perfil para esos casos? donde no solo los módulos salgan instalados, sino, que también se creen estructuras como puede ser un menú, un bloque, una taxonomía o una vista.

siguiendo algunas de las indicaciones de post en drupal.org, puedo decir que hay múltiples formas, incluso un módulo para esto (install_profile_api), el cual no he probado, pero según leí, provee algunas APIs para esta tarea.
La forma que voy a explicar es bastante sencilla. Si se fijan en un Drupal virgen verán que hay una carpeta que se llama profiles y dentro una que se llama default y dentro un fichero default.profile, este dominio es el perfil default de Drupal, el que se ejecuta normalmente. Si queremos uno nuestro podemos sustituir este o podemos añadir otro. Si añadimos otro, cuando estemos instalando saldrá un checkbox para escoger que perfil queremos instalar, eso es lo que vamos hacer. Vamos a instalar un Drupal que al instalar ponga activo los módulos que queramos. Para ello sigamos los siguientes pasos.

1- Tener una instalación de Drupal.

2- Ir a la carpeta profiles y crearemos una nueva carpeta con el nombre de nuestro perfil, por ejemplo maikelprofile.

3- Dentro de maikelprofile vamos a crear una carpeta modules donde vamos a poner todos los módulos que no vienen en el core y que deseamos instalar, probemos con dos de los módulos mas sencillitos de drupal (CCK y VIEWS), ahora tendremos /profiles/maikelprofile/modules/cck y también tenemos /profiles/maikelprofile/modules/views

4- Crear el fichero maikelprofile.profile, quedaría /maikelprofile/maikelprofile.profile, aconsejo que se copie el default.profile y se le cambie el nombre, luego que se le cambie el nombre a las funciones que no se llamen defaul_, sino, maikelprofile_ y en la función maikelprofile_profile_modules() definan los módulos que se activarán.
Ejemplo del fichero maikelprofile.profile para que instale CCK y VIEWS, además que salgan activo path.

Ejemplo del fichero maikelprofile.profile para que instale CCK y VIEWS, además que salgan activo path.


function maikelprofile_profile_details() {
$description = 'perfil de instalación con CCK y VIEW';
return array (
'name' => 'Maikel Profile',
'description' => $description,
);
}
/* Implementation of hook_profile_modules().*/
function maikelprofile_profile_modules() {
$modules = array (
// -------------------------Core - requeridos
'block',
'filter',
'node',
'system',
'user',

// --------------------------Core – opcionales.
'dblog',
'help',
'menu',
'search',
'taxonomy',
'trigger',
'update',
'path',
'php',

//-------------------------- los views.
'views',
'views_ui',

// --------------------------los cck.
'content',
'content_permissions',
'number',
'text',
'optionwidgets'
);

return $modules;
}
?>

No hay comentarios: