[development] RFC: drupal as a moving target

Earnie Boyd earnie at users.sourceforge.net
Tue Apr 29 12:28:36 UTC 2008


Quoting Earl Miles <merlin at logrus.com>:

> Ivan Sergio Borgonovo wrote:
>> It doesn't work for me. I don't want and I can't get so involved in
>> Drupal core dev. It is over my possibility.
>>
> Drupal is a meritocracy. In general, those who do very much resent 
> being told what to do by those who don't do. If you are firmly in the 
> camp of don't do, that also puts you in the camp of "doesn't get to 
> tell the rest of us what to do."
>

Drupal is a large complex system that others who don't have time to 
code to contribute modules for.  When "those who do" can't take time to 
listen to "those who don't" without getting a burr UTB then perhaps the 
"complex system" becomes a for private use toy.

I've resisted getting into this conversation but there are those of us 
who really use and love Drupal but who don't have as much experience 
with the complex system source as others do.  We don't make a living on 
writing Drupal code and we take offense at "those who do" when they 
burn with hate for "those who don't".  I "do" when I have a few moments 
which aren't many but I have submitted some patches.  One I submitted 
which was applied to CVS caused an issue with other API and has 
inspired others who "do" much more than I to revamp some code and API 
for much needed improvement; thank you Károly.

Ivan's point is a good one.  I've rectified the expense that Ivan and 
others has talked about by minimizing the changes to my module with the 
changes to the Drupal API by creating an API wrapper for the module.  
Sort-of a module library providing the module with its own API.  Then 
when the Drupal API changes the only changes I need to make are to the 
module library.  The module library can even support backward 
compatibility for different Drupal versions.  Ivan, you need to think 
outside of the Drupal documentation box.  Consider Drupal as a 
convenience library to perform a task, writing your own library for 
your modules, because it helps eliminate the number of places to recode 
when the convenience library changes its API.  That is how you would do 
it with other programming languages like C.

Drupal changes its major version number because the policy is to change 
the API to improve it.  As a developer you should be aware that there 
are breakage points within your own code that need to be reworked when 
upgrading to a new version.  Your task is to minimize the places within 
your modules, especially the complex ones, so that you don't have to 
redo everything.  Code the Drupal hooks so that they are wrappers to 
your modules API.

Earnie -- http://for-my-kids.com/
-- http://give-me-an-offer.com/



More information about the development mailing list