cómo hacer un perfil de instalación

Events happening in the community are now at Drupal community events on www.drupal.org.
maikelm's picture

Hola

Alguien tiene alguna idea que darme de como hacer un perfil de instalación.

Lo primero que quiero es que se me instalen ya algunos módulos que no vienen en el core y quiero que cuando instale drupal ya salgan instalados.

Un segundo paso, que me vendría de marabillas es que a parte de instalarse estos módulos, también pueda instalar algunos hechos por mi que generan estructuras en la base de datos.

Eso en escencia, luego iría avanzando a cosas mas complicadas, pero por el momento con esto tengo.

saludos y gracias por la atención.

Comments

En unos días publico un artículo sobre esto

victorkane's picture

Estoy escribiendo uno para Project Flow & Tracker. Hay tantas opciones y cambios que uno se paraliza. Aparte, como siempre con Drupal, muchos cambios. Entonces algunos son compuestos por solo un makefile para drush y el perfil y un README, mientras otros ...

En el artículo que publico este fin de semana en http://awebfactory.com.ar, voy a compartir lo que aprendí.

El Drupal Handbook no está muy claro y no cubre todas las posibilidades.

Están los perfiles sencillos como "default" (que instala Drupal); están los que usan drush make; están los que usan install_profile_api (que ahora es un módulo!!! fue gran novedad en su momento con Drupal 6); están los que se colocan en drupal.org palanqueando drush make para que la gente puede bajar solo el perfil o drupal y todo; y están los que se basan en features. Y los que usan todas estas cosas.

Mientras, podés empezar así: agarrar profiles/default/default.profile, copiarlo a profiles/miperfil/miperfil.profile

Luego, cambiar "default" por "miperfile" y editar la función miperfil_profile_modules() para incluir los módulos (hechos por vos o contrib, o core!) que querés instalar. Estos módulos muchas veces se colocan en un directorio "modules" abajo del perfil mismo...

Probá con eso. Luego, fijate de los existentes, los más ilustrativos son (en todo sentido):

  • arrayshift (supersencillo)
  • innovationnews (no usa features, allí tenés cómo escribir a la base de datos)
  • voicebox (usa features)

Hacé un entorno para probar paulatinamente. Suerte!

Un módulo que instala muchas cosas es Views Gallery

victorkane's picture

Es digno de ver como alternativa de features (que es bonísimo pero tienen sus cosas; ver el artículo más reciente en mi blog) porque hace lo que hace features sin features (por lo que cubre por lo menos).

Ver http://drupal.org/project/views_gallery

Este módulo puede ser instalado desde un install profile si están cumplidas sus dependencias.

prueba

maikelm's picture

Probé innovationnews, me parece muy bueno en verdad, una idea muy clara, sobre todo para escribir a la base de datos.

victorkane's picture

Ya que busco una manera de soportar un flujo de trabajo agil, en base de soportar todo (tipos de contenido, campos, views, paneles, presets de imagecache, aun taxonomía) en código (como views).

Cuando publico mi artículo comento aquí! Suerte.

Resultado

maikelm's picture

Bueno, comento el resultado de lo que probé, seguramente no es nada del otro mundo, pero puede que alguien le sea de interés.

1ro: Tomé la vía que me propuso victorkane e hice la prueba creando un perfil que me instalara CCK, VIEWS y Admin menu. para ello creé dentro de la carpeta profile una carpeta maikel_profile y dentro una carpeta módules con CCK, VIEWS y Admin menu, además del fichero maikel_profile.profile, este fichero lo que hice fue copiar default.profile, pegarlo y cambiarle el nombre

2do: Modifiqué el fichero maikel_profile.profile, poniendo el nombre y la descripción de mi perfil y la lista de módulos que deseaba salieran ya instalados en las funciones maikelprofile_profile_details() y maikelprofile_profile_modules() respectivamente

3ro: instalé y todo perfecto

Aparentemente todo perfeto, pero cuando me puse a trabajar me percaté que esa instalación me eliminó la sesión de crear contenidos, de hecho no tenía para crear ningún tipo de contenidos, pero como afortunadamente había instalado CCK, pues creé mis tipos de contenido.

Luego me percaté que fue un error mio, en el default.profile también hay una función default_profile_tasks(&$task, $url) donde se definen todas las cosas que quiero además de activar módulos que se hagan por defecto, ahí es donde se definen los tipos de contenidos page y story por ejemplo. Esta función es importantísima, aquí haremos todo lo que queramos que ocurra durante la instalación, por ejemplo: Crear una taxonomía que se le aplique a un contenido determinado, crear un bloque y visualizarlo, crear una vista que por defecto ya estará construida, un menú, instanciar variables, bueno de todo.

Innovation news lo hace muy sencillo, simplemente en _profile_tasks() define una lista de funciones que implementa más abajo y es donde hace todo de forma muy organizada, claro, escribe mucho en la base de datos, esto puede traer sus conecuencias en cuanto al rendimiento del propio instalador, pero es una buena solución.

Ahora me resta probar las otras vías

victorkane's picture

En este branch se puede bajar el perfil de instalación:

https://github.com/victorkane/ProjectFlowAndTracker/tree/6.x-1.0-alpha1

Ver http://awebfactory.com.ar/node/461 por más detalles

libro

maikelm's picture

Encontré Pro Drupal Development un libro buenísimo, incluso mejor que Learning Drupal 6 modules development, aunque no quiero ser mal agradecido, pues con este fue que comencé a desarrollar módulos. Pero Pro Drupal Development tiene un capítulo completo de desarrollo de pérfiles.

emanuel steven's picture

mi pagina web que quiero trasladar a drupal esta en html utiliza flash, css, php etc.

bueno yo soy nuevo en drupal.

gracias por su respuesta.

Argentina

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: