[development] Proposed Apocrypha

Greg Knaddison greg.knaddison at gmail.com
Thu May 7 15:25:53 UTC 2009

On Thu, May 7, 2009 at 9:12 AM, Ivan Sergio Borgonovo
<mail at webthatworks.it> wrote:
> On Thu, 7 May 2009 09:23:48 -0500
> Jeff Eaton <jeff at viapositiva.net> wrote:
>> Crell's Law: If an API must be use-case-optimized, make it
>> swappable & tailor the default for cheap shared hosting. High-end
>> sites can swap.
>> Eaton's Corollary: If an API is swappable, write two
>> implementations. APIs with one test case are rarely flexible
>> enough for the second.
> If you want to make stuff swappable start at least with 3
> implementations otherwise 2 will just be a special case of 1.

We have to temper the ideal with reality.  We have several swappable
systems in Drupal (database, mail sending, caching, others?) and as
far as I know only one of them has multiple backends in core
(databases).  We are able to have multiple backend for databases, but
it takes a lot of effort.  I doubt we have the capacity to create not
just 2, but 3 implementations for all of the other swappable items in
core.  There's also the question of baggage. Do we really want to
merge SMTP [1] and Fastpath FSCache[2] into core?  Would that be a
total improvement?  Would the additional complexity (usability
decrease) be worth it just so we can satisfy a desire to properly test
that APIs?

And three cheers for Crell's Law and Eaton's Corollary.


Greg Knaddison | 303-800-5623 | http://growingventuresolutions.com
Cracking Drupal - Learn to protect your Drupal site from hackers
Now available from Wiley http://crackingdrupal.com

More information about the development mailing list