Create and Fill the database

Just follow README.mysql.txt

mysqladmin -u root -p create drupaljam_demo
mysql -u root -p 
> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON drupaljam_demo.* TO 'drupaljam_demo'@'localhost' IDENTIFIED BY 'drupaljam_demo';

Prepare settings.php

mv default.settings.php settings.php 
chmod 777 settings.php

Add the site to apache (my steps)

cd /etc/apache2/sites-available/
cp drupaljam.demo
vi drupaljam.demo
a2ensite drupaljam.demo
vi /etc/hosts
# add drupal.demo

free form: 

Get the modules

Get a list of modules. What I did was use ls mysite/all/modules/ as a template and removed drush from that list.

./drush dl admin_menu advanced_help date drupalforfirebug drush_mm \
event flag og pathauto smartqueue_og token votingapi adminrole \
cck devel drush_sm fivestar nodequeue \
og_vocab rules timeline views wysiwyg

Drush nicely downloads all given drupal projects.

Project admin_menu (6.x-1.4) downloaded to /home/clemens/htdocs/ [success]

Getting drush and installing drupal.

Get drush and test it.

tar xzf drush-All-Versions-2.0.tar.gz 
rm drush-All-Versions-2.0.tar.gz 

Get drupal without thinking.

clemens@clemens-laptop:~/htdocs/$ ./drush/drush dl drupal
Project drupal (6.12) downloaded to /home/clemens/htdocs/  
mv drupal-6.12 www

I want drush inside my sites/all/modules tree.

mkdir www/sites/all/modules

Block the Builder presentation at Drupal Jam 2009-06-26 Utrecht

This book is about what step I took to prepare the (temporary) demo site and what my presentation is about. Bob the Builder

From _en_ into a translatable _en_

On a multi language site it is desirable to translate the drupal English into the customers Englich likings.

Steps taken

  1. Goto /admin/settings/language/add
    1. Add a custom languages with language prefix en, name en-ours, english English @ Our place and native English @ Our Place
    2. Make your new language the default.
    3. Disable drupal's en
    4. Change the name en-ours into en

Relocating the files directory

Trying best practices I occasionally move the files directory from DRUPAL_ROOT/files/ to DRUPAL_ROOT/sites/my-sites/files

Doing this has some implications for the files table content. All file-path are pointing to the wrong location.

Quick solution for this is an mysql replace update query.

select replace(filepath, 'files/my-site/', 'sites/my-site/files/') from files;
# update files set filepath=replace(filepath, 'files/my-site/', 'sites/my-site/files/')"

Or through drush

Managing your svn repository with external ones

So you finally have your own svn repository. But you need to use external code as well. And you want to keep track of changes in those external code. Then use svn:externals. This tells subversion there are external subversion repositories destined to blend into the current folder. I learned this from a script thanks to Wim Leers

First let's create an externals to a repository in the current directory.

svn propedit svn:externals .
If this fails configure an editor like this
export EDITOR=vi

Subversion setup with apache

Setting up an apache based subversion needs a little more work then doing it with a plain or svnserve setup.

My steps are described here and executed on two computers.

Create your repository

# the switch --fs-type fsfs is the default 
# but I was a little worried of getting the bdb file system
svnadmin create --fs-type fsfs demo

Make sure apache is capable of reading the repo and other cannot

# /var/lib/svn is owned by root so let www-data (apache) access the repos dir.
chmod o+rx /var/lib/svn
chmod -R o-rwx demo
chown -R www-data:www-data demo


These pages describe my interpretation of a subversion setup.