NAME
Fry::Lib::CDBI::Tags - A Class::DBI library of Fry::Shell for dealing with tables containing a tag column.
DESCRIPTION
These functions deal with tables that contain tags. A tag is a keyword associated with a row. Usually there are multiple tags associated with a row. Currently all tags for a given row are put in one column 'tags' (name can be changed via $tag_column) delimited by a comma (changed via the variable tag_delimiter). This is a temporary solution since the table isn't normalized due to the multivalued tags column.
How could I use a tagged table?
Mainly as a mnemonic device. For example, I have a table that contains all CPAN modules. To easily remember a module I'll tag it with words like 'handy,todo,try,dbi'. These tags serve as categories for a given module and thus serve as a good memory aid when trying to remember a module that's 'on the tip of my tongue'.
COMMANDS
Note: @search_term indicates same input syntax as search commands in Fry::Lib::CDBI::Basic
Search based
tagcount(@search_term): returns groups of tags, grouping them by count
tagname(@search_term): returns tag count for every tag
auto_outline(@search_term): returns an outline result of the top $otlnum tags for the given search
Ie if a search ('tags=perl) 's three most numerous tags are
'dbi,magazine,sites', this function would return a result as follows:
dbi
#results containing tags dbi and perl
magazine
#results containing tags magazine and perl
sites
#results containing tags sites and perl
sorted_tag_list(@search_term): returns list of sorted tags
Menu based
tagname_obj(@cdbi): returns &tagname output
tagcount_obj(@cdbi): returns &tagcount output
SEE ALSO
Fry::Shell,Fry::Lib::CDBI::Outline
http://del.icio.us is a community bookmarking site which uses tags heavily.
Rubric is a CPAN implementation similar to it.
TODO
Normalize the tags column by adding another table to add a LOT more functionality to tags.
AUTHOR
Me. Gabriel that is. If you want to bug me with a bug: cldwalker@chwhat.com If you like using perl,linux,vim and databases to make your life easier (not lazier ;) check out my website at www.chwhat.com.
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.