drupal planet

Big steps for the Drupal-Initiative, planning sprint report

Edit: I totally had the dates wrong for the Drupal Developer Days in Munich - they’re May 5-7 :P

The Drupal-Initiative e.V. is a German non-profit organization dedicated to driving the growth of Drupal in German speaking countries. Yesterday was an important milestone for this group as we had our first ever planning sprint that was open to the public. The sprint was in Essen, in a neat location called the Unperfekthaus (the imperfect house), and we had 17 people from across Germany who came to help us plan, divide the work, take on responsibility, and breathe life into an organization which has until this point been the work of 5-6 individuals.

The history of the Drupal-Initiative starts in mid 2008 when members of the Cologne-Bonn Drupal Users Group decided to host a DrupalCamp in Cologne. We knew that we’d need some structures in place, such as a bank account, a website, and so forth. We also had our eyes on a bid to host the international DrupalCon in Germany at some point, so we thought that building a strong, formal entity, such as a non-profit organization, was the best way to achieve these goals.

Some months later, in January, 2009, we hosted DrupalCamp Cologne which saw over 200 people show up - a great success. Shortly after that we actually finished the legal proceedings, including becoming an e.V. (eingetragener Verein), and securing a license from Dries Buytaert to use the word “Drupal” in our name. Eventually we launched a membership program and have been quietly growing, with both individual and corporate memberships, ever since.

The planning sprint in Essen was the first time that we’d set out to involve our current members beyond the founding core, and to raise the level of awareness about what we do, and most importantly, how people can help. Some of the results of the sprint include:

  1. We’re going to redesign the hastily created Drupal-Initiative.de website. We have a “Feuerwehr” team (Fire department) to attack the most obvious and easily fixed problems, and a long term team to do a proper needs assessment, design, and implementation of a comprehensive site.
  2. We’re going to be involved in more national events. There are two events immediately on the horizon: DrupalCamp Essen in February 2010, and Drupal Developer Days Munich, in May 2010. Both of these events are now officially Drupal-Initiative events, which shows an unprecedented amount of cooperation amongst the German Drupal community.
  3. We’re going to organize an effort to write a series of articles for the TN3 magazine to promote the launch of Drupal 7.
  4. We’re going to start sending newsletter issues about Drupal and Drupal-Initiative activities. Sign up here if you’d like to get these.
  5. We’re going to launch a site WarumDrupal.de (Why Drupal?) which will, similar to Drupal.com, be a shiny landing page and dispatcher for people looking for places to start.
  6. We’re in the process of moving our sites and infrastructure from private servers to a server rented by the Drupal-Initiative, and to build a redundant and empowered team of sysadmins and developers who can maintain our current and future sites in a structured and sustainable way.
  7. If Berlin is selected to host DrupalCon 2011, the Drupal-Initiative and it’s members will likely have a large role to play. We’re ready!

Special thanks to Daniel Niehaus for taking the lead with organizing the sprint. When you meet Daniel, make sure to ask him why his nickname is Jack Plain - it’s a worthy story =)

Playing with Drush Make

Drush and Drush Make belong in every Drupal developer's toolkit. This is a make file that will build the following:

  1. Drupal 6.14 (or latest)
  2. ApacheSolr module
  3. SolrPhpClient hosted on code.google.com
  4. Acquia Connector module (from Drupal.org)
  5. Acquia Search module (from Acquia's svn repository)

This demonstrates four different methods for downloading code, from three different sources.

To execute, install Drush, install Drush Make, then run the attached file like this:

drush make search.make

To specify an output directory, add the path as an extra parameter:

drush make search.make /var/log/www

To see what's going on, use the -v flag for verbose output:

drush -v make search.make

Here's the content of the make file:


core = "6.x" 

projects[] = "drupal" 

projects[] = "acquia_connector"

projects[apachesolr][download][type] = "cvs"
projects[apachesolr][download][module] = "contributions/modules/apachesolr"
projects[apachesolr][download][revision] = "DRUPAL-6--2"

projects[acquia_search][type] = "module"
projects[acquia_search][download][type] = "svn"
projects[acquia_search][download][url] = "https://svn.acquia.com/drupal/branches/1.x-6.x/modules/acquia/acquia_search/"

libraries[SolrPhpClient][download][type] = "get"
libraries[SolrPhpClient][download][url] = "http://solr-php-client.googlecode.com/files/SolrPhpClient.r22.2009-11-09.tgz"
libraries[SolrPhpClient][destination] = "modules/apachesolr"

Plans for DrupalCon Europe, 2010, 2011, have been ratified

Today was a big milestone for the Drupal Association and for the future of European DrupalCons. Over 70 people met in IRC for over two hours to discuss and ratify two documents which lay out the process by which we will select DrupalCon locations going forward, and how the production teams to run DrupalCon will be managed. These are the two documents:

If you belong to a local group somewhere in Europe and you want to see DrupalCon happen in your city, region, or country, read both of these documents carefully. The time for nominating locations is now open, you can read the exact details of how it is done via the links provided above. Nominations must be submitted before October 1. That means there are only six full days to work on proposals. Nominations are being taken for both 2010 and 2011. The nominations will be evaluated, as per the plans in the documents, by October 15. They then get submitted to the Drupal Association Board of Directors, who have to meet and ratify the suggestions.

The important point in all of this is the level of openness and transparancy that is being brought to the system. The Drupal Association is working hard to involve the community in decisions, and to have well defined proceses for making important decisions, like where DrupalCon is held. Today we had a great discourse, thoroughly discussed all of the points that were important to people, and came to nearly unanimous agreements about how things will be done. That is what makes Drupal a nice community to live in.

DrupalCon Europe: Help plan where and how

Help us decide how DrupalCons in Europe are planned and produced. The draft organizational document is open for feedback and discussion. We’re having an IRC meeting for live discussion in #drupalcon on either Wednesday Sept. 23 or Thursday Sept. 24. If you want to attend please note your availability so that we can schedule the best time for the most people.

Nice Lobster at DrupalCon Paris

Among the notable celebrities to appear at DrupalCon Paris was the one and only Nice Lobster. The epic tale of DrupalLobsterCon has been recorded and told graphically by Jam (aka HornCologne), and is included below for your amusement.

The Path to Drupal - equating extensibility with success

Some time ago I wrote an article that looks deeply at the Drupal path system and shows how easy it is for new developers to hook into a running Drupal system. I explore the idea that this openness and extensibility is a key factor in winning large numbers of developers to work on Drupal, and that this is one of the reasons the project is succeeding. The paper is now available at Acquia, beautifully formatted as a technical whitepaper. I’m very happy with this article and am excited to finally have it available. It’s well worth the short survey you’ll be asked to complete before you can download.

Download the complete whitepaper (Registration required)

Three scholarships to DrupalCon Paris available for Germans

The Drupal Initiative* and the DrupalCon Paris team are offering three scholarships to DrupalCon in September. Applications are open to Germans who are willing to lend a hand with running the show during the conference. We’ll be there as the “Drupal Initiative Team” to show support for the great work being done, and to help DrupalCon rock a little bit more. The scholarships include a complimentary entry ticket for all 5 days of the conference, and a 50 Euro stipend to help offset travel costs. Apply here by the end of the day, August 2nd.

*The Drupal Initiative, e.V., is Germany’s non-profit organization dedicated to the growth of Drupal in Germany.

Searching for an Apache Solr DRUPAL-5 branch maintainer

If you are interested in being the branch maintainer for the Apache Solr project, please contact me. There are a number of open issues and a proper 1.0 version has never been released. The usage statistics show 87 sites depend on the D5 version of the module. The module is a significant fork from the DRUPAL-6 branch.

My DrupalCon Paris session proposals

DrupalCon is an important event for Drupal, and if you are a Drupaller, it’s a good idea to attend. I’ll be there, and I’ve proposed three sessions. In each case I’m teaming up with an awesome co-presenter to tell you about exciting techniques and technologies that make Drupal kick that much more ass. Here they are, with the links to the session pages on the DrupalCon Paris website.

Redirect to "destination" after submitting a multi-step Drupal form

For the HelpInject module I needed a multi-step form. This is pretty easy in Drupal 6. The problem I encountered was that the “destination” parameter was no longer being honored, and the form was submitting to itself after the last step. It was supposed to be redirecting to “destination”. Here’s the code that made it work. The tip is to unset $form_state['storage'] after you’re done with it because for some reason that’s FAPI’s litmus test for whether or not to redirect.

<?php
// The form is built like this
function foobar_form(&$form_state, $type) {
  if (empty(
$form_state['storage']['foo'])) { } else {  }
}        

// The submit handler follows a similar pattern.
function foobar_form_submit($form, &$form_state) {
  if (empty(
$form_state['storage']['foo'])) {
   
$form_state['storage']['foo'] = $form_state['values']['foo'];
   
$form_state['rebuild'] = TRUE;
  } else {
    ... do
CRUD ...
   
// if you want your form to respect destination,
    // unset the storage.
   
unset($form_state['storage']);
  }
}
?>

Syndicate content