[development] RFC: drupal as a moving target
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/
More information about the development