Drupal installation profiles
I'm new to drupal and I'm trying to understand installation profiles.
Is an installation profile just a bunch of modules that you add to the main drupal release and glue together with some instructions for ease of future installation, or do they need to be custom tweaked before an installation profile could be made out of them?
I noticed a package (containing an installation profile), but the maintainer didn't get around to updating it to the latest version of drupal. My incentive for wanting to create the installation profile myself is that I could use the latest version of drupal and the latest modules of all the other modules included. Am I correct in assuming that re-creating the installation profile is like (as an example) compiling php yourself so you could get the latest php version and latest modules, etc.?
For someone with php knowledge, but NO drupal knowledge, what is the relative difficulty of this subject (easy, medium, difficult)? Something that the average developer could master in a day?
- An installation profile can have custom code that adds pages to the installation wizard, or code that changes the values of some Drupal variables. Installation profiles can now use Drush make files, which allow to download a module (I am not sure if the download source can only be Drupal.org, or any web site — there was a debate about that, and to implement a white list, but I don't know if it has been implemented), and apply a patch to that module.
- The comparison with PHP compilation is not completely correct; think of the installation profile like a make file that creates the executable, where the operation is automatically done all times you change the make file content.
- The major difficulty is to know how things are done in Drupal; if you have never created a module for Drupal, you should learn something more about Drupal installation profiles. It is like creating a program for Windows, after creating applications for Linux/Mac OS X; you can know the programming language because you already used it, but you need to know something more about programming in Windows.