The pain before the pay-off

Invariably, breaking programming interfaces creates a lot of pain, and the habitual willingness to change Drupal's programming interfaces is routinely identified as one of the main issues with Drupal.

For example, rewriting Drupal's form handling from Drupal 4.6 to Drupal 4.7 broke hundreds of contributed modules. And when it turned out that updating those modules was a much bigger effort than anticipated, hell broke loose. It led to quality problems, made release dates slip significantly and hordes of frustrated users were unleashed.

Today, two months after the Drupal 4.7.0 release, Drupal developers around the world are slowly recovering from the pain. We're not quite there yet but more and more people assert that the pay-off is huge and that they are thoroughly enjoying themselves with the new possibilities.

So let's capture that thought for future reference. Sweeping changes are required to make major advances in technology, and often times there is a lot of pain before the pay-off.

Comments

Robert Douglass (not verified):

Sounds like you're about to commit a big patch and break things again. ;-)

July 27, 2006 - 17:13
ted (not verified):

I agree 100%. Without those sweeping changes, many of the sites I've recently built, including the TWiT.tv and the forthcoming MTVUK site, would have been nearly impossible (well, without hacking core that is).

Not only that, but a major rewrite like that forces module owners to rewrite and hopefully, rethink their modules as they fix them. This usually results in better functioning modules, but this comes at the price of waiting so long for them to be updated :-)

Although, I don't see any sweeping changes as big as forms api coming anytime soon, I think we all need a break ;-)

July 27, 2006 - 17:34
Rick Hood (not verified):

As someone who is new to Drupal (4 months) I can say I am moving to both PHP and Drupal from 7 years of ASP/VBScript because of how good Drupal has become - in particular with 4.7, CCK, Views, etc...

So, while it is very tough for the reasons you mention, it is good for bringing in people like me to Drupal.

Much thanks for all you have done on this and to all the people who have contributed. I hope I can become good enough at this to contribute myself (I have a ways to go).

July 27, 2006 - 17:44
Khalid (not verified):

It was painful but worth it.

Just last week I did something for a client that would not have been possible without Forms API (inject a custom field in an existing node type, and do special validation and such).

If this was 4.6, I would have had to create a custom type just to add one field.

July 27, 2006 - 18:58
Steven (not verified):

You wrote: So let's capture that thought for future reference. Sweeping changes are required to make major advances in technology, and often times there is a lot of pain before the pay-off.

The sweeping changes... is dead on, and yes, there will be pain shortly after the change in API, but it will get much worse, much later if backward compatibility is your only concern. I know, I'm working on some of these issues for the moment, as a contractor.

July 27, 2006 - 20:02
George (not verified):

Those major changes in FAPI and the resulting rewriting of almost all modules are the reason that I think that the 4.7 version was better released as a 5.0 version. I can image that many (module) developers are holding on to their chair and their hats in anticipation of the changes to be released in 4.8/5.0... ;)

August 18, 2006 - 15:56

Add new comment

© 1999-2014 Dries Buytaert Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.
Drupal is a Registered Trademark of Dries Buytaert.