[drupal-devel] Core Folksonomy: First Code Available

Julian Bond julian_bond at voidstar.com
Wed Mar 16 14:12:12 UTC 2005


Morbus Iff <morbus at disobey.com> Wed, 16 Mar 2005 07:36:17
>With that said, after the core patch, I'll begin working on a new 
>contrib module called "taxonomy_similar" (or something) to display the 
>"Similar Keywords" I need. Perhaps you could do a "taxonomy_mytags", 
>module based around the term_node.uid addition (which, in my current 
>core patch, doesn't work, but should tonight or tomorrow)?

Let's try and pull this together.

- Use taxonomy tables. With two additions:
1) Add a UID field to term_node.
2) Add a flag on vocabulary. "Folksonomy"

- Extend taxonomy.module. My reading is that the following issues will 
arise:-

Required
1) Taxonomy_form needs to provide a choice of input field depending on 
the folksonomy flag. If it's turned on then it uses a form_textfield 
rather a form_select for each folksonomy vocabulary that is valid for 
this node type.

2) _save() needs to iterate through the returning comma delimited 
strings from the new text fields. It splits them, cleans them up and 
then creates new entries in term_data if needed. This will need some 
helper functions to convert from comma string to clean array of 
tids/names and back again.

The list of tids is then passed to the existing _save() code to create 
entries in term_node. This should also set the uid value on term_node.

Optional
3) Term display and edit is turned off in admin_overview for folksonomy 
vocabs. This is optional and is waiting for a better way of displaying 
and editing the expected very large numbers of terms in a folksonomy 
vocabulary.

4) The term display on nodes is improved so that terms from vocabs are 
grouped by vocab and have an optional vocab name before them. Hidden 
text links are added to provide technorati with something to scrape and 
find the tags for this node.

5) A hook in the save() code populates term_relation to provide "tags 
like this one" cluster analysis and navigation.

6) A hook in the _form_all() code makes it easy to extend the $help 
description with suggested terms from Most used terms, My terms, Related 
terms, Synonyms and anything else we think of later.

7) Contrib modules get built that add things like a Most popular terms 
page, All terms page, a block for navigating related and my terms for 
the current term page, links to technorati and so on.

8) Work is started on "nice" URLs for taxonomy category pages. eg
/taxonomy/fterm/horse+riding
  //"horse riding" from any vocabulary
/taxonomy/vterm/keywords/horse+riding
  //"horse riding" from the "keywords" vocabulary
/taxonomy/vterm/keywords
  //All nodes with a term from the "keywords" vocabulary

-- 
Julian Bond Email&MSM: julian.bond at voidstar.com
Webmaster:                 http://www.ecademy.com/
Personal WebLog:          http://www.voidstar.com/
M: +44 (0)77 5907 2173      T: +44 (0)192 0412 433
S: callto://julian.bond/



More information about the drupal-devel mailing list