I upgraded my local computer to Ubuntu 12.04 today and revisited my Drupal development environment. Here is a simple and fast guide how to configure Ubuntu for development. There are a number of installation documentation pages on this topic on drupal.org, but they suggest to use the packaged Drupal installation and to run Drupal in subfolders (e.g. http://localhost/drupal6). They also do not cover some other important development tools like Phpmyadmin or php.ini settings. During development we want to edit files and we want to do that somewhere in our home directory to avoid any permission problems. There is also Drubuntu, but it is outdated and does way too much magic in my opinion. So here is a more transparent tutorial that highlights the key development configuration settings for Drupal development.
While working on the Kill role IDs patch I had to develop some upgrade path Simpletests. Unfortunately the documentation for upgrade path tests currently lacks installtion instructions on how to work with the existing bare and filled exported test databases. Here is a small writeup of what I did until we document that properly.
Git command for better patch review.
The usual patch format is often not really human readable. Consider this patch on drupal.org (issue) that only removes commas. How can I be sure that only the comma was removed on the changed lines? Fortunately, Git can help here. Download the patch, apply it to your repository and use the following command to get a colored output:
Ich habe vor kurzem mein Informatikstudium an der TU Wien abgeschlossen, Zeit für einen kleinen Rückblick. Obwohl in diesem Artikel auch viele für mich negative Dinge vorkommen werden, so habe ich doch die Jahre sehr genossen, viel dazu gelernt und viele interessante Menschen getroffen. Ich möchte diesen Lebensabschnitt nicht missen und würde mich wohl wieder für die TU Wien entscheiden.
A master thesis written by Klaus Purer at the Vienna University of Technology, released in May 2011.
Building web applications has become a complex task and often requires interaction with other web applications, such as web services. Drupal is a free and open source content management system and framework that provides a rich platform for rapid web development. The modular and extensible nature of Drupal allows developers to customize and embrace the core functionality and to create new features. This thesis is about investigating and implementing a web service client module for Drupal that is able to consume classical WS* web services as well as RESTful web services.
A summary about setting up a 802.11n wireless network at home, also for future self-reference.
The problem: you want to upgrade your Ubuntu server, but you still need PHP 5.2 for some old web sites (i.e. Drupal 5 is not PHP 5.3 compatible).
The solution: Go with the packaged PHP 5.3 for your new sites and compile PHP 5.2 yourself for the old ones. As we use the nginx webserver with FastCGI, we can choose per site which PHP CGI binary will handle the requests.
Sick of developing a Drupal module with CVS? Want to use git but also want your code in CVS on drupal.org for development snapshots? This is an approach to get rid of using CVS completely by synchronizing a git repository automatically to CVS. Basic git knowledge required. Script is on Github. Needs some testing though.