The drop is always movingYou know that saying about standing on the shoulders of giants? Drupal is standing on a huge pile of midgetsAll content management systems suck, Drupal just happens to suck less.Popular open source software is more secure than unpopular open source software, because insecure software becomes unpopular fast. [That doesn't happen for proprietary software.]Drupal makes sandwiches happen.There is a module for that

We should finish the split of DrupalCon

Submitted by nk on Thu, 2011-10-27 16:08

DrupalCon should be two parallel conferences, one of sessions primarily directed towards business and a free core conversations track. This split is mostly complete: we have had a core conversation track, often in physically separate spaces for the last few DrupalCons. Now we had a session deadline that made it totally impractical to submit any session carrying any value to fellow contributors. The last step is to introduce session only tickets and adjust the focus a little.

How do you handle a small budget site?

Submitted by nk on Sun, 2011-10-16 04:20

There's a website I got involved with -- I built the first version on Drupal 6, with a hacked location_search module (for free). It kind of works, I am not proud of it but surely there are a lot worse sites out there. It's about 1000 nodes with some location search and mapping. The site owner has about 6-800 dollars to get it ported to D7 and clean it up. First we tried with a Hungarian guy who was inept in it. Then another Hungarian company which did some progress (still on D6) but simply disappeared after some time.

Making a new site appear within the old

Submitted by nk on Sun, 2011-09-25 03:40

I have created a version 2.0 site and the owner wanted the two to live on, keeping the existing v1 pages read-only because the migration costs couldn't be justified. The new site should appear in the same domain -- no subdomains. Yes, even this can be done with Drupal 7 without hacking core with a little help from Apache.

Cloud computing: the triple fallacy

Submitted by nk on Sat, 2011-09-03 11:52

I have more than once tried to raise my voice against the overwhelming hype of cloud computing especially when sold to startups. I just found a non-tech article that seems a good excuse to write this post I had in my head for some time. I have read the following reasoning many times:

  1. You need to care about scaling from day one.
  2. There is an easy way to scale.
  3. This way is the cloud.

Each of them are wrong.

The Drupal Massacre

Submitted by nk on Thu, 2011-09-01 19:25

Blog module has been stabbed in the git! Profile is dead! The rebels have their hands on trigger! Are these the days of Drupal Armaggeddon?

The Drupal 8 action plan

Submitted by nk on Fri, 2011-08-26 07:34

Condensing my previous post and other happenings into a shortlist.

  1. We cut out the really unused product modules immediately. This is ongoing and a consensus is forming around the imminent death of blog, dashboard, php, profile, shortcut, statistics and trigger.
  2. We find maintainers or do a quick refactor for the modules listed in the previous that stay. The goal here is the stabilize bleeding patients but nothing more. This seems to be ongoing, yesterday I saw a guy on IRC who was contemplating on taking the forum module maintainer hat.
  3. With the "kernel" team now free, we focus on reworking our "kernel" (don't call this a framework -- maybe later, maybe never) to something nice. This is ongoing with the Configuration Management and the Web Services initiative.
  4. Meanwhile, people rally around onramp profile (nee snowman). This seems to be a rather nice idea with a proper process: list of personas, user stories, specification before coding. The works. If this comes to be, we can cut more of the current product modules. This seems to be ongoing, there are people interested in this enough to give it a good name instead of a joke. This is something we definitely need help with and there are people who do these steps day in, day out, please head over to the group and participate.

Getting Drupal out of the crisis

Submitted by nk on Wed, 2011-08-24 18:41

We have written some very frustrated blog posts. Time to reflect on them and outline some causes and plans to move forward.

1. Why are we so frustrated?

There have been a small number of people consistently fighting the major/critical bug queue for a long time. We got Drupal 7 released (through patching and reviewing some 8000 issues) but after that we needed to continue the bug fighting and this really got on people's nerves. For example the upgrade path has been critically broken for two years without a break.

Is it time to fork Drupal?

Submitted by nk on Mon, 2011-08-01 08:14

First this is not a personal critique of anyone. These are just some of the things that seem hopeless right now

  1. There is no place to have a meaningful architecture discussion which core contributors frequent. It was the developer mailing list some time ago.
  2. If an issue is not a relatively straightforward bugfix, it has little chance of getting in. Sure, Dries has two kids and two companies and I can understand that -- this is not a critique of Dries. He became a bottleneck none the less.

How I want to help Drupal core development onwards

Submitted by nk on Mon, 2011-07-18 06:51

Right now I can't feel writing anything new major -- however, one of the reasons issues get stuck because it can get tricky to write tests for them. So if your issue gets stuck in the CNW -- Needs tests state, give me a shout.

Test the Views integration of your module

Submitted by nk on Mon, 2011-07-11 04:50

This might be an old hat to those who are used to creating Views in code, but for me this is a nice new trick. So first create a view in the UI, export it and then cut it down mercilessly. There's extremely little necessary to get a View up and running if you dont care about the display and just want the raw results. First you need

= new view;
$handler = $view->new_display('default');

Then a field:

$handler->display->display_options['fields']['nid']['id'] = 'nid';
$handler->display->display_options['fields']['nid']['table'] = 'node';