[development] Taxonomy2

Jeremy Epstein jazepstein at gmail.com
Thu Mar 30 04:00:57 UTC 2006

On 3/30/06, Jeff Eaton <jeff at viapositiva.net> wrote:
> I have to confess that I've been following Category's development, and
> while I can attest to the developer's dedication, I don't think it's a
> good idea. At its core, it's a hack that merges book and taxonomy
> functionality without re-assessing the underling architecture. It makes
> sense as a contrib module for sites that really need it, but I think
> moving core in that direction would be a mistake.
> Far better, IMO, to explore a more robust relationships system that
> *encompasses* taxonomy-style metadata and book-style relationships (as
> well as other stuff). There are a couple of projects along these lines
> already. If there's talk of revisiting something as fundamental as
> taxonomy, make the project worth the effort.
> --Jeff

I know what you're saying, Jeff, and believe me it's something I've
thought about more than a few times over the past year. But at the end
of the day, developing an "all-encompassing" relationships system is a
very ambitious task, and one that will take much more development
effort than I've put into the category module.

The biggest problem will be backwards-compatibility. If we redesign
Drupal's categorising / structuring / relationship system from the
ground up, how hard will it be to bridge the gap between this new
system and the old book/taxonomy system? My guess is that it will be
pretty hard. Category, on the other hand, has achieved full
backwards-compatibility (through the wrapper system, and through
category_legacy) quite easily, because its API is simply a merged and
modified version of the API that book and taxonomy use.

Category is a more powerful system than book and taxonomy, and yet its
new storage schema maps easily to the old schemas, and its new API
maps easily to the old APIs. The price of this backwards-compatibility
is that, yes (I admit), many of the problems with the old APIs and
data structures still exist, and haven't really been solved. But then
again, many of the benefits of the old APIs (such as years of testing
and refinement) are also being carried through to the category system.

It would be awesome if we had a "perfect" new relationships system,
and if that fresh new system was able to achieve full
backwards-compatibility with taxonomy and book (and various other
things, such as comment and possibly user). But that is a task that I
don't feel capable of taking on: if other people feel that they're up
to it, that's great.

If we are ever to replace the book and taxonomy modules in core with
something more powerful, then there absolutely MUST be an upgrade
path. If a new relationships API isn't able to achieve that, then it's
simply not practical. Sorry to sound so negative about it, but
building such an upgrade path is a task for which I personally don't
see the light at the end of the tunnel.


More information about the development mailing list