Tags:
create new tag
, view all tags

Archive of TagMePluginDev Discussions

The idea of a TagMePlugin sparked in Codev.Folksonomy. The idea is to add tagging feature to TWiki topics. On tags, Each topic could show - say - the 5 most popular tags that people associate with the topic. It is better to store that data out of band, so that the topic revision does not change with each tagging action. Audit trail is probably unwanted for tagging.

Spec of TagMePlugin, Iteration 1:

  • Add a new "Tags" field of type label to topics with forms
  • The label has value %TAGME{}% variable that gets expanded to the current list of popular tags
  • Topics without form can list a %TAGME{}% variable anywhere in the topic, or even in the skin or sidebar
  • Example expanded %TAGME{}% variable in a form:
    Tags: skin(5), cairo(2), usability(1), add
    Note: The number indicates then number of people who tagged the topics with the same tag
  • Clicking on add pops up a small window to add a new tag. Simulated form:
    Add new tag
    For topic: Web.SomeTopic
    Existing tags: skin(5), cairo(2), usability(1)
    Add my own tag: previously used tag or new tag
    Note: The red tags indicate my own tags for this topic
  • Submitting the form will close the popup and redisplay the originating topic (with updated tags)
  • Associating tags with topics:
    • Tags are tracked per topic and per user; a topic has this example tagging data associated with it:
      • cairo: user1
      • skin: user2
      • skin: user3
      • usability: user1
    • For display, more popular tags (e.g. more users using the same tag) are shown first
    • A limit can be set to show only - say - the 5 most popular tags

Implementation:

  • All display and action is done with a %TAGME{}% variable, with parameters:
    • action="" parameter:
      • action="" - empty parameter shows the tag list associated with the topic
      • action="form" - shows the form to add a new tag
      • action="add" - adds a ne tag to the current topic, and shows the same tag list as the empty action
    • tag="foo" parameter - new tag for =action="add"
  • Tags are stored in the attachment directory of the tagged topic
  • Tags used by a user are also stored stored in the user's home page's attachment directory, so that the list of previously used tags can be shown in the "Add new tag" popup

-- PeterThoeny - 19 Feb 2006

This model assumes people will tag the topic even if it is already tagged. But putting a tag on a wiki page is different than to add a bookmark on Delicious on a personal bookmarks page. If a topic is tagged with "skin", other people will not add "skin" as well.

Detail: Do not offer "new tag" next to the existing tags dropdown. People are lazy and just type in their word without looking up if it already exists. This will introduce spelling errors, word variants and plain duplicates. Instead offer the dropdown and a link to a page where tags can be added.

-- ArthurClemens - 19 Feb 2006

Spec Iteration 1 had this goal in mind: "Do something cool with wiki and tagging". Let us take a step back. What goal do we want to accomplish? what kind of problems do we want to solve?

  • Assertion 1: Intranet search does not work due to inadequate ranking of search engines on intranets. This is because there are typically not many cross-links between pages.
  • Assertion 2: Let the individuals build their own taxonomy to find content quickly
  • Assertion 3: Let the users do the ranking to get an "human intelligence" ranking of important content

Based on these assertions we can define a system that solves the primary issue of not finding content quickly. This applies to a wiki on an intranet, but it can also apply to a mid-size to large wiki on the internet, such as TWiki.org. Now lets define the requirements and redefine the spec:

Requirements of TagMePlugin, Iteration 2:

  • Any topic can be tagged by individuals -> create taxonomy for individuals
  • Show tag statistics of all users on each topic -> show popularity
  • Encourage users to reuse the same tag on a topic -> get a "collective ranking", or "vote for a tag", or "tag count"
  • Make it as easy as possible to increase the tag count
  • Make it as easy as possible to add a new tag to a topic
  • Search for topic by tag, sorted by tag popularity

Spec of TagMePlugin, Iteration 2:

  • Add a new "Tags" info text to every topic, in the sidebar or at the bottom (e.g. it can be easily added site-wide as part of the COPYRIGHT setting)
  • The tag info text is shown by a %TAGME{}% variable:
    • List of existing tags
      • Sorted by popularity
      • Limited to a configurable max, say the 5 most pupular tags
      • Each tag has a "check" icon if the user already voted for this tag, or a "plus" icon to add a vote on the tag (with a single click action)
      • Each tag has a tag count that shows how many people voted for the tag
    • A twisty section can be expanded to:
      • Show the complete list of tags
      • Add a tag used elsewhere
      • Create a brand new tag
    • Screenshots of tag info, with closed and expanded twisty section:
      tags1.gif

-- PeterThoeny - 19 Feb 2006

Good point Arthur on removing the add tag field.

The top bar is possibly a too prominent place. What is a good place for the tags?

-- PeterThoeny - 19 Feb 2006

Nice to be able to try it out directly!

  • How can tags be modified (in case of spelling errors)?
  • I would use the new =toggleopen-mini" button instead of the plus at the tags list, the plus is a bit confusing as it looks like "adding".
  • The tagging really belongs to the topic, and should be in the topic part. This could be at the top right, with a cookie enabled twisty (Dakar).

-- ArthurClemens - 20 Feb 2006

Arthur:

  • That is a limitation, currently only on the shell level (as documented)
  • The "+" icon has a "add my vote to the tag" function (as documented). Any idea for a better symbol to avoid confusion with "expand node"?
  • Not sure if it belongs into the topic text, it might get confused with content. Possibly into the sidebar?

Documentation bug: The Installation section on %TAGME{}% variable shold state:

  • Add the %TAGME{}% variable to the page decoration. It should be exactly of the form %TAGME{ tpaction="%URLPARAM{tpaction}%" tag="%URLPARAM{tag}%" }%. This should be done so that it is rendered for every topic, e.g. somewhere in the skin template, such as the WebTopBar. A good place is also the WEBCOPYRIGHT since it gets displayed by every topic view. Example setting in the TWikiPreferences:
    • Set WEBCOPYRIGHT = Tags: %TAGME{ tpaction="%URLPARAM{tpaction}%" tag="%URLPARAM{tag}%" }%%BR% Copyright © 1999-2017 by...

-- PeterThoeny - 20 Feb 2006

I still don't get the "vote" aspect for tagging pages. Why would people tag a page if it has been tagged already? What's in it for them?

-- ArthurClemens - 21 Feb 2006

The TagMePlugin is a perfect candidate for AJAX. Confluence implemented the tags very nicely using AJAX: http://confluence.atlassian.com/display/TEST/anonumousmm

-- RyanKnoll - 22 Feb 2006

Very nice indeed!

Note that confluence also doesn't use tag voting.

-- ArthurClemens - 22 Feb 2006

The tagging of confluence looks nice (they call it "labels"). I do not understand how that relates to AJAX, the implementation looks to me like plain server side content creation.

The TagMePlugin is not yet finished, therefore it is difficult to imagine the value of the vote count. Please read my earlier post, iteration 2.

An important question is "what is in for me" on voting. The primary incentives are two-fold:

  1. make it easier to access topics I am interested in, e.g. list "my favorites" (via topics I tagged)
  2. get a meaningful ranking order when listing all topics tagged with tag "foo"

Both feature implementations are pending.

-- PeterThoeny - 22 Feb 2006

Hmm, it only took a few days and we have the first case of tag-spam. Someone added tags httpwwwprcom and httpwwwypcom (you can guess the URL; all non-alphanum chars are stripped.)

-- PeterThoeny - 23 Feb 2006

Very interesting idea, this. Confluence allows for editing all labels at once as simple text when editing the page; might come in useful to have the tags available not only through the tag-form.

Btw: The AJAX is the stuff-that's-going-on-while-not-reloading-the-whole-page (i.e. "start-typing"-search, addition and removal of labels). I agree it's very nice / efficienty implemented in Confluence.

-- SteffenPoulsen - 23 Feb 2006

Editing all tags at once is simple to implement. My concern is that it makes it too easy to remove or change tags, thus makes the tag set too volatile.

On Confluence, I did not look into that much detail to discover the AJAX part.

-- PeterThoeny - 23 Feb 2006

I've listed a number of interface options:

Interface options

-- ArthurClemens - 23 Feb 2006

I have had a general concern about TWiki interface becoming too complex and generally "noisy" (lots of links, colors, etc). Something I like about the Confluence interface is that the basic display of tags if very low-profile and more options only become visible after clicking "edit".

-- LynnwoodBrown - 23 Feb 2006

Yes, the "no tag voting" variations are cleaner. Still one could think about the voting options to become visible after "Edit".

-- ArthurClemens - 23 Feb 2006

Thanks Arthur for listing the interface options.

Complexity of the UI is a concern; the reason why I suggested a Twisty. The number of votes can be moved into a tooltip, thus each tag is represented by a linked text and a linked icon.

-- PeterThoeny - 23 Feb 2006

No, if you choose for voting, then the vote count is important. But the vote buttons may be hidden at first sight, and shown after clicking a link "vote" or "edit".

-- ArthurClemens - 23 Feb 2006

My concern is that if we make the voting a two step action by moving the vote on tag button into a secondary screen we will reduce the rate of voting.

-- PeterThoeny - 24 Feb 2006

Note that "secondary screen" can be a folding out block. So you stay on the same page. The rest is a matter of copy: write "Vote" instead of "Edit", or use 2 links: "Vote" and "Add".

See mockup:

All tags, your tags, AJAX

-- ArthurClemens - 24 Feb 2006

Another idea: Make a hot tags topic that shows tags that moved up in the ranking in the recent x number of days.

-- PeterThoeny - 24 Feb 2006

Should the tags shown be hyperlinked to a topic page showing all the other topics with the same tag? That seems to be an importnat purpose of tagging - seeing what other topics have been tagged the same. That's how it is implemented on every tagging and social bookmarking site I've seen, and I think intuitively that is how people will want to interact with the tags.

-- RyanKnoll - 24 Feb 2006

Yes, that was the idea in the first place. I am working on it... smile

-- PeterThoeny - 24 Feb 2006

What about a default message if "view my tags" does not have any tags? Something like "You haven't yet added any tags." or "Your tag list is empty." followed by "Learn how to add your tags to topics."

-- ArthurClemens - 26 Feb 2006

Is there any order in the tag search results?

-- ArthurClemens - 26 Feb 2006

The default message is now "No topics tagged with this tag". Good point to change that to a more helpful message. Computer are supposed to help people, not the other way around.

Order of topics: Yes, that is where the voting comes into play. Ranking is based on the tag vote count, e.g. those topics with the most tag votes are on top.

-- PeterThoeny - 26 Feb 2006

Idea 1, Design 1, Implem. 3, Docs 1, Examples 1, Cleanliness 3

I don't think normal users will understand this tagging thing. I would not even consider installing it myself. When I saw it here on TWiki.org my reaction was "what is that?" And I am still not sure.

-- KennethLavrsen - 26 Feb 2006

I moved Kenneth's appraisal from TagMePluginAppraisal to here 1) to allow commenting on the appraisal, and 2) because Kenneth did not actually install the Plugin. From the timing it is not clear if Kenneth did the appraisal on the first version or second version of the Plugin. I use the "release often and early" methodology, with these steps:

  • Version 1, 20 Feb 2006: Proof of concept
  • Version 2, 26 Feb 2006: Feature implementation
  • Version 3, pending: Usability enhancements

Tagging is relatively new, and there is value in tagging. From my POV there are many benefits if wiki content gets tagged by the community:

  • Find relevant content in a large system quickly (TWiki.org has 45K topics) (assuming people tag topics of interest)
    • By identifying important tags in the tag cloud
    • By quickly accessing relevant topics in a tag search view, e.g. all all math topics
    • By quickly accessing related topics via related tags listed in a tag search view
  • Access my favorite topics quickly (assuming I tag topics of interest)
  • Solve the search ranking issue (or lack thereof in TWiki)
  • Help solve the stale content issue (old topics do not get tagged)

There is currently not yet a big value on TWiki.org since only a handful of topics are tagged at this point. If everyone adds tags while browsing TWiki.org we will soon get a tag set that brings value to the community and to individuals.

On documentation and examples, yes, they can be improved. Anyone can give a hand, this Plugin has a ModificationPolicy of PleaseFeelFreeToModify.

Last but not least, people seem to be interested in tagging, this Dev topic has over 30 revisions with a Plugin that is just one week old.

-- PeterThoeny - 26 Feb 2006

The font size in the tag clouds need to be tweaked:

  • If one tag is used much more than other tags, that tag is shown big, and all other tags are small
  • Font size of the "my tags" view is currently based on the overall use of the tag; it should be based only on "my used tags"

-- PeterThoeny - 27 Feb 2006

The tag cloud is a candidate for tabs (each tab header: title and the number of tags.)

-- ArthurClemens - 27 Feb 2006

Good usability point Arthur!

-- PeterThoeny - 27 Feb 2006

The tag names really should allow spaces. version control instead of versioncontrol, etc.

-- ArthurClemens - 01 Mar 2006

I have been looking at various taggging sites, some allow space, some not. I'd like to reserve space for other use; possibly allow underscore or dash instead?

-- PeterThoeny - 03 Mar 2006

I am not sure if this is TagMePluginHyperlinksBroken because I configured the plugin in wrong way or if it is some general issue in TagMePlugin and therefore I am puting this notice here.

Nice functionality anyway.

What concers spaces in tags I would prefer dashes or underscores.

-- DaliborSvoboda - 03 Mar 2006

If we support Google-friendly indexing, the tags should be visible in the url. Google interprets words separated by underscores as a phrase, and words separated by dashes as AND relation. So http://twiki.org/cgi-bin/view/TWiki/TagMeSearch/admin-tool is interpreted as admin AND tool, http://twiki.org/cgi-bin/view/TWiki/TagMeSearch/admin_tool is interpreted as "admin tool".

-- ArthurClemens - 03 Mar 2006

Adding a rel="tag" to the anchor would be technorati friendly. See http://www.technorati.com/help/tags.html .

-- MichaelDaum - 03 Mar 2006

I added the web="" and topic="" parameters mainly because of the Plugins web here. The WebHome and all the extension package index topics have now a tag cloud to make it easier to find extensions of interest. Many extensions are already tagged, but this requires more work so that we get an extensive categorization of the extensions.

Everyone please help tag the extensions (and add your tag vote to existing ones you feel should bubble up to the top.)

-- PeterThoeny - 04 Mar 2006

I've been tagging a few pages, and the UI is pretty good compared to assigning categories - really nice having this in TWiki.

One comment: can't work out how the list of all pages with a given tag is ordered - should be either alphabetical or by date (ideally either, with easy way of changing sort). Probably 'by date' is useful when trying to keep up with new changes (I'd find this really useful, as I18N is not a frequent topic and sometimes I miss things) - it would be even better to drive TWikiSyndication (Atom/RSS) and email notification off this date-ordered list. However, alphabetical ordering would be good for general navigation.

I'd really prefer spaces in tag names - underscores are just about OK, but as we've seen with Wikipedia, there's a lot of mileage in supporting spaces within names. After_all,_people_don't_write_English_with_underscores,_do_they?

I've also created an Interwiki link for TWiki.org so that you can link to Tag:tagging or Tag:internationalization - useful when commenting on an untagged page to highlight useful tag categories.

-- RichardDonkin - 04 Mar 2006

Of course there is a way of how tags are handled internally and how tags are represented. When representing, the tags should display spaces not underscores. Same goes for entering new tags.

-- ArthurClemens - 04 Mar 2006

Can I unvote for a tag on something?

-- MartinCleaver - 04 Mar 2006

I second the unvote vote

-- MeredithLesly - 04 Mar 2006

I must say this is very nice.

A suggestion: maybe allow boolean operations in TagMeSearch, e.g. "dakar AND installation" to get topics related to installing Dakar, "publish OR export" to get topics related to getting information to other formats, etc. Kind of like search.

-- PankajPant - 04 Mar 2006

Interwiki link: Good idea on Tag:name rule.

Underscore: For display it is easy to change underscore to spaces.

Unvote: That is already planned, "remove tags with browser"

And/or searches: Noted under suggestions.

-- PeterThoeny - 04 Mar 2006

What do you think about doing an RSS/Atom feed of a date-ordered list of tagged pages with a tag search? Once a tag is used a it, such feeds can be a great way of focusing on a particular subject's discussion and updates.

Also, as Arthur notes, it should be possible to use spaces on both input and output without problems (although it makes Interwiki a bit harder perhaps - not sure).

-- RichardDonkin - 05 Mar 2006

Date sorted tag feed: Good idea, noted at the top.

Space: Just for display planned, for Interwiki you still can write Tag:access_control

Tag order in default view: This is currently by tag vote, e.g. more important tags first. Agreed, alphabetical sort is better since the tag vote count is indicated anyway.

-- PeterThoeny - 05 Mar 2006

A cool way to display an alphabetical tag grouping is here.

I think it counts the tags per letter and tries to list them evenly into a maximum of 12 alphabetical groups.

-- RyanKnoll - 06 Mar 2006

Thanks for the pointer, useful if the list gets large. As indicated in the TagCloudPluginDev topic, this grouping could be done with from and to parameters.

-- PeterThoeny - 06 Mar 2006

This starts to become useful. Would like a similar easy interface for 'tagging' topics I'm interested enough in to get me informed about their changes via e-mail. Maybe this even can be combined with the MailerContrib already.

-- FranzJosefSilli - 07 Mar 2006

This will get very useful if more people help tag content, especially in the Plugins web and Codev web. I already added tag clouds to the extension package index topics AddOnPackage, ContribPackage, PluginPackage, SkinPackage so that it is possible to browse extensions by tags.

Good idea Franz on mail notification based on tags. Not sure how difficult/easy the implementation is though. RSS feeds can be done easily once we have the format parameter for TagMeSearch.

-- PeterThoeny - 07 Mar 2006

Indeed, very useful to combine the tag search with title search. Now I only miss the feedback on the results screen that a filter has been applied:
Searched for tag:skin | in web:Plugins | on topic:*Skin

About the position of the tags: new pattern skin has a TMPL:DEF BEFORETEXT. Could this be useful to put the tags in?

-- ArthurClemens - 07 Mar 2006

An indication that a filter has been applied needs to be done conditionally since it is a special case.

IMHO it is better not to put the tags too close to the main topic text, it could be confused as part of the text. A prominent but non-intrusive place is needed. Topbar is prominent, but is a bit intrusive. I am considering the top of the leftbar. A Twisty to expand/collapse the add/new tags will help in reducing the clutter.

-- PeterThoeny - 07 Mar 2006

It is not intrusive the way Confluence has implemented it. For TWiki it would be just below the breadcrumb. The breadcrumb is also not confused with the topic text.

The tags belong to the topic. They are not site-wide, so the top bar and left bar are not the right place.

-- ArthurClemens - 08 Mar 2006

See also the demo of Wetpaint that includes tags. At about the same spot.

New feature: allow dimensional tags with dot syntax. design.usability, design.branding, plugins.work_on_twiki4, etc.

-- ArthurClemens - 09 Mar 2006

Arthur, good argument on tags in topic text, you sold me on tags belonging to the topic.

Not sure on the usefulness of multidimensional tags. A tag tree structure sounds tempting, but isn't a combination of tags more flexible? It allows to build multi-dimensional taxonomies, such as (design AND usability) or (design AND branding) on one side, and (advocacy AND usability) or (advocacy AND branding) on the other side.

-- PeterThoeny - 09 Mar 2006

Dimensional tags are useful to increase depth of precision. This is about meaning and about finding.

Meaning:
The concatenated second (and third and so on) facets tell us something about the first facet. Let's say we have a topic with a client proposal for a design project. The tags would normally be "client", "proposal" and "design", and perhaps the client name as well. But seeing the tags separately, could this be a "design proposal" or a "client proposal"? Using a dot connector this becomes clear in an instant: "design.proposal" and "client".

Also note that "proposal" is the most specific tag. So the topic is not really about design, its about a design proposal. You couldn't just switch the tag facets around to "proposal.design" without getting a different meaning.

Finding:
Someone who browses the list of tags would see "proposal". But to find all topics with "design proposals", he would need to enter a search with "proposal" AND "design" (which is kind of hard already in clickin' tag world). The dot would function as "build-in" AND, immediately available by clicking the combined tag.

Bringing this further, we could say that "design" would be the overall tag for all design.xxx tags: searching on design would find "design.proposals" but also topics on "design.deliverables" and "design.research". This would not change the search algorithm, because the dot functions as AND and the tag "design" would be common to all these topics. But it would make a difference when entering the tags. Seeing these alternative (more precise) specifiers on "design" would make entering the right tag a lot easier.

So more specific tags, and better retrieval.

-- ArthurClemens - 09 Mar 2006

Untill now, I looked at the tagging thing with the idea that it wouldn't help me in my engineering knowledge base, since i suspected users to enter tags that would not be specific enough. ArthurClemens' last comments do spark the insterest, since it would clearly help in quickly narrowing down to relevant articles (as was the intention of FacetedNavigation).

But from the users' side, who need to tag the topics meaningfully, I wonder if the dot notation wouldn't be too difficult. Unless some clever UI is used to guide the casual user in adding more than one dimension in the FacetedNavigation...

-- JosMaccabiani - 12 Mar 2006

Faceted navigation is usseful when you have multiple facets: date, geography, author, content descriptor. Tags are only about one facet: the description of the content. My proposal above was to enhance this one facet to enable multiple dimensions of keywords.

Selecting a dimensional tag would not be different than the current system: select an item from the list. So you have a list:

design
design.deliverables
design.proposals
design.research
programming
programming.design
programming.perl
and the user should pick the most specific item in the list. Because a topic can have more than one tag, some instruction might be needed to prevent users from picking both a specific tag and a general tag, such as design.deliverables and also design.

Creating new dimensional tags is a bit more challenging. A guidance like "Try to be a as specific as possible" with an additional line about dimensional tags is easy enough. The actual entering of a new dimensional tag needs more work. I think a two-step approach could be made:

  1. Create a tag: enter tag as currently done (like design)
  2. Give feedback on created tag, with the 2 options: submit or add a more specific tag
  3. Add the more specific tag to the previous (add proposals to form design.proposals)
  4. Repeat step 2

-- ArthurClemens - 12 Mar 2006

How about this:

  • Users simply tag topics with a flat list of tags
  • An admin creates hierarchical relations of tags, e.g. design -> proposal (which can be multi-dimensional)
  • Tag search takes hierarchy into account

-- PeterThoeny - 12 Mar 2006

This removes the whole idea of specificity. And it has a problem: "proposals" might fall into multiple groups, for instance design.proposals or "sales.proposals".

Small note: common tag format uses plural, so "proposals", not "proposal".

-- ArthurClemens - 13 Mar 2006

Wouln't multiple dimensions cover that? E.g. define relations design -> proposals and sales -> proposals. In the tag search you can show "sales AND proposals" for sales related proposals.

-- PeterThoeny - 13 Mar 2006

But how would users enter one specific tag instead of two generic tags?

-- ArthurClemens - 15 Mar 2006

I found an issue: if a topic that was tagged is renamed, it loses the tag and also continues to appear in the tag reports with the old name.

see

http://twiki.org/cgi-bin/view/TWiki/TagMeSearch?tag=classification;by= (look for UnfinishedDiscussions, it was moved to UnfinishedThreads)

and

http://twiki.org/cgi-bin/view/TWiki/TagMeSearch?tag=cruft (look for PortToPerl5dot6, it was moved to trash)

-- RafaelAlvarez - 15 Mar 2006

This is a known issue and cannot be resolved by the Plugin until PluginHandlerForContentMove is implemented. I fixed the two issues manually.

-- PeterThoeny - 15 Mar 2006

Hm, seems this Plugin isn't up-to-date in SVN. frown It's missing the TagMeDebugSearch and TagMeSearch topics.

-- FranzJosefSilli - 19 Mar 2006

Oops, forgot to svn mv two topics. Is done now in DEVELOP (MANIFEST was already up to date).

-- PeterThoeny - 19 Mar 2006

Just added an include topic on TagMeSearch

See http://twiki.org/cgi-bin/view/TWiki/TagMeSearch?tag=tagging;by=

-- MartinCleaver - 19 Mar 2006

can not create new tag and tag to a topic but if I create a file _all_tag.txt manually,it can be displayed in ths combo list box, but still can not tag it,in another word,_tag_%topicname%.txt can not be created

env:1. activeperl CGI. Twiki 4.0.1, RCSlite whoelse met this problem?

-- XieXiaopu - 19 Mar 2006

Check the permissions of the pub/TWiki/TagMePlugin/ directory, it needs to be writable by your webserver user.

-- PeterThoeny - 19 Mar 2006

I still can not get Tagme work, here are what I've done 1. go to cygwin, chmod 777 to d:\twiki and subfolders 2. go to CMD use " attrib S R d:\twiki\pub\TWiki\TagmePlugin

-- XieXiaopu - 20 Mar 2006

also I add

<Directory  "D:/twiki/pub/">
   AllowOverride All
   Allow From All
</Directory>"

into apache conf file,still can not work

-- XieXiaopu - 20 Mar 2006

btw, this is the folder info drwxrwxrwx+ 2 Administrators mkpasswd 0 Mar 14 10:41 TagMePlugin

-- XieXiaopu - 20 Mar 2006

Not sure what is wrong. I am not familiar with cygwin. The Apache settings are only relevant for the gif files in twiki/pub/TWiki/TagmePlugin; the _tags*.txt files are accessed directly by the Plugin, e.g. not relevant for Apache settings. Possibly a safe env path issue that prevents one from creating new files?

-- PeterThoeny - 21 Mar 2006

Today downloaded version 11 Mar 2006 (V1.006) on TWiki/Dakar Wed, 08 Feb 2006 build 8740 is not working because don't know why the closing input field brackets and comparisions get changed for &GT and so on. Fixed moving js function off the input field

-- NicoBaum - 21 Mar 2006

Nico: I noticed the same compatibility issue with the TWikiRegistration form, Bugs:Item1903.

-- PeterThoeny - 21 Mar 2006

I think it's not the same problem. In my case the resulting html tags are incorrect. The resulting html code of the inline JS is something like (breaks inserted):

<input type="text" name="newtag" size="10" onblur="var sIn = this.value; var sOut = '';
for ( var i = 0; i &lt; sIn.length; i++ ) { var ch = sIn.charAt( i ); var ch2 = ''; 
if((ch=='&#224;')||(ch=='&#225;')||(ch=='&#226;')||(ch=='&#227;')||(ch=='&#229;') ) 
{ ch = 'a'; } if( (ch=='&#232;')||(ch=='&#233;')||(ch=='&#234;') ) { ch = 'e'; } 
if( ch=='&#231;') { ch = 'c'; } if( ch=='&#241;') { ch = 'n'; } 
if( (ch=='&#242;')||(ch=='&#243;')||(ch=='&#244;') ) { ch = 'o'; } 
if( ch=='&#228;') { ch = 'a'; ch2 = 'e'; } if( ch=='&#246;') { ch = 'o'; ch2 = 'e'; } 
if( (ch=='&#249;')||(ch=='&#250;')||(ch=='&#251;') ) { ch = 'o'; } 
if( ch=='&#252;') { ch = 'u'; ch2 = 'e'; } if( ch=='&#196;') { ch = 'a'; ch2 = 'e'; } 
if( ch=='&#214;') { ch = 'o'; ch2 = 'e'; }
if( ch=='&#220;') { ch = 'u'; ch2 = 'e'; } if( ch=='&#223;') { ch = 's'; ch2 = 's'; } 
if( ((ch=='-') || (ch==' ') || (ch=='/')) ) { ch = '_'; } 
ch=ch.toLowerCase(); 
if( ((ch>='a')&amp;&amp;(ch&lt;='z')) || ((ch&gt;='0')&amp;&amp;(ch&lt;='9')) 
|| (ch=='_') ) { sOut+=ch } 
if( ch2!='' ) { sOut+=ch2; } } 
this.value=sOut;" 
/&gt;             <----------- HERE
<input type="hidden" name="newaction" value="newtag" />  
at some point (after ch.toLowerCase) & and > characters get converted to their representations & and /> instead of && or >. The input field is not correctly closed and the action (newtag) is not taken.

-- NicoBaum - 21 Mar 2006

OK, new version posted that works around the issue Nico reported on TWiki 4.0.

-- PeterThoeny - 22 Mar 2006

The code posted above looks like a really horrible way to do some sort of I18N support - this will probably break in site character sets other than ISO-8859-1 or -15, or UTF-8. Can we please find a better solution than this? I haven't had a chance to look at the code, but generally a server-side solution should be possible, and can then make use of existing regexes. If we can't do this via AJAX calls into a suitable TWiki web service via XML over HTTP, we should find a suitable way of using JavaScript I18N features (which include Unicode support) - this is just a hack that won't work in general.

More importantly, why are we even converting tags to ASCII characters only? Surely we should be enabling tags in the user's language, including accented characters, and also supporting non-alphabetic languages. If the user enters a Russian, Japanese or Chinese tag the above code won't work anyway. It's worth considering the slogans at top of InternationalisationEnhancements ...

-- RichardDonkin - 22 Mar 2006

This code is taken from the TWikiRegistration, which should be internationalized too (with performance in mind.)

-- PeterThoeny - 22 Mar 2006

the issue that "can not write to _tags_all.txt" has been resolved by upgrading to Mar 22 version

-- XieXiaopu - 23 Mar 2006

I love this plugin. It has so many other potential uses. Like private tags (I'd own all MartinCleaver_tagname), favourite feature voting (accumulating 'best new feature' hearts), and getting rid of all those horrible WikiBadges.

-- MartinCleaver - 25 Mar 2006

Yes, the nice thing about tagging compared to CategoryCategory is that topics do not get touched just to classify content, e.g. no user notification for that (minor but important) action.

To expand on Martin's idea on private tags, combined with Arthur's idea of tag hierarchy:

  • users could create user.TWikiGuest.anything tags
  • tags starting with user.TWikiGuest. are private, only shown to the logged in user

-- PeterThoeny - 25 Mar 2006

Small thing: if there is only one tag stored, and that tag is assigned to a topic, the select box is empty and very narrow. I think the select box should be hidden in that sitation.

  • Noted in possible enhancements: Hide tag select box if empty -- PeterThoeny
    • This is implemented as of 09 May 2006. -- PeterThoeny

I would like to suggest that the plugin puts a css tag around its content so skin can address the layout. The convention says it should be <div class="tagMePlugin"></div> (div or span). Without a css class it is impossible to get the select box small in pattern skin.

What I am after is this:

<div class="twikiBeforeText">
<span class="twikiSmall tagMePlugin"> [[TWiki.TagMeViewAllTags][Tags]]: %TAGME{ tpaction="%URLPARAM{tpaction}%" tag="%URLPARAM{tag}%" }%</div>
</span></div>

twikiBeforeText is defined in view.pattern.tmpl.

  • Noted in possible enhancements: Add span with class="tagMePlugin" around tag content -- PeterThoeny
    • This is implemented as of 09 May 2006. -- PeterThoeny

-- ArthurClemens - 28 Mar 2006

Small bug: pages starting with

---+!! 
get a $n in the summary.

  • I need to investigate. The Plugin uses a SEARCH $summary, so this might be in the core -- PeterThoeny

-- ArthurClemens - 29 Mar 2006

An RSS feed based on a tag/tag search would be nice!

  • Noted in possible enhancements: Create TagMeRss/TagMeAtom feed topics with a date-ordered list of tagged topics (using tag search) -- PeterThoeny

-- ArthurClemens - 31 Mar 2006

I met the "access" problem after upgrading to 4.02 I can create tag, can read topic tag info, but can not apply a tag to a topic, anyone meet this problem

-- XieXiaopu - 05 Apr 2006

did some debug, I changed TagMePlugin.pm :

sub handleTagMe
{
    my ( $attr ) = @_;
    my $action = TWiki::Func::extractNameValuePair( $attr, 'tpaction' );
    my $text = '';
    initialize();
    _writeLog( "add tag action '$action'" );
        my $tag = TWiki::Func::extractNameValuePair( $attr, 'tag' );
    _writeLog( "add tag tagname '$tag'" );
...

the log is :

05 Apr 2006 - 10:33 DS\a17902 view Main   10.193.90.42
05 Apr 2006 - 10:33 DS\a17902 tagme Main add tag action '' 10.193.90.42
05 Apr 2006 - 10:33 DS\a17902 tagme Main add tag tagname '' 10.193.90.42
05 Apr 2006 - 10:33 DS\a17902 tagme Main add tag action 'showalltags' 10.193.90.42
05 Apr 2006 - 10:33 DS\a17902 tagme Main add tag tagname '' 10.193.90.42

-- XieXiaopu - 05 Apr 2006

after I replace %TAGME{}% with %TAGME{ tpaction="%URLPARAM{tpaction}%" tag="%URLPARAM{tag}%" }% it works, sign....

  • The tpaction is a required parameter. I will document that better. -- PeterThoeny

-- XieXiaopu - 05 Apr 2006

It's seems to be a problem in tag addition in hierarchical webs ambient. The tags are correctly added in "root" web but not in sub webs; the resulting error is the following:

TWiki detected an internal error - please check your TWiki logs and webserver logs for more information.

Can't create file path - No such file or directory
   TWiki::Func::saveFile('path','# This file is generated, do not edit\x{a}001, cancellazione, Iva...') called

-- IvanSassi - 06 Apr 2006

Looks like a bug. I have not tested this Plugin with hierarchical webs. Try this: (new code in red)

sub writeTagInfo
{
    my( $webTopic, @info ) = @_;
    $webTopic =~ s/\//\./;
    my $file = "$attachDir/_tags_$webTopic.txt";

-- PeterThoeny - 06 Apr 2006

Wouldn't sort on tagcount (the default) sort the tag cloud from large to small words? The version in TWiki 4 branch does not seem to do that.

-- ArthurClemens - 07 Apr 2006

I think you are referring to the tag search. The latest Plugin should sort by tagcount by default. Get the latest version from the Plugin topic or from DEVELOP.

-- PeterThoeny - 09 Apr 2006

So it won't update automatically on my SVN based TWiki 4 install...

-- ArthurClemens - 09 Apr 2006

Sorry I can't help, the Plugins dev model with multiple branches is broken and was implemented without consent.

-- PeterThoeny - 10 Apr 2006

Is it possible to browse twiki tagged items by more than one tag, for example view all items

tagged with both "tagging" and "intranet" ?

(Like on http://del.icio.us)

-- ArthurClemens - 10 Apr 2006

agree with Arthur, this is very important for tag name convention, for example, create two tags "tagging" and "intranet" or create one tagging_intranet, the second way will produce lots of tag

-- XieXiaopu - 11 Apr 2006

With the addition of code $webTopic =~ s/\//\./; the tag addition seems to work good ever on hierarchical webs. Is better to remember it in new versions...
Thank you for support!

-- IvanSassi - 11 Apr 2006

"Sorry I can't help, the Plugins dev model with multiple branches is broken and was implemented without consent. "

Peter if you only want to maintain your plugin in one branch (and I understand why) please move it to TWiki4 which is the branch of the shipping product. Unless your TagMePlugin is meant for TWiki 4.1 or 5 only and not for Cairo or TWiki4. Then it gets tested on the same code base that our customers use.

-- KennethLavrsen - 16 Apr 2006

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2006-05-09 - PeterThoeny
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.