2 popular ways of tagging content
| Project: | Community Tags |
| Version: | HEAD |
| Component: | User interface |
| Category: | feature request |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | closed |
Jump to:
Hi guys:
Basically I see 2 popular ways of tagging nowadays.
If you have time have a look at how www.flickr.com is doing it.
You add a photo, add your tags and they are added to "your tags" tagcloud. That's it. Nobody adds any more tags to your photos.
In http://del.icio.us
a user posts a link with some tags, other users can add tags to this link which is then displayed in their bookmarks along with their tags but the original tags for the link are not touched and they dont display other users additions.
I think it is nice that you can tag nodes but the original author maybe doesnt want his node to display how other people tagged their node.
So there are 2 popular ways nowadays:
1. You post and add tags to a node. Nobody can tag it afterward. You have a "My tags" tagcloud that links to related nodes. Tags you add are part of the global tag cloud.
2. You post and add tags to a node. Others may also add tags to it but these tags dont show up in the node page to everybody. You only see your tags but the node still has its original tags. You also have a My Tags tagcloud that links to the nodes you tagged but these nodes display their original tags and separately your tags. If you are an anonymous user you only see the original tags. All tags are added to the global tag cloud too.
Currently I have a project on hold until this module is released which I this is essential for "Community Plumbing".
I contributed a little to Robroy for the development of this module and I wanted to thank you for working on it.

#1
What I'm shooting for, at least for the first iteration, is:
1. Turn on/off "community tagging" per node type. If this option is turned on, then users with the "tag content" permissions will see a little form on each node page of that type so they can add their own tags in addition to the tags that the original author chose.
2. A theme function which outputs "tag cloud for this node" which has the tags that more users have picked in higher font sizes than those tags that fewer users have picked.
3. A theme function which outputs "tag cloud for this node type" that's the same, except across all nodes of that type.
Adding in a theme function for "tags that this user has tagged other content with" shouldn't be that big of a stretch; however, it's not a requirement of my client so I won't be working on it. :\ I'm sure myself or one of the maintainers of this module would accept a patch which added it in, however. :)
However (again), the Flickr use case actually sounds different than that; it sounds like you're looking for a tag cloud for just "tags this user has applied to nodes they have authored," which might be something you'd probably just use a tagadelic API function call in your theme to build and be done with it. This module's more specifically about users tagging other users' content; something they can't currently do in core.
That's where I'm at, anwyay. It's possible that one of the other folks will be adding in the functionality you describe.
#2
Actually I ended up creating a theme function to do 1 and 2 above, plus the "tags this user has tagged other content with" because it ended up being really easy. This was committed in http://drupal.org/node/90588. So if you want to add this to a user profile you'd just throw a call like this into a block or a theme override or whatever:
<?phpif (arg(0) == 'user' && is_numeric(arg(1))) {
echo theme('community_tags', 'user', arg(1));
}
?>
Not sure if I can mark this 'fixed' or what to do with this issue...
#3
The Flickr way of tagging things is nice and also having users tag anybodys content as long as they can have a "My tags" cloud that can be shown on their user profile. You are browsing content, tagging it and afterwards you check your tags to be able to access it again. In a way you reorganize the content as you like which is a very nice feaure.
I think there is a module called awtags for 4.6 that got the concept right but some said that the code could be improved.
I love that this this module is being worked on. It is a must have nowadays.
#4
This looks like a nice module, I'll try it. One thing I'd like to know is when there are many many tags, as the applications that this module aims for, will it make Drupal much slower?
Anyway, I was skimming through the codes just to see how it works and I saw that maybe a "break" is missing in the codes below:
function _community_tags_get_tag_result($type = 'global', $limit = NULL, $args) {// other codes ...
case 'user_node':
$arg1 = (int)$args[2];
$arg2 = (int)$args[3];
$sql = "SELECT COUNT(c.tid) AS count, t.tid, t.name, t.vid FROM {term_data} t INNER JOIN {community_tags} c ON c.tid = t.tid WHERE c.nid = %d AND c.uid = %d GROUP BY c.tid ORDER BY count DESC";
default:
$sql = "SELECT COUNT(c.tid) AS count, t.tid, t.name, t.vid FROM {term_data} t INNER JOIN {community_tags} c ON c.tid = t.tid GROUP BY c.tid ORDER BY count DESC";
}
#5
Changing to Fixed: No activity in 2+ years, plus the feature (as I understand it) is more or less already a part of Com Tags.
#6
Automatically closed -- issue fixed for 2 weeks with no activity.