[drupal-devel] Schema Changes for a Shared Taxonomy OTF/Folksonomy
morbus at disobey.com
Wed Mar 9 22:41:46 UTC 2005
I'll be working on this folksonomy thing a lot quicker than I expected.
I'm not sure if that's a good thing or a bad thing, sadly - there seems to
be four (mine, moshe's, jbond's, and atf's) current thoughts on how it
should work. Anyways, I was doing some thinkwork on "my vision" today
which, to recap, includes:
* multiple folksonomies ("realms" per jbond; "vocabulary" per Drupal).
* tags are unique to a unique folksonomy (but, see below).
* users share tags per a unique folksonomy/vocabulary.
(note, however, that the admin could see create two folksonomies,
assign them to different node types, or even to the same type,etc.,
and "funny" could be a unique value in two different folksonomies.)
With that said, it appears that two taxonomy tables would change:
* The first would be "term_data". It would include a new "uid"
field which would be the uid of the user who created the term.
In vocabularies that were not folksonomies, uid would be 0.
* The second would be "term_node", which would need a new "uid"
column as well. This would represent the uid that assigned
the tid to the nid. This is the change that concerns me:
* instead of just one tid (3)/nid (5) relation in a normal
vocabulary, this change would potentially allow an
infinite number, as multiple uids apply the same
tid to the same nid.
* theoretically, if the tid's vid (this is fun to say!)
is not a folksonomy, then the uid would be 0, as before.
but, I can see the uid being useful regardless. If
multiple admins are editing a nid, then it could be
quite useful to see that uid (45) added tid (12), and
then, a day later, uid (23) decided that tid (15) was
equally as relevant.
With the above changes, the following would be possible:
* a "my users" page would be easiliy implemented by just
grabbing all term_node's that match the $uid (presumably,
we wouldn't need a join here as the $user object would
be loaded normally).
* ownership of tags is possible by checking for
the uid of the tid in the term_data table.
* All relations/synonyms would utilize the same old code.
* We don't have to rely on the taxonomy UI, because the
vocabulary.module would be "folksonomy". In 4.6, it'd
be hidden in the standard "categories" menu, and we can
focus on just the UI and added features in folksonomy.module.
Morbus Iff ( you are nothing without your robot car, NOTHING! )
Culture: http://www.disobey.com/ and http://www.gamegrene.com/
Spidering Hacks: http://amazon.com/exec/obidos/ASIN/0596005776/disobeycom
icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus
More information about the drupal-devel