My getting started with Drupal

When I want to install a new site on my laptop I do the following

free form: 

Some references

Writing an article without pointer is pointless. So here is a start.

Version dependencies are described here

For a functional dependency specification (Nix and NixOS) see

mysql cycle

I still forget how to do the database and user creation and drop goes. So why not make a note.


create database test;
create user 'test' identified by 'pwtest';
grant all on test.* to 'test'@'localhost' identified by 'pwtest';

Cleaning up

drop user test;
drop database;

Yeah ... call me stupid ;-)

downloading projects in core

Apart from security risk i think it would be great to have drupal install modules needed for a profile. For a commandline solution provided by drush the advantages are great.

Combining 'project provides' and clean dependency checks multi site users would get rid of the burden to get modules in place before installing.

uninstalling dependentless

When uninstalling modules the code uses a simple foreach to call drupal_uninstall_module.

My guess is that this should be in TSL order. And it will be easy to implement when we have the dependency graph of the modules to uninstall.

Question remains whether dependent modules should be uninstalled together. That is without the user selecting what modules to uninstall.

Module management in Drupal

The title of this page should be project management because Drupal uses projects for delivering modules. A companion video shows the Drupal 5.x situation. Using drush, my drush_mm patch and update status to manage and install modules command line. This video shows better dependency checking than currently available in D7. As I hope is clear I want to contribute to implement this into D7.

Installing ubercart through drush pm and mm

It's quite neat using drush to install ubercart. Here is what I did.


  1. Install drupal 5.x
  2. Install your site/database
  3. download and install drush
  4. download and install update_status
  5. if you want to follow along install this patch for the module manager
  6. Enable the above modules. For a list see below.


    My drush usage

    Using drush with a strict server design makes my drupal maintence much more relaxed. I have this tiny script as a runner for drush.

    $ cat drush

    Modules in err

    Installing modules with drush is easy.
    # drush pm install ubercart
    My drush patch for a module manager makes it more easier to SEE what's installed. listing# drush mm list imagary# drush mm dot | dot -T png -o ~/graph.png shows a module in error. (I deleted workflow_ng) scroll to the right for red

    Installing ubercart.

    This story is about the cool tools and modules drupal offer. I will use drush as a command tool. This only works if you have shell access. Steps taken
    1. Install drupal.
    2. Install drush module
    3. Install update_status module
    Now the fun part starts.
    1. configure drush
    2. run drush ...
      drush pm install token workflow_ng tapir ubrowser cck imagefield imagecache google_analytics ubercart