Pulut Drupal Distribution
pulut is a distribution of Drupal (Drupal is a registered trademark of Dries Buytaert) designed to allow quick and easy upgrade of drupal installations via subversion. This is a work in progress. pulut is used and maintained by Byte Craft Sdn. Bhd. as a common component for various projects, but everyone's free to use it. Please bug Ang Chin Han for further details.
It consists of the drupal (5) core + selected modules distribution (UPDATE drupal 6 branch is fairly used and updated now) to be used for various drupal sites. This is to allow different drupal sites to have an updated and consistent modules. We will monitor the various modules used by this distribution, and upgrade and test them in the subversion repository, so the procedure for upgrading a pulut drupal site would be simply an svn up and running the appropriate update.php
- Pulut TODO
- Sites using Pulut
- Attempts to speed default Pulut installs
- Standard Install of Ubuntu Hardy for Pulut
- Drupal Installation Sanity Checks
Pulut's Focus
- Easy upgrade procedure of all supported modules consisting of svn up and running update.php
- Core set of well tested modules for Malaysian sites
- Strong localization support (need more complete B.Melayu translation)
- Selected set of usable themes tested against the major browsers (see below)
- Standard deployment platform of Ubuntu 8.04 LTS, on PostgreSQL 8.3
- This may include patches to make sure modules support PostgreSQL 8.3 properly.
- PostgreSQL 8.3 support is nonnegotiable.
- Fully Open Source and Creative Commons components (modules and themes)
... Everything else is a bonus
But may we stress the easy to patch part again?
Pulut Modules
Browser Support
These are the target browsers:
- Internet Explorer 6-7
- Mozilla Firefox 2-3
- Safari (not sure which version)
- Opera 9.5+
Why Drupal 5
We have two branches of pulut, but the main once to be concentrated on is Drupal 5 for the stability and wealth of modules. This is because we focus on stability and ease of maintenance in pulut.
UPDATE: Drupal 6, while separately maintained from Drupal 5's branch, is fairly updated and maintained now.
Usage
- Start a new svn repo, get a working copy (we'll call it site). Directory structure should be like this:
/trunk/ /db /default
- Run:
cd trunk svn ps svn:externals 'www http://svn.bytecraft.com.my/pulut/drupal5/trunk' . svn up
This will pull in a working copy of the trunk of pulut into a subdir called www
- Note: /trunk/www/sites/all/default is a symlink to /trunk/default inside the site working copy. /trunk/www/.htaccess is a symlink to /trunk/.htaccess. This way, the document root is still pulut, but the differences are stored outside the working copy of pulut, in the working copy of the site.
- Copy trunk/www/.htaccess.orig to trunk/ (trunk/www/.htaccess will symlink to trunk/.htaccess, remember?)
cp -a www/.htaccess.orig .htaccess
- Copy (normal copy, not svn copy!) trunk/www/sites/default.orig to trunk/www/default
# cp -r www/sites/default.orig default # rsync -C does not copy the hidden .svn directory mkdir -p default rsync -Cav www/sites/default.orig/* default
- Create and configure permission for upload directory. Uploaded files should go here, not into pulut. Make it writable by the web server process
mkdir default/files chown www-data default/files
- Final structure and important files should be:
/trunk/db # database /trunk/www # checked out copy of pulut /trunk/www/.htaccess # symlink to ../.htaccess /trunk/www/yui # local copy of yui /trunk/sites/default # symlink to ../../default /trunk/sites/all # Common, tested modules and themes for pulut goes here /trunk/default # actual customization of drupal site for "this" site /trunk/default/settings.php # Settings for this site goes here. /trunk/default/themes # Custom theme goes here /trunk/default/files # Uploaded files goes here /trunk/default/modules # Custom modules specific to this side goes here /trunk/code_igniter_system # (optional) Code igniter goes here /trunk/kohana # (optional) Kohana goes here
- Create and configure database in default/settings.php
- Go to $base_url/install.php to install the default database.
- Create new user.
- Set the upload files to the writable directory in sites/default/files
Moving normal drupal to pulut
- Possible theme clash. Don't put old theme in default/themes yet. Change to garland theme, put theme in, and select old theme in default/theme/$oldtheme
