[wp-hackers] Taxonomy Schema Proposal
Steve Lewis
stevelle at gmail.com
Tue Apr 17 17:48:54 GMT 2007
On 4/16/07, Jamie Talbot <wphackers at jamietalbot.com> wrote:
>
>
> In the trac ticket, it was initially thought that synonyms could be a
> feature added by a plugin.
At this point the API and upgrade patterns suggest that adding columns to
existing tables is a dangerous thing for plugins to attempt. I wanted to at
least air that here. It could be addressed a number of ways, but making
sure the topic is explored earlier then later seemed wise.
term_group bigint(10) NOT NULL default 0
I would suggest alias_term_id as a column name, but a self-join was my first
thought. Using the word 'group' is very often a gateway to pain IME. That
word is just too easily overloaded and vague, though the idea of using this
as a lever to achieve translation is clever I have to admit. This solution
is distinct from the category type of hierarchy in that you only need to
manage a level of depth of 0 and 1. That means when you add a new alias,
you only alias to root terms, not to aliases. That simplifies the interface
and the data model tremendously.
Lookup by slug is easy.
Notice I slipped a trick into that one. You don't know if 'products' is a
tag or a post category or ... based on the URL. It isn't clear that we
should care.
> Lookup by both is still easy, but a bit more inefficient as you'd have to
> do an IN(term_ids) based on all the returned tags from the above query.
Couldn't you just self join, take the 'parent' term_id, and then lookup
objects based on that term_id? No need for an IN clause if the 'parent'
term_id points at itself, as you suggested in your reply. Of course getting
that inserted id into the alias column is it's own challenge. :)
--
SteveL
More information about the wp-hackers
mailing list