classification5Add my vote for this tag search2Add my vote for this tag tagging7Add my vote for this tag create new tag
, view all tags

TagMePluginDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on TagMePlugin contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below
• See TagMePluginDevArchive for older discussions.

Feedback on TagMePlugin

skin -- PeterThoeny - 26 Feb 2006

Possible enhancements / Feature requests


  • Put the "Create a tag" form into its own topic
    • DONE revision 13208
  • DONE revision 13454: Web based feature to remove tags from tag list
  • For display, show space instead of underscore
    • DONE revision 13208: set NORMALIZE_TAG_INPUT to 0 to allow spaces in tags
  • DONE revision 13279: A friendlier look & feel when adding new tags


  • Statistics on tags used
  • Add twisty to hide add tag selector, and possibly to limit tags to top 5 tags

  • Privileges
    • Setting to deny guest to create new tags (now hardcoded) (to fight tag spam)
    • Setting to deny guest to add tags to topics (for better accuracy)

  • In TagMeSearch
    • allow AND and OR combinations for tags
    • add order="modified" and limit="30" parameters (for RSS feed)
    • conditionally add an indication that a filter has been applied:
      Searched for tag: skin | in web: Plugins | on topic: *Skin
    • order parameter: allow search results to be displayed in reverse order. When I have topics named with embedded dates, I would like to display them newest first.

  • Create TagMeRss/TagMeAtom feed topics with a date-ordered list of tagged topics (using tag search)
  • Email notification of topic changes based on my tags, or set of tags

  • Hot lists
    • "Hot tags list" showing a list of tags recently used
    • "Hot topics list" showing a list of topics recently tagged

  • tpaction
    • In %TAGME{ tpaction="show" }%, support format, separator, web, topic parameters (see ShowTagsInIncludeSection)
    • For tpaction="showalltags", add a sort="tagcount"

  • Short description for each tag (to help decide which tag to use for what purpose)

  • Option to isolate tags by web.
    • For example: store each web's tags in pub/TWiki/TagMePlugin/_Webname/_tags_all.txt
    • Option to store "Web Specific" tag lists (prevent noise & cross pollination of tags between webs that are drastically unrelated)
    • A customizable %TAGWEB% variable for configuring the location of topics like TagMeSearch (to allow the TWiki web to remain hidden from public view) * on second thought, if we had "Web Specific" tag lists, then TagMeSearch would also be web specific wink * but how do we please the people who do want to share tags across multiple webs ?

  • TagMePlugin does not honor the Set NOSEARCHALL = on settings from a hidden webs WebPreferences (Bugs:Item3563)
  • Allow a TAG search with wild card functionality. (For example tag="*" to show all tagged documents)
  • Allow option for a topic search(query) using multiple Tags. (for example: would allow a more specific search for topics taged with both TAG-A and TAG-B)
  • List all topics that are not tagged
  • Delete tag feature: For admins only, select an existing tag and delete it from the tag list and all topics the tag is used. Useful to clean up tags added for testing/spam/by mistake.

-- PeterThoeny - 26 Feb 2006


First version of Plugin posted on Plugin topic, and also installed on TWiki.org for experimental use. Enjoy. Please provide feedback here.

-- PeterThoeny - 19 Feb 2006

New Plugin version posted on Plugin topic and installed on TWiki.org.

This version adds mainly features. UI enhancements as suggested by Arthur are pending.

-- PeterThoeny - 26 Feb 2006

New Plugin version posted and also installed on TWiki.org:

  • Use tabs in all/my/search tags view
  • Show related tags in specific tags view
  • Check if topic exists when adding tags

-- PeterThoeny - 27 Feb 2006

New version posted and installed on TWiki.org:

  • Allow underscore in tags (and convert space and dash to underscore)
  • Added web="" and topic="" parameters
  • Fixed font size issue in tag cloud with disproportional counts

-- PeterThoeny - 03 Mar 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

  • Remove "my tag vote"
  • Added exclude="", minsize="" and maxsize="" parameters
  • More intuitive icons
  • In default view, sort tags alphabetically instead of sort by tag vote

-- PeterThoeny - 06 Mar 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

  • TagMeSearch with sort, norelated, nototal, format and separator paramters
  • Linked tags in "create new tag" section
  • Renamed TagMeViewSpecificTag to a shorter TagMeSearch
  • Workaround for Dakar Bugs:Item1838 to fix broken links in top bar

-- PeterThoeny - 12 Mar 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

  • TagMeSearch with minsize and maxsize paramters
  • TagMeSearch format with $votecount, $size
  • Fixed JavaScript compatibility issue on TWiki 4.0 (reported by NicoBaum)

-- PeterThoeny - 21 Mar 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

  • Support for sub-webs
  • Enclose tag list on topic in span class="tagMePlugin"
  • Tag selector not shown if empty
  • Limit max size of new tags to 30 characters

-- PeterThoeny - 09 May 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

-- PeterThoeny - 20 May 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

-- PeterThoeny - 14 Sep 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

  • TWiki 4.0 and up: Support for topic rename (tags are no longer lost)

-- PeterThoeny - 02 Oct 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

  • Fix issue of statistics moving WebHome tags to WebStatistics

-- PeterThoeny - 04 Oct 2006

New Plugin version posted on Plugin topic:

  • Workaround for issue of tag search not showing topics with dashes and pluses

-- PeterThoeny - 05 Oct 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

  • Added nostatus="on" parameter for add/remove tag (thanks FredMorris)

-- PeterThoeny - 07 Oct 2006

New Plugin version posted on Plugin topic and installed on TWiki.org:

  • Fix show default problem introduced by version 07 Oct 2006 (thanks ChristianSuenkel)

-- PeterThoeny - 14 Oct 2006

New Plugin version posted on plugin topic and installed on TWiki.org:

  • Fix IE browser crash issue on print (forms can't be named "tags"; debugged by KevinKalmbach)

-- PeterThoeny - 14 Nov 2006


I've created a wireframe sketch of my thoughts on the tagging interface. The default appearance is influenced by Confluence = I think they've done a great job in hiding the controls, and making them available on command. See an example demo page.

Also based on the experience in my company - they don't use voting at all and it stands even in the way. I would like to have voting optional (voting is not included in the sketch).

Not all possible screens are included yet, this is foremost a sketch to feed the UI discussion.

Tags interface wireframe sketch

-- ArthurClemens - 16 Apr 2006

Good interface for users, thanks for the suggestion.

Tag voting is important for search ranking in large wikis (ones as large and larger than TWiki.org.) It can be put into the suggested interface.

-- PeterThoeny - 19 Apr 2006

I wouldn't leave tag voting out altogether, but to have it optional would be great.

Then there is the problem of renaming topics that will loose their tags. Couldn't we add script to the rename and delete templates that on moving a topic will update the tags as well?

-- ArthurClemens - 19 Apr 2006

good point. also interesting timing that TopicRenamedHandler is back in the news?

-- WillNorris - 19 Apr 2006

Actually PluginHandlerForContentMove is needed.

-- PeterThoeny - 19 Apr 2006

Is there hope for having AND / OR functionality in TagMeSearch one of these days? Tag intersections/unions are invaluable in a folksonomy. Currently my attempts to use nested search to simulate this are 1) broken and 2) exceedingly slow.

-- DanShick - 26 Apr 2006

That is noted under "Possible enhancements". Certainly a useful feature.

-- PeterThoeny - 27 Apr 2006

Thanks for your response -- I saw the 'possible enhancement' up there, I was just wondering how much hope I should hold out for this feature being implemented (anytime soon).

-- DanShick - 28 Apr 2006

Is possible to delete a tag from our tag cloud?

A great ideia would be having hierarchical struture between tags as an option..like in thesauri smile

-- SofiaNeto - 19 May 2006

At this time you need to delete tags from the shell level: Edit pub/TWiki/TagMePlugin/_tags_all.txt.

Yes, a tag hierarchy is useful. It needs to be designed carefully so that the UI remains simple (KISS).

-- PeterThoeny - 20 May 2006

Tag hierarchy has been discussed on 09 Mar 2006, see TagMePluginDevArchive.

-- ArthurClemens - 20 May 2006


I needed to use tags with international characters and had to make the following changes to make TagMePlugin accept them:

--- TagMePlugin.pm.orig  :27:11.000000000 -0300
+++ TagMePlugin.pm  :07:48.000000000 -0300
@@ -30,6 +30,14 @@
 $pluginName = 'TagMePlugin';  # Name of this Plugin
 $initialized = 0;
+    # I18N initialization
+    if ( $TWiki::cfg{UseLocale} ) {
+        require locale;
+        import locale();
+    }
 # =========================
 sub initPlugin
@@ -434,7 +442,8 @@
     return "TAGME error: <nop>$user cannot add new tags" if( $user =~ /^(TWikiGuest|guest)$/ );
     $tag = lc( $tag );
     $tag =~ s/[- \/]/_/go;
-    $tag =~ s/[^a-z0-9_]//go;
+    my $alphaNum = TWiki::Func::getRegularExpression('mixedAlphaNum');
+    $tag =~ s/[^${alphaNum}_]//go;
     $tag =~ s/^(.{30}).*/$1/;
     return "TAGME error: Please enter a tag" unless( $tag );
     my @allTags = readAllTags();
@@ -604,7 +613,8 @@
 sub readAllTags
      my $text = TWiki::Func::readFile( "$attachDir/_tags_all.txt" );
-     my @tags = grep{ /^[a-zA-Z0-9]/ } split( /\n/, $text );
+     my $alphaNum = TWiki::Func::getRegularExpression( 'mixedAlphaNum' );
+     my @tags = grep{ /^[${alphaNum}]/ } split( /\n/, $text );
      return @tags;

-- AntonioTerceiro - 20 May 2006

Thanks Antonio, new Plugin version released with international character support (with slight performance improvement.)

-- PeterThoeny - 21 May 2006

I was looking forward to this plugin. Overall the plugin works as described, but there is one problem. When I search for tagged topics, I get no results. Try to select a tag from the "Show topics tagged with" drop-down and click Go.

-- AlokNarula - 23 May 2006

Not sure why that is. To debug, add some tags to topics, verify if the tag _tag_Web.TopicName.txt files are created in twiki/pub/TWiki/TagMePlugin. Check the permission of that directory, it needs to be writable by the cgi user.

-- PeterThoeny - 23 May 2006

The problem is that when I click Go, the view script appends a &topic=Jump parameter to the URL string. Removing the &topic=Jump parameter from the URL solve the problem. Why is this happening in Dakar? I don't see this happening on the TWiki Website.

Here is the URL generated after I click Go: http://localhost/twiki/bin/view/TWiki/TagMeSearch?tag=flash&by=all&topic=Jump

The &topic=Jump parameter should not appear in the URL string.

-- AlokNarula - 24 May 2006

There are layout problems when a topic a a lot of tags. Reduce the size of your browser window and watch the tag application moving around.

-- MichaelDaum - 25 May 2006

That is a known issue on twiki.org. Arthur is working on a different tag display layout for TWiki 4 (once the mail issue is resolved we will switch to TWiki 4.)

-- PeterThoeny - 25 May 2006

Hi all, Just an FYI. Perhaps someone can confirm whether this issue is specific to my installation or is more widespread:

When using the TagMePlugin with subwebs, the plugin can't seem to "see" the files that it has created to store tags for a topic within a subweb. It seems that the plugin is expecting the web to be returned from TWiki::Func::extractNameValuePair( $attr, 'web') in the form Web.Subweb but it actually comes back in the form Web/Subweb. The result is that when the filename is concatentated from $web.$topic, it has a "/" where it should have a ".".

Confirm? Deny? My fault? Should I just be reporting possible bugs in an entirely different place?


-- EthanJewett - 25 May 2006

What Plugin version are you using? This should have been fixed since version 09 May 2006.

-- PeterThoeny - 25 May 2006

Peter, thanks for the quick reply. I am using version 1.008 as per the source.

Frankly, I'm not a perl hacker and I don't know regular expressions very well, but it looks to me like there's a replacement of the "/" with a "." in the $webTopic in the writeTagInfo subroutine but no corresponding replacement in the readTagInfo subroutine. That could, of course, be completely incorrect.

-- EthanJewett - 25 May 2006


I tried copying the replacement across to the read subroutine and I can confirm that this is a fix. I will go with this for now, but please advise as to whether this is a recommended approach.

Thanks for your help.

-- EthanJewett - 25 May 2006

Yes, that is the recommend approach, and also in the latest release.

-- PeterThoeny - 25 May 2006

The Tag Search option is not working as intended. I've installed TagMePlugin on my TWiki Web (Dakar). When I select a tagged topic from the "Show topics tagged with" drop-down and click Go, the View script opens the WebTopicNonWikiTemplate. I've checked the pub directory and I can see that the tag _tag_Web.TopicName.txt files are created in twiki/pub/TWiki/TagMePlugin. How does the View script find the tagged topics?

-- AlokNarula - 26 May 2006

I have a user that wants to print TWiki pages using the pattern skin view instead of the printable view. It seems that pages that use %TAGME{ tpaction="" tag="" }% can't be printed in at least IE 6. I am still not sure why.

While I was debugging this, I discovered that pages that use the function previously mentioned won't validate as XHTML 1.0 Transitional anymore because when the function gets expanded it puts a form inside a span element which is a no-no.

I removed the span and now my pages validate. I'm not sure what the span was supposed to do, but it doesn't seem to be needed.

--- TagMePlugin.pm.orig:14:26.000000000 -0700
+++ TagMePlugin.pm     :17:50.000000000 -0700
@@ -136,7 +136,7 @@

     my $webTopic = "$web.$topic";
     @tagInfo = readTagInfo( $webTopic ) unless( scalar( @tagInfo ) );
-    my $text = '<span class="tagMePlugin"><form name="tags" '
+    my $text = '<form name="tags" '
              . 'action="%SCRIPTURL%/viewauth%SCRIPTSUFFIX%/%BASEWEB%/%BASETOPIC%" method="post">';
     my $tag = '';
     my $num = '';
@@ -179,7 +179,7 @@
     $text .= " <a href=\"%SCRIPTURL%/viewauth%SCRIPTSUFFIX%/$installWeb/$pluginName?"
            . "from=$web.$topic#AddNewTag\">create new tag</a>";
-    $text .= '</form></span>';
+    $text .= '</form>';
     return $text;

-- AubreyLewman - 01 Jun 2006

The span should be:

<div class="tagMePlugin" style="display:inline;"><form ...>...</form></div>

-- ArthurClemens - 01 Jun 2006

Thanks Arthur. Updated done in SVN.

-- PeterThoeny - 05 Jun 2006

I moved the lenghty discussions on PluginsApiPolicies to PluginsApiPolicyDiscussion, which seems to be a more appropriate place.

-- PeterThoeny - 05 Jun 2006

I would like to see sort="tagcount" for tpaction="showalltags" as well.

-- ArthurClemens - 07 Jun 2006

OK, added on top under feature requests.

-- PeterThoeny - 05 Jun 2006

Issue on twiki.org (or perhaps even general): http://twiki.org/cgi-bin/view/TWiki/TagMeSearch?tag=pattern_skin and click on Go button. Gives "topic not found" error.

-- ArthurClemens - 13 Jun 2006

Indeed. That is odd, I just verified that it works properly with the Cairo URL, but not with Dakar.

Later: Found the issue. The form misses the closing form tag. Fixed on TWiki.org.

-- PeterThoeny - 13 Jun 2006

I'm not sure if this should go here or in the Support web, please advise. I would like to put the tag create form in the same location as TWiki.org (underneath breadcrumb trail rather than in WebTopBar) but I can't figure out where that is. See my screenshot below. Is it in the CSS somewhere? If so, can you point me to the right file? Thanks! smile


-- AmandaSmith - 14 Jun 2006

That depends on the PatternSkin version used. What is the exact TWiki version you are using? If you are using 4.0.2 you can set this beforetext in templates/view.pattern.tmpl:

%TMPL:DEF{"beforetext"}%<div class="twikiBeforeText">[[TWiki.TagMeViewAllTags][Tags]]: 
%TAGME{tpaction="%URLPARAM{tpaction}%" tag="%URLPARAM{tag}%" }% </div>%TMPL:END%

Arthur externalized this into a view.twikiorg.tmpl and set a skin path in Main.TWikiPreferences, SKIN = twikiorg,pattern

-- PeterThoeny - 14 Jun 2006

I would advise to do the second option: create a new file for your skin override. This way your changes won't get overwritten with a twiki/skin update.

I have created templates/view.twikiorg.tmpl. In it, only:


%TMPL:DEF{"beforetext"}%<div class="twikiBeforeText twikiorgTags">[[TWiki.TagMeViewAllTags][Tags]]:
%TAGME{tpaction="%URLPARAM{tpaction}%" tag="%URLPARAM{tag}%" }% </div>%TMPL:END%

And like Peter wrote, in Main.TWikiPreferences set the above skin path:

* Set SKIN = twikiorg,pattern

-- ArthurClemens - 14 Jun 2006

Just to clarify, I am running 4.0.2 and using the Pattern skin. Thanks for the help, I'll try this out. smile

-- AmandaSmith - 14 Jun 2006

I have the same problem as AlokNarula on 24 May 2006 with the "&topic=Jump" param appended to the URL in TagMeSearch. Any hints how this can be solved? Thanks in advance.

-- SteffenSchwigon - 15 Jun 2006

In TagMeSearch, please add a </form> between the </table> tag and =__Note:__ Please select a tag" tag="%URLPARAM{tag}%" }%

Not: %TAGME{ tpaction="show" }%

To get it to work. It the doco confusing or is my setup wrong? Also, whats the point of the 'tag' param in anything action except query? I mean, if you are adding a tag, why would you put that as a tpaction on a page? What would be the point? Would it add a vote for that tag everytime the page was visited?

-- EricHanson - 20 Oct 2006

The fix you did is correct, it is described in the installation instructions under the "Configure and enable the Plugin" bullet. The URLPARAMs are needed so that the plugin can be driven by the links/forms the plugin is generating and passing on to the TAGME variable via the URL parameters.

-- PeterThoeny - 21 Oct 2006

I installed the plugin as described in the instructions, but I find the following problems:

  1. When clicking on the "create tag" link, one is brought to the TagMePlugin topic to create a tag. However, when logged in as guest, an error is written saying TAGME error: guest cannot add new tags. I don't see a setting that would limit TWikiGuest from doing so. I hope this is not hard wired.
  2. After unsuccessfully attempting to create a tag, in the TagMePlugin topic, suddenly the TOC is messed up in that the topic where the tag was created is shown with an anchor befoer the TOC heading text.

-- ThomasWeigert - 30 Oct 2006

To address issue (1), the easiest is to add a Preference which allows or disallows TWikiGuest to add tags. Adding tags by TWikiGuest should not be ruled out in principle. If TWikiGuest can edit a topic, she should be able to tag the topic, right?

-- ThomasWeigert - 30 Oct 2006

On 1: Yes, that should be configurable. Notes as such in feature request section on top: "Setting to deny guest to create new tags (now hardcoded) (to fight tag spam)"

On 2: I am not sure I understand that; I hve not seen issues with TOC. Are the tag forms properly closed? (investigate the raw html).

  • Please take a look at the screen capture. This is the appearance of the topic after I added a tag coming from the indicated topic. This happens on my installation on my PC as well as on our linux machine at work. Both running 4.0.2 with various patches not related to TOC. -- TW
    • COuld you send me the raw html text of the topic? Also, to debug, disable all plugins but the standard ones and TagMePlugin. -- PTh

-- PeterThoeny - 30 Oct 2006

I noticed tonight that the tpaction="query" seems to prefer a CAPSed version of a topic? I.e. if a topic is named "Topic" and has the query tag, and a topic named TOPIC exists but does not have any tags, it is still TOPIC that is linked, presented as if it it carried the tags from Topic. No time to look into it though, could be other plugins interfering.

-- SteffenPoulsen - 12 Nov 2006

A request: Jumping into the middle of the TagMePlugin topic to create a tag is rather daunting for less experienced users. Way too much noise. They're expecting a simple interface which only creates tags. How about putting the form into its own topic?

-- DiabJerius - 02 Dec 2006

Thanks for the suggestion, I noted it on top.

-- PeterThoeny - 02 Dec 2006

Hi. Is there an easy way to delete unused tags? I've installed this plugin on our intranet wiki to see how it works and made a few test tags and would like to get rid of them...but I'm not sure how I should go about doing this.

Thanks for the help in advance.

-- WooLee - 15 Dec 2006

At this time there is no web based function to delete tags. On the shell, edit pub/TWiki/TagMePlugin/_tags_all.txt and remove the unwanted tags. (I added a note on top to add this feature.)

-- PeterThoeny - 15 Dec 2006

I've just installed this plugin and I have the same request as DiabJerius: the process of adding a new tag would be much friendlier to novice users if placed into its own clean topic, away from the noise. Otherwise, it works as advertised on CairoRelease which is nice :). Thanks.

KoalaSkin support for the TagMePlugin was described in KoalaSkinDev

-- KeithHelfrich - 17 Dec 2006

I've added a feature request above to support the optional isolation of tags by web. For example: to store each web's tags in pub/TWiki/TagMePlugin/_Webname/_tags_all.txt

I ask for this because different webs often contain collaboration on radically different subjects. And the appearance of tags from Web A in the tag cloud & tag list for Web B only creates unwanted noise and confusion in Web B.

Worse: until MultipleSitesSameCodebase becomes a real option, I'm continuing to run what should be completely separate sites from within the site and working around this by storing the sensitive topics in hidden webs. Since tags are stored "all together" at the moment, I'm effectively unable to use tags in the hidden webs because those tags would expose the hidden topics' existance to the public. Hidden vs. public conversation aside, this only goes to show that the content from one web often has nothing to do with another, so it would be good to store & maintain the tags separately as well.

-- KeithHelfrich - 17 Dec 2006

Would it also be possible to customize the location of TagMeViewAllTags, TagMeSearch, etc ? I would also like to send users to the TWiki web as infrequently as possible, similar to the fellow in HowToRestrictWebView

-- KeithHelfrich - 19 Dec 2006

You can create custom reports. See example in the Plugins web, SearchByTags.

-- PeterThoeny - 19 Dec 2006

That's a part of the solution, because the tag links (at the top) still refer to the TWiki Web.

-- ArthurClemens - 19 Dec 2006

You could create skin elements for tags that are web specific. However, the list of tags is shared site-wide; that would need some spec enhancement.

-- PeterThoeny - 19 Dec 2006

On documentation:

  • Set WEBCOPYRIGHT = Tags: %TAGME{ tpaction="%URLPARAM{tpaction}%" tag="%URLPARAM{tag}%" }%...

It would be helpful to show how to add it below the breadcrumb just like how it is done on twiki.org. I'm having absolutely no luck.

-- JustinClarke - 03 Jan 2007

Justin, have a look at #HowToPutInSkin in this topic, it shows how to put it in the pattern template without changing the template. You can test it without changing your SKIN variable by looking at a topic with ?skin=yourskin,pattern added to the URL.

-- WoutMertens - 08 Jan 2007

The plugin source has a couple of places where links are generated using the syntax

and the same using viewauth. These should be replaced by
(same for viewauth) so that ShorterURLs#AlterNatives are maintained smile

-- WoutMertens - 08 Jan 2007

Actually, I maintain this plugin to be compatible with Sep-2004 and TWiki 4 releases, therefore to long version of the SCRIPTURL should be used.

-- PeterThoeny - 08 Jan 2007

Hello, I recently setup a new TWiki install using the TWikiVMDebianStable approach on Windows 2003 Server. I installed and configured the plugin as specified in the directions. However, when I attempted to create a new tag, I got the following error message:

Can't create file path - Permission denied
   TWiki::Func::saveFile('path', '# This file is generated, do not edit\x{a}pdh\x{a}') called

Assuming that this error was caused by insufficient permissions, I chmod the permissions for the data/TWiki directory (777) as well as TagMe* files (666) but it did not help. Thanks in advance.

-- MervinJohn - 09 Jan 2007

Most likely the pub/TWiki/TabMePlugin directory permission is not set to be writable by the webserver user. (Please ask support questions in the Support web.)

-- PeterThoeny - 09 Jan 2007

The subweb support is slightly broken. When you try to use something like %TAGME{tpaction="showalltags" web="!Plugins" ...}%, %WEB% will expand to the webname with / as separators, and the plugin only understands . as separator.

My quick fix was to add

    $qWeb =~ s:/:.:g;
    my $qWeb      = TWiki::Func::extractNameValuePair( $attr, 'web' );
in sub _showAllTags and sub _queryTag.

I'm not sure if that's a complete fix for the whole plugin though.

-- WoutMertens - 13 Jan 2007

Ah, I missed the web parameter when I fixed and tested sub-webs support. Thanks, I will check and make a new release.

-- PeterThoeny - 13 Jan 2007

Note to myself: Support sub-webs with slash separator in web="" parameter of tpaction="showalltags" and tpaction="query".

-- PeterThoeny - 13 Jan 2007

Thanks for keeping this plugin CairoRelease friendly smile

I notice that after adding multiple tags sequentially, I lose my ability to return to the page that I came from. Add one tag: return to original topic. Add two tags: return to TagMePlugin.

And if I can, I'd like to gently repeat my earlier and humble requests for

  • "Web Specific" tag lists to prevent noise & cross pollination between webs that are drastically unrelated
  • a customizable %TAGWEB% variable for configuring the location of topics like TagMeSearch (to allow the TWiki web to remain hidden from public view)
    • on second thought, if we had "Web Specific" tag lists, then TagMeSearch would also be web specific wink
    • but how do we please the people who do want to share tags across multiple webs ?
  • a friendlier look & feel when adding new tags

Also note that the TagMePlugin does not honor the Set NOSEARCHALL = on settings from a hidden webs WebPreferences, and this should ideally be the case.

-- KeithHelfrich - 25 Jan 2007

On Cairo compatibility: Your very welcome. I think HandlingCairoDakarPluginDifferences in a transparent way is important, at least for a year.

Good feedback on enhancements, thanks.

-- PeterThoeny - 25 Jan 2007

A year ago in EncouragingUpgrading I was arguing that everyone should go on to the DakarRelease without me and take their plugins with them. But now that I still haven't upgraded, I'm appreciative when a plugin keeps me in mind.

I just noticed that if tags were stored in a directory structure that includes the web name, then this would allow for me to compensate for overlapping webs with symbolic links.

In the cases where I have overlapping webs with symbolic links pointing a different set of templates to the same data & pub directories, I can't create tags in one of these 'webs' and see those tags from the other one. So in this case, by storing the _tags files in a web specific directory like ../twiki/pub/TWiki/TagMePlugin/%WEB%/_tags_%TOPIC%.txt, it would actually allow the sharing of tags between webs which in this case good.

Ah, what a twisted twiki web weave sometimes smile I can understand the spec challenges. The best, as always, would be the ability to do both share tags between webs or to keep them private. Maybe a simple read of the Set NOSEARCHALL = on setting in WebPreferences is the way to decide what to do, on a per web basis ?

-- KeithHelfrich - 25 Jan 2007

Perhaps a new motivation to support non-geeky tags is the tag cloud from Amapedia: no underscores and multiple word tags.

-- ArthurClemens - 27 Jan 2007

In an ideal world where we would like for every topic to have at least one tag, what is the easiest way to search for "untagged topics" ? -thanks!

-- KeithHelfrich - 05 Feb 2007

That could be a new report, "show me all topics that are not tagged."

-- PeterThoeny - 05 Feb 2007

I create templates/view.twikiorg.tmpl & enable TagMePlugin by setting SKIN = twikiorg,pattern

Where can I put my style sheet for these tag elements in?

-- ThYang - 10 Feb 2007

TWiki.org has a templates/styles.twikiorg.tmpl defined with this content:

<style type="text/css" media="all">
        .twikiorgTags {
                font-size:94%; /*S2*/
        .twikiorgTags a:link,
        .twikiorgTags a:visited {
                color:#8E9195; /*T8*/
        .twikiorgTags a:hover {
                color:#FBF7E8; /*C3*/
                background-color:#D6000F; /*BG2*/

-- PeterThoeny - 22 Feb 2007

We started using tags with our Corporate TWiki. I reworked the TagMeViewAll ideas, to be embedable by include on any wiki page, using

. This display the same nice tab structure - (All Tags, My Tags, Tag Search), but now all the links are relative to the current topic! No more jumping over to TagMeSearch. Also, there is an anchor to focus the browser on the same region of the page. This is done with a few new pages - TagMeDisplay, TagMeShowAll, TagMeShowMy and TagMeShowSearch.

I will attach a zip, to this topic.

-- CraigMeyer - 23 Feb 2007

In order to fully support the page relative handling, I added support for a separate "Create a Tag" page. This is handled by the Plugin Settings CREATE_PAGE and CREATE_ANCHOR. The first for the actual pagename, the second for modifying the internal page anchor name. They both default to the current values.

While (in the area) I added DENY_GUEST_ADD and DENY_GUEST_CREATE, since I saw they were on the feature request list.

I will post the diff, when I get the chance.

-- CraigMeyer - 26 Feb 2007


Is there a potential for a race condition with the tags files created? If two people create a new tag, at the same time, or add a tag to the same topic at the same time? I've been looking at the code, and I do not see any locks being created? Maybe I missed something?

-- CraigMeyer - 01 Mar 2007

Correct, there is a race condition. I think the chance is very low however. Other places in TWiki also have race conditions, such as registration, change/reset password, change e-mail, logfile update (in a multi-webserver env.)

-- PeterThoeny - 01 Mar 2007

Ok, I've been using a small (~300 line) lock utility found on CPAN NFSLock which works on Unix (not Windows), which I will attach. Example call:

   $filename = "data.txt";
        # do something
        close f1;

-- CraigMeyer - 01 Mar 2007

I am re-working the code to use registerTagHandler() rather than commonTagsHandler() and optional NLock. At the same time I separated the code into a register piece, and a pluginname/Core.pm piece, which seems to be the style. Once I get the testing complete I will post the code.

-- CraigMeyer - 01 Mar 2007

No, please do not use registerTagHandler. Keep the code compatible with Cairo; many companies using this plugin are still on Cairo.

-- PeterThoeny - 01 Mar 2007

Thank you for letting me know. I have that version completed, though I will keep it for our internal use. Should I post the diffs against the Cairo version? The Cairo compatible version has the changes upto the Feb-26 comment. (ie. CREATE_PAGE, CREATE_ANCHOR, etc), but none of the lock, (though I could put that in if you want?). The locking is implemented as lazy, if the module loads, it uses locking, otherwise, none.

-- CraigMeyer - 02 Mar 2007

Craig, regarding your topic changes: how do you get around the tag links pointing to TWiki web?

-- ArthurClemens - 06 Mar 2007

I re-coded the Plugin to allow for SETing the location of the CREATE_PAGE and CREATE_ANCHOR. (This is done on the TWiki.TagMePlugin page). I also re-worked the nice tabbed display to be page relative (so All Tags, My Tags, Tag Search, Create Tag) are displayed by using a %INCLUDE{}%, and clicking on a Tab stays on the page, the context doesn't change. I am considering using Ajax instead rather than redrawing the whole page ( for just a new Tab element). Would also like to use Ajax instead of a <SELECT> dropdown, when there are more than a certain number of tags.

-- CraigMeyer - 07 Mar 2007

Peter, I am importing a MediaWiki with many "categories", which I am mapping to tags. Some of them are deep, meaning 180+ topics in a category. I was able to speed up the display, by first adding a _tags_ByTag directory, which contains one file per tag, which lists the topics associated with that tag. Then by re-coding the _printWebTopic to do it's own format processing (ideas borrowed from Search.pm) in PERL, rather than using a macro call to %SEARCH{}%. This allows for access checking, as well as faster formating (about 3X).

I have coded this in the non-Cairo version, but would be happy to back-port it, if you want? In fact, I think I can work out a way for the plugin to figure out Cairo or current, and then use the appropriate bindings (ie. CommonTags vs RegisterTag). Can you point me to docs for the coding API differences between Cairo and now? Also, Is there still Cairo download version available for testing?

-- CraigMeyer - 12 Mar 2007

You find the latest Cairo release at TWikiRelease04Sep2004. We do not have comprehensive docs on common tags vs register tags, see some hints at HandlingCairoDakarPluginDifferences.

The current implementation is optimized for normal topic view (to display the list of tags on a topic as quickly as possible), at the cost of tag search. May be I misunderstand, but your implementation seems to reverse that: fast tag search at the cost of normal topic view. Could you benchmark your implementation to see the performance on normal topic view?

On re-implementing part of SEARCH, is certainly gets improved performance. Is it done in a clean way, e.g. using just published APIs?

Thanks Craig for working on this! Feel free to update svn directly. I can help in doc updates if you do not have the Cairo environment.

-- PeterThoeny - 17 Mar 2007

Peter, Thanks for pointers to the docs. Clarification, I extended the current file structure, to add the _tags_ByTag directory, the normal _tags_Web.Topic file structure (and code) was not changed. The tag search uses the ByTag directory to find the correct topics - for the requested tag, the rendering is now done in PERL (using published API calls). I did add the NFSLock() calls to avoid problems when running in our mod_perl environment. This is done in the TWiki "lazy" way, ie. only used if available (checked with eval) and relevant (ie. only on Linux and Unix).

I feel that the tags are a much cleaner, (and faster) way to organize, and group topics, when compared to catagories (implemented with TWikiForms and %SEARCHS{}%. The tag information is not stored within the topics, though it could be for insurance, not used for searching, only for audit trail. Something like:

%META:TAG{name="tagname" users="user1, user2" count="2"}%

Just a thought.

-- CraigMeyer - 18 Mar 2007

To get around the problem of Google indexing the tags from the select box (or any other search engine), the select box should be rendered using javascript instead. No-javascript fallback could be a link to a TagMe topic with the current static select box interface.

Attached is a working example to dynamically fill the tags select box: tagme_javascript_select_box.html

I haven't tested form submission, possibly the form should be outside the div.

-- ArthurClemens - 18 Mar 2007

for fear of my development requests getting lost in the comments on this page, I have added them to the bottom of the feature request list

-- KeithHelfrich - 19 Mar 2007

After checking with CraigMeyer - he has some code pending - I have commited my changes first:

Revision 13208: Added option NORMALIZE_TAG_INPUT (to be set to 0) to allow any word as tag name (including upper case, punctuation characters and spaces). Moved "create new tag" form to TagMeManage. Created CSS styles in tagme.css. Added mincount parameter to TAGME{tpaction="showalltags"}.

Next on the list would be an interface to rename tags.

-- ArthurClemens - 22 Mar 2007

I have implemented the create/rename/delete interface, as well as the javascript select box (as of revision 13282). Not released yet. Perhaps rename and delete should be restricted to TWikiAdminGroup on public sites.

-- ArthurClemens - 05 Apr 2007

I've made a fairly minor change locally that exposes the tagLinkFormat variable as tagformat= in the same way that tagQueryFormat is exposed as format= This allowed me to build a %TAGME% search that generates links to a web-specific Tag search page instead of the master version in the TWiki web.

I don't have code access, but do the changes being worked on here include anything like this?

tagformat="<a href=\"%SCRIPTURL%/view/Sandbox/TestTagSearch?tag=$tag\">$tag</a>" 

-- GeorgeClark - 06 Apr 2007

Arthur: Thanks for the enhancements, this makes the plugin much more useful. As you mention, I think the rename/delete should be restricted to admins, also for behind firewall use.

George: Is this needed? See SearchByTags, I think it does what you need.

-- PeterThoeny - 08 Apr 2007

Hi Peter, I'm not sure how SearchByTags helps. I wanted to keep search within the web, and not link into the TWiki web. The TagMe search by default pushes the user into the TWiki web for related tags. You can see what I've done with the custom tag search at http://worcesterapa.org/ in the tag box on the right side of the web. All of the tags and results stay within the Wapa web.

-- GeorgeClark - 14 Apr 2007

Got it. Yes, good to have local link feature for the related links.

-- PeterThoeny - 14 Apr 2007

Here is a diff of the changes that I made to TagMePlugin.pm. I assume that there should also be some validations to prevent evil stuff from being injected through the field?

177c177 <             $line = _printTagLink( $tag, '' ) . "  $num "; --- >             $line = _printTagLink( $tag, '', $tagLinkFormat ) . "  $num "; 321a322 >     my $tagformat = TWiki::Func::extractNameValuePair( $attr, 'tagformat' ) || $tagLinkFormat; 386c387 <                        map{ _printTagLink( $_, $qBy ) } --- >                        map{ _printTagLink( $_, $qBy, $tagLinkFormat ) } 417c418 <                                     $format, $tagVotes{$webTopic}, $size ); --- >                                     $format, $tagVotes{$webTopic}, $tagformat, $size  ); 424c425 <                                     $format, $tagVotes{$webTopic} ); --- >                                     $format, $tagVotes{$webTopic}, $tagformat ); 438c439 <     my( $webTopic, $tagsRef, $qBy, $format, $voteCount, $size ) = @_; --- >     my( $webTopic, $tagsRef, $qBy, $format, $voteCount, $tagformat, $size ) = @_; 449c450 <     $text =~ s/\$taglist/join( ', ', map{ _printTagLink( $_, $qBy ) } @{$tagsRef} )/geo; --- >     $text =~ s/\$taglist/join( ', ', map{ _printTagLink( $_, $qBy, $tagformat ) } @{$tagsRef} )/geo; 458,459c459,460 <     my( $tag, $by ) = @_; <     my $text = $tagLinkFormat; --- >     my( $tag, $by, $tagformat ) = @_; >     my $text = $tagformat; 

-- GeorgeClark - 16 Apr 2007

mmm, we may have just added that functionality to the version of TagMePlugin in svn smile

-- SvenDowideit - 16 Apr 2007

Has anyone considered supporting tagging at the time of Topic creation?

I am thinking of a multi-select dropdown (or Ajax populated box) similiar to the Parent selection. This could support also pre-selection of tags, based on the TopicTemplate or %TagMe{}% calls in the template.

-- CraigMeyer - 18 Apr 2007

I like the location of the tagging interface as in the view.pattern.tmpl as suggested in the docs. However, I would really only like to have the tagging in a selected web (our 'knowledge base' web). Is this possible in any way?

-- JosMaccabiani - 07 May 2007

Yes, create a skin file view.tagging.tmpl and use Set SKIN = tagging, pattern in the web's WebPreferences.

-- ArthurClemens - 07 May 2007

Ah, yes. Of course. I forgot all about that! Thanks, it works great now!

-- JosMaccabiani - 07 May 2007

I was thinking about creating an RSS feed based on a tag. It is pretty trivial to emulate the WebRssBase with %TAGME{tpaction="query" ... }% since the format parameter follows the FormattedSearch. The problem is that there is no sort="modified" option which is what would make tag based RSS truly useful.

-- ChristopherLambacher - 10 May 2007

When will Arthur's new interface be released? I'm excitedly waiting for this! wink It seems like there have been many useful improvements since November 2006.

-- JosMaccabiani - 12 May 2007

I have some wierd issues with the tag counting in the release version of this plugin. As I've just installed the plugin, and was tagging some of the topics, there was the following tag cloud:

  • strange tag cloud:

The strange part is, that those big tags, like 'sondering' or 'waterstand' just have 1 tag in the wiki. I double checked this by doing a search (by clicking them) and confirming that only one page popped up and that the tag count on that page was 1.

Am I missing something? Does the could take into account 'recently accessed topics'?

-- JosMaccabiani - 12 May 2007

The sizing function was very wrong. I have updated it in the newest verion (still in svn).

-- ArthurClemens - 13 May 2007

What do the check boxes mean in Possible Enhancement/Feature Requests? When I cut and paste, they translate to "DONE", but--for example:

DONE revision 13454: Web based feature to remove tags from tag list

Doesn't appear to be done, or at least it isn't documented. Perhaps 13454 points to a future release?

-- DougClaar - 16 May 2007

That is "done" in the MAIN branch of SVN, SVN:twikiplugins/TagMePlugin/ (recent features are not released yet in the Plugins web.)

-- PeterThoeny - 16 May 2007

I reinstalled to the 21 May release, and added tagme to the skin list (before natedit and pattern). However, my tagging interface at hte top of the page does not look like that on twiki.org. Note the larger font size and the not-gray text. Am I doing something wrong?


-- JosMaccabiani - 27 May 2007

There have been many enhancements/changes to this plugin; not sure if the css listed on this topic on 22 Feb 2007 still works.

-- PeterThoeny - 27 May 2007

OK, thanks, i'll try. But should the release version not resemble the t.o styling in stead of the style in my screenshot? It fits better with the overall PatternSkin styling.

Also, I find there are some pages in a web where I don't want tagging (eg on the webhome or on webmanagement topics). So there I have to explicitly set the skin to (in my case) natedit,myskin,pattern.

I would be easier to manage these topics if there was an "exclude topic" option in TagMePlugin (web) settings in some way. Especially if skins are added or removed site-wide later, these pages are likely to be left behind...

-- JosMaccabiani - 03 Jun 2007

Jos, the new release has an updated CSS example in the plugin topic.

-- ArthurClemens - 03 Jun 2007

The delete and rename actions in the new plugin use the isGroupMember subroutine defined in in the Func.pm. Since Func.pm is not updated with this plugin, the delete and rename actions are broken. I'm getting the following error when I use the delete and rename actions: Undefined subroutine &TWiki::Func::isGroupMember called

-- AlokNarula - 04 Jun 2007

That is a known bug, see Bugs:Item4168

  • I have fixed the bug (that I introduced myself). You can now safely use the plugin with TWiki 4. -- ArthurClemens - 07 Jun 2007

-- PeterThoeny - 04 Jun 2007

When trying to add a tag cloud to my WebHome page, the table is not rendered correctly. Here is the code:

| *Browse topics by tags* |
| %TAGME{ tpaction="showalltags" format="<a href=\"%SCRIPTURL%/view%SCRIPTSUFFIX%/%TWIKIWEB%/TagMeSearch?tag=$tag\" style=\"font-size:$size%\">$tag</a>" }% |
The second row of the table does not get rendered. What I see on screen is something like this:
| brainstorming documentation |
Any ideas what might be wrong? Thanks!

-- MatthiasRoeder - 07 Jun 2007

PS: After the upgrade everything works wonderfully well! Thanks!

-- MatthiasRoeder - 13 Jun 2007

My users (all of them are usability geeks/experts) are not really happy with the way TagMePlugin works here's what they say:

  • "tagging takes way too long, that's why I haven't tagged a single topic so far"
  • "Why is the normal search not searching for tags as well?"

To tag a page you have to scroll down a long list of tags to see whether the tag you are looking for is part of the list. If not you have to...

  1. go to the "add tag" section (leaving the topic you want to tag)
  2. add a tag to the system
  3. go back to the topic you want to tag
  4. scroll down the list of tags again
  5. ...and finally tag the topic

Eventually you have to repaet all these steps if you want to create more than one new tag. Not really convenient frown

This is what they want:

  • a text field where you can enter tag names
    • with auto complete suggestions
    • the possibility to enter n -tags in the same text field, something like "tag1, tag2, tag3"
    • tag the topic by hitting the enter key or a submit button
    • and they don't really understand (or don't want to) why tags aren't considered in normal search.

There's no doubt that the requested approach is much more user friendly than the current one but is it possible to implement that at all?

I'm not a coder so I can simply tell them "it's not possible" (at least for me) but that's not really satisfying. What do you guys think?

-- CarloSchulz - 07 Jun 2007

Hi Carlo, you're absolutely right. The only things why it hasn't been done is because noone has written it.

But I must say that adding new tags is a bit improved with the latest version. The option to add tags on the fly has been written but there's no interface for it yet. Expect autocomplete to last a bit longer.

Add tags to search: as non-coder you can help to write the request and specification.

-- ArthurClemens - 07 Jun 2007

re: write the request and specification.

here or in codev?

  • Start here, it may be done just using this plugin. -- ArthurClemens - 10 Jun 2007

-- CarloSchulz - 08 Jun 2007

Version 1.041 has a couple of improvements:

  • Tags with the same frequency are now drawn the same size
  • A number of CSS style fixes
  • Added note "How to put tags on every page"
  • Updated documentation: new screenshots, upgrade note, updated list of CSS classes
  • Better appearance of tag cloud on "All tags" page (example _work_areas files are included in SVN)

-- ArthurClemens - 10 Jun 2007

I have added two requests to the Possible Enhancements at the top of the page that seem to be recurring questions as I look through the discussion histories, but I have not seen answers or been able to work out the solutions myself. Has anyone had success makeing the following work?

Allow a TAG search with wild card functionality. (For example tag="*" to show all tagged documents)

Allow option for a topic search(query) using multiple Tags. (for example: would allow a more specific search for topics taged with both TAG-A and TAG-B)

-- BenjaminDalton - 13 Jul 2007

And the ability to search for topics that don't have any tags, while we're at it wink

-- KeithHelfrich - 14 Jul 2007

It seems that with the latest version of the TagMePlugin, the ability to use a multi-tagged query has been added! Thanks to the developer for the added functionality.

-- BenjaminDalton - 16 Jul 2007

My company has finally agreed to install TagMePlugin, search-limited to the current web (we have 850 webs; this limitation is a Good Thing). I plan to play with it ... but until I have a chance to do so I'm asking:

I really hope it's possible by now to define "Web Specific" tags (on a web-by-web basis). I DO NOT want to see all possible tags from our entire 850-web site in my tagging menu.

This was last mentioned 8 months ago... What is the status of this option?

-- VickiBrown - 02 Aug 2007

Bug request filed: 4441

-- VickiBrown - 07 Aug 2007

I got bug when doing the search for tag "C++"

-- HieuLeTrung - 14 Aug 2007

Can you please provide some more information on your bug? Maybe an error message, plugin version, etc. Previous versions used to only allow alphanumeric characters and underscores in tag names, though this might have changed with the new version. Perhaps you can submit the bug on the Bugs web?

-- AndrewRJones - 15 Aug 2007

Back on 16 Apr 2007, I had suggested an enhancement allows the link for related tags to be overridden so that I can keep all tag searching local in a web and not put the user back into the TWiki web.

SvenDowideit suggested that similar changes may have been checked into SVN. I'm trying to upgrade to the latest TWiki and plugins, and in digging through the code, the changes or similar function is missing.

Any chance that this format override will be made available? Thanks.

-- GeorgeClark - 18 Aug 2007

A while back CarloSchulz asked if it would be possible to include tags in the normal search. I was wondering the same thing. Has there anything been done about that? Would it be possible to include this feature in the plugin itself or would the standard search (lib/TWiki/Search.pm) have to be altered?

-- MartinKaufmann - 11 Sep 2007

I'm having a strange problem with adding tags. My twiki installation is running on Ubuntu 7.04 and apache2.2. When I try to add tags from IE, Opera, or Firefox on Linux, everything works fine. However when I add a new tag to a topic from FF on windows the tag will be added, but FF immediately goes to an error page saying "The connection to the server was reset while the page was loading." I can't reproduce the problem with any other browser, and it only happens when adding a new tag. Any ideas?

-- JoeAthman - 20 Sep 2007

Does anyone know if it is possible to change the look of a topic depending on whether there are tags selected or not? I'm trying to make sure that the users are actually tagging all the new topics they are writing. I tried using the SpreadSheetPlugin but didn't manage to come up with an expression that detects whether a topic is tagged or not. Any ideas?

-- MartinKaufmann - 21 Sep 2007

On normal search searching also tags: This would be useful, possibly controllable with the scope="" parameter to VarSEARCH. I don't think the Plugins API offers a way to hook into search. That is, the TWikiFuncDotPm module needs to be enhanced first.

On test if topic is already tagged: This does not exist yet. Can easily be done by adding a new action to the plugin variable, such as tpaction="counttags" that returns the number of tags on a topic.

-- PeterThoeny - 25 Sep 2007

We are currently deciding how to organise our new TWiki site and TagMePlugin is one of the options. When I presented a range of options to my team, TagMePlugin was rejected on the basis that without being able to incorporate tags in to the normal search (or do a keyword search within a tag set), the benefit was too limited. Our other main requirements which this plugin does not yet deliver are (1) having web specific tags and (2) email notification based on a tag.

I shall watch the development of this plugin with interest as I think it would be extremely useful if some of these functions could be added. I think the UI is already pretty good.

-- TamsinTweddell - 05 Nov 2007

These are sensible enhancements. TWiki is open source, features get added according to interests and needs of the developers. If inclined, you can hire a consultant to accelerate the development.

-- PeterThoeny - 06 Nov 2007

I have installed the plugin (TWiki 4, 1.046): . I am trying to make it show up. I'm failing.

I have tried putting

  * Set SKIN = tagme04x01,pattern

in my web preferences, and in my TWikiPreferences. I have tried tagme as well as tagme04x01 (I'm not sure if this is TWiki 4.1).

Nothing I do has any noticeable effect. The tag interface is not shown on any page.

Can anyone help?

-- VickiBrown - 23 Nov 2007

Your TWiki version is written on your TWiki.WebHome topic. Did you download the latest plugin version?

-- ArthurClemens - 23 Nov 2007

-- HansSchwing - 26 Nov 2007

Tried installing TagMePlugin via configure-Add Extensions in a new install of Twiki 4.2 Beta 3 on Fedora 8(installed with the new installer- no problems encountered) and the TagMePlugin installer complains about an error in line 890 of the installer. Files are copied but the plugin is not installed. Note the same error occured with the TagCloudPlugin installer complaining about line 939 of the installer.

-- HansSchwing - 26 Nov 2007

Arthur - Your TWiki version is written...

Unfortunately, my TWiki version is not so written.(or, at least, not in a user-understandable way . Support/WhatVersionTWiki) And yes, it was the most recent version of the plugin. n any case, I tried both versions of the SKIN setting; neither worked. (fwiw, I've since been told we apparently have 4.05).

-- VickiBrown - 28 Nov 2007

Looking at WhatVersionTWiki you seem to have 4.0.4. Is that information outdated?

-- ArthurClemens - 29 Nov 2007

Am I missing something or is there not a way to give a group access to remove tags from specific topics? I know I can delete the tag globally, but there seems like there should be a way for an Admin group to remove inappropriately tagged topics, other then going into pub/_work_areas/TagMePlugin and removing the tag from the file there.

I understand that it's based on voting, but sometimes in our environment, documents get a completely inappropriate tag, either by mistake or someone not understanding the tagging mechanism.

-- SteveHajducko - 03 Dec 2007

If I understand you, an admin "delete" action should remove the tag entirely?

-- ArthurClemens - 03 Dec 2007

This is a sensible enhancement request. I also think it would be useful to have a delete tag feature just for admins, that removes the tag from _tags_all.txt and from all topics. On TWiki.org I frequently delete tags that have been added for testing. I added enhancement request at the top of the page.

-- PeterThoeny - 04 Dec 2007

Is there any Progress in isolating tags by web?

-- MarcusFleige - 02 Jan 2008


I opened a bug for TagMePlugin here, and I attached on the bug page a patch to correct it. Could you, or someone else, test it and check if it's OK? Thank you.

-- GuilhermeGarnier - 09 Jan 2008

Sensible fix, thank you. Someone will look at it and check it in. ReadmeFirst if you are interested to get involved directly.

-- PeterThoeny - 10 Jan 2008

ManfredMislik made some enhancements to the plugin topic in regards to changes of work area directory. This is now tracked in TWikibug:Item5318.

-- PeterThoeny - 04 Feb 2008

The installer script fails to install this plugin under 4.2 (the plugin itself, however, works fine), as it still uses the old installer format. I opened a bug report and included a hack.

-- MartinKaufmann - 05 Feb 2008

I have uploaded a new package. Please try again.

-- ArthurClemens - 05 Feb 2008

Thanks, Arthur. The new installer works fine.

-- MartinKaufmann - 06 Feb 2008

I wanted weighted tag searching, so I hate to say this but I've forked the code. :-\ Maybe someone can think of a way to integrate this. I've created TagMeWeightedSearchCode with two revisions illustrating the change. Unfortunately it's not even based on the latest code, it's based on 05-Oct-2006 release. I'll post some sort of tarball with all of the necessary pieces at http://devil.m3047.inwa.net/pub/twiki/ in case somebody actually has that version running and wants to try it out. I also updated the TagMeSearch page of that vintage in a compatible way.

-- FredMorris - 02 Mar 2008

Fred, could you explain why you did this change? I am curious because the current tag search does already ranking based on the tagging activity.

-- PeterThoeny - 02 Mar 2008

I can try. I didn't see it running on twiki.org, and I had my own 4.0.4 + hotfix development environment to play with where it was easier to make a small coding change than to download something new and potentially break something else which I needed. I did it based on a reading of the current code:

        if ( scalar keys %sawTag < scalar @qTagsA ) {

            # Not all tags seen, skip this topic
            delete $tagVotes{$webTopic};

Unless I'm mistaken this means that the tags are ANDed, and unless they all appear on a topic then the topic is suppressed. What I've essentially done is to OR the tags, plus add a NOT.

Again reading the current code, in the case where all tags have exactly one vote on all topics and all tags have to occur, I don't see how a meaningful ranking based on a tagcount sort occurs.

On the other hand if it's done the way that I've done it then if all the tags are present a topic is likely (but not guaranteed, because of voting... oh well) to appear at the top of the sort. I find it useful to see some of the things farther down the list, and if I'm getting too much noise it's usually associated with a few tags which I can give a negative score == NOT.

If that doesn't resonate, how about that it just seems more organic: tags which are combined on a topic push those topics towards the top, and tags on different topics at least make those topics visible (it gets a little more interesting when you use three or more tags).

tagcount ranking never quite seemed to work right before... of course what it was doing was ranking by the vote for the single tag searched for. Again from examination of the current source I don't see that that logic has been changed to account for multiple tags:

                if ( $tag =~ /^($qTagsRE)$/ ) {
                    $sawTag{$tag}        = 1;
                    $tagVotes{$webTopic} = $num
                      unless ( $by && $users !~ /$by/ );

It seems to me like maybe it's not accumulating the scores across multiple tags, so how does that rank across multiple tags?

I didn't understand it, although I'm sure TMTOWTDI. wink

-- FredMorris - 02 Mar 2008

There's a bug in my code, too (ain't this virtual peer reviewing the stuff?), although it's silent:

while (defined($qTagSplit[0]) && length($qTagSplit[0])) { shift @qTagSplit; }
In context, what this does is always create a null (zero-length) tag. So if there was a null tag, this would always end up matching it.

What I meant to do was to exactly the opposite:

while (defined($qTagSplit[0]) && (! length $qTagSplit[0])) { shift @qTagSplit; }

Something tells me I could get away with simple shift @qTagSplit; but I feel safer with all that extra code. D'oh!

-- FredMorris - 02 Mar 2008

Hello everyone! I have a problem with spam on my twiki site. Someone added tags in the form of http addresses that I cannot remove. Any ideas what the problem might be? Many thanks!

-- MatthiasRoeder - 25 Mar 2008

You should be able to delete tags, topic TWiki.TagMeDeleteTag.

-- ArthurClemens - 26 Mar 2008

Thanks, Arthur, but deleting those tags does not work, since they do not appear in the drop-down menu.

-- MatthiasRoeder - 26 Mar 2008

You can always manually fix the tag list by editing the _tags_all.txt file in the plugin's working area.

-- PeterThoeny - 26 Mar 2008

Hi Peter! I looked into pub/TWiki/TagMePlugin/_tags_all.txt but could not find the spam tags.

-- MatthiasRoeder - 27 Mar 2008

The recommended storage area of plugins changed two times unfortunately. Depending on the version of TWiki you are using it might be in twiki/pub/TWiki/TagMePlugin/, twiki/pub/_work_areas/TagMePlugin or twiki/working/_work_areas/TagMePlugin.

-- PeterThoeny - 01 Apr 2008

The highlighted note on the TagMePlugin page informs you "Note: (TWiki 4.2) If you have upgraded TagMePlugin and appear to have lost all your old tags: copy all your tag files from pub/TWiki/TagMePlugin/ files to pub/_work_areas/TagMePlugin/ and they should magically re-appear."

However, I found I had to copy the files into twiki/working/_work_areas/TagMePlugin as noted above by PeterThoeny on 01 Apr 2008. My TWiki version is TWiki-4.2.0, Tue, 22 Jan 2008, build 16278. Is the note in error?

-- ColinFee - 11 Apr 2008

The note is specific to TWiki release 4.1. It needs to be updated with info for 4.2, 4.1 and older releases.

-- PeterThoeny - 11 Apr 2008

I had to use this to recover tags in 4.2: cp -rpvi twiki412/pub/_work_areas/TagMePlugin twiki420/working/work_areas

It would be better to have a description on the TagMePlugin page about how to remove a tag that was wrongly assigned to a topic just from that topic. The way I found was doing it on the server by: cd twiki420/working/work_areas/TagMePlugin Searching the topic related file and removing the line with the wrong tag. I am not aware of a "graphical" function e.g. just for an admin as part of the plugin.

-- IngoKappler - 14 Apr 2008

Dear Friends: first of all, thanks for all your great contributions!

I am on the latest versions of TWiki and NatSkin, and the standard TagMePlugin.pm "skin" generates a "Tag line" on three lines (first line: "Tags:", second: dropdown box with tags etc., third: ", view all tags"). That of course uses up way too much real estate, those newlines are not good.

My ugly fix is that I replaced "form name" by "form style=\"display: inline;\" name" in TagMePlugin.pm (currently on line 1322)

Does anyone have any suggestions for a cleaner fix?

-- LuziSchucan - 24 Apr 2008

Enhancement request: Option that restricts the TagMePlugin so that only admins are allowed to create new tags in order to prevent that all people can create tags because for example they might create tags that are equal/similar to other already existing tags.

-- KirstinWeber - 25 Apr 2008

That wouldn't be very Wiki Kirstin, would it?

-- FranzJosefGigler - 26 Apr 2008

WoutMertens reported that there were some break of encapsulation that made this plugin fail with TWikiStandAlone. I just commited a fix, replacing all $TWiki::Plugins::SESSION->{cgiQuery} by TWiki::Func::getCgiQuery(), from plugins API.

-- GilmarSantosJr - 27 Apr 2008

Hi Franz-Joseph, but it is much easier. We have one person in our company who is responsible for the structure in the wiki. He could decide which tags are suitable. Everybody who has an idea for a new tag can discuss with him. Everbody knows almost everybody so they can talk to each other. Otherwise we always have to keep an eye on everything and remove wrong tags later. We do not want confusion due to wrong tags because it is not easy to get or keep the "whole picture".

-- KirstinWeber - 29 Apr 2008

Unsure of whether to enter this here, but have an issue with Tagme - it works fine in Firefox, but NOT on IE7. No results displayed. after clicking a tag.

-- LisaJSinclair - 07 May 2008

is there any progress on remove tags from specific topics firstly raised by SteveHajducko at 03 Dec 2007 in this page. it does make sense for the case that a documents get a completely inappropriate tag, either by mistake or someone not understanding the tagging mechanism. In my environment, it also happened, and must find a way out.

-- DaveDing - 14 May 2008

I still have Troubles with TagMePlugin and subwebs similar as described in TagMeAndSubWebAddTagProblem (running 4.1, not tested in 4-2).

In Deatil tpaction="showalltags" and tpaction="query" (and outher?) dont work in subwebs using eg

%TAGME{ web="%WEB%" tpaction="showalltags" ... }
WEB comes in Foo/Bar -style and TagMePlugin seems to expect Foo.Bar -style.

As far as i can say the fix PeterThoeny posted in TagMeAndSubWebAddTagProblem concerns some other functions in TagMePlugin.pm %
I found the _queryTag -sub and the _showAllTags -sub, maybe there is more involved.

Does anyone confirm this?

-- ChristophEigenseder - 10 Jun 2008

I seem to be having the TagMeAndSubWebAddTagProblem in Version 1.024 of the TagMePlugin, with a new install of version 4.2.0 of TWiki as well.

The "create new tag" shows the pre-existing tags created in the parent. On a query, if \%WEB\% is not replaced with "." deliminators rather than a slash, then the parent tags show up on queries as well. A TagMeSearch from the sub web's tag cloud will also display the topics of both the parent and the sub web if it uses the same tag name.

I checked for the 2003 fixes specified by PeterTheony specified in the TagMeAndSubWebAddTagProblem, and the code I have appears to have the updates specified:

sub _readTagInfo {
    my ($webTopic) = @_;

    $webTopic =~ s/[\/\\]/\./g;
sub _writeTagInfo {
    my ( $webTopic, @info ) = @_;
    $webTopic =~ s/[\/\\]/\./g;

-- RobertgTaylor - 16 Jun 2008

I have added simple options to the "showalltags" action:

prefix="..." Printed before the list of tags if it is not empty, $n can be used for newlines. e.g: prefix="Tags: <i>" ""
suffix="..." Printed after the list of tags if it is not empty, $n can be used for newlines. e.g: suffix="</i>" ""
This allows to not show anything, useful on public sites, and to only show tags on "content" pages, not admin ones.

Here is the patch to 4.2.x. If no objection/changes in the next days I will commit to SVN. tagmeplugin-prefix-suffix.patch: adds prefix & suffix options. Apply with patch -p1. v1

-- ColasNahaboo - 22 Aug 2008

Sounds good to me. Thanks Colas!

-- PeterThoeny - 22 Aug 2008

Commited to SVN (v 17460). Uploaded to the TagMePlugin page

-- ColasNahaboo - 26 Aug 2008

The yellow box on top of the topic contains wrong info.

"copy all your tag files from pub/TWiki/TagMePlugin/ files to pub/_work_areas/TagMePlugin/ and they should magically re-appear."

the destionation should be /twiki/working/work_areas/TagMePlugin instead.

-- CarloSchulz - 27 Aug 2008

Since I wanted to have a more "standard" UI for the tags (a bit like the proposal by Arthur), something more like what is used in delicious and wordpress, I have coded it as a new parameter "style=blog" to the %TAGME directive. This way I was free to implement things as I wanted, without disturbing the existing code. As I cannot seem to upload things currently here, I have put the code temporarily at my repository http://hg.colas.nahaboo.net/twiki-colas/TagMePlugin/ and I have put it in place in my test wiki at http://wiki.koalaz.net/TWiki/TagMePlugin#blogstyle with screenshots. (I have also renamed my previous changes prefix/suffix into header/footer on advice from Sven, and incorporated Carlo's fix above). I tried to:

  • not to make the voting feature too confusing
  • restrict tagging to wiki account owners
  • have the normal view mode as simple as possible
  • have the "edit tags" frame able to do all the normal operations from one place
  • be able to untag tags put by others, to ease refactoring
  • work with caches
  • only use rectangles for input text (the current pull down menu of the default UI is the thing that makes it unusable for normal users: they think it is a text entry field)
  • do not use pulldown or scrolling lists
  • have "bundles" to group tags
  • confine my changes only in the "style=blog" code, so that other styles can be implemented

I will upload and SVN-up my code wen I will be able to do it.

-- ColasNahaboo - 30 Aug 2008

Thanks Colas for contributing these enhancements!

  • The design goal was to make it as quick and easy as possible to add tags, hence the add tag feature in normal page view. Granted, the pulldown makes it hard if there are more than 20 tags. Your approach adds an extra step, which is offset if there are many tags to chose from. Best UI would be an edit field with an auto-complete feature in normal page view.
  • Is the tag voting feature still present? E.g. sorting by tag votes? I think it is useful to show the number of votes in normal page view so that people can assess the importance of a topic without the need to click around to find out.
  • I think the "remove tag by others" feature should be restricted to admins.
  • I think it would be more intuitive to have an "edit tags" link at the end of the tag list (or "add tags" if empty), instead of a Tags button next to Edit and Attach.

-- PeterThoeny - 31 Aug 2008

I did not see the Tags button either. But the tag edit link can be placed next to the Tags label:

Tags (edit)


Tags some assigned keywords (edit)

Regarding tag voting: my users do not use it because they see a tag assigned to a topic and do not see the need to add a vote at all. And perhaps the population of active taggers is too small.

-- ArthurClemens - 31 Aug 2008

  • Peter, adding tags is something you do quite infrequently compared to viewing them, so confusing the user by adding un-needed things is not something you want. Also, if some visitor tags without thinking he will add bogus tags that all will see and cannot remove, polluting the tag space. Currently all my tests with the default UI have so confused users that they refused to use it
  • I did not modify the backend in any ways, so tag voting is still there. My UI try to keep it out of users ways, but it is there. But I tried to keep the UI like one ones you find in most blogs (hence the name of the style). If you put a TAGME without style= on the page you will still have the traditional UI. But like Arthur I do not think users understand tag voting anyways. I think voting is not really useful, we should rather implement rating or voting-per-community (I guess if I am a developer I just want to see the votes of other developers, not from sales people).
  • remove tag: this is a wiki: you should be able to edit other people contrib.Note that my UI restricts all tag operations (even tagging, opening the edit tag frame) to tag admins: people in the ALLOW_TAG_CHANGE group. In a blog only the authors tag.
  • on the layout, it is actually made by a template I provide, so you can use it differently. Also, my template do not show anything if no tags are set (as in blogs), so I had to put the edit tags somewhere. But one could make other templates...
  • on autocomplete, yes, that would definitely be a welcome enhancement (and some ajaxification, now each time you tag/untag it reloads the topic)

-- ColasNahaboo - 31 Aug 2008

I made the default template for pattern use your suggestions (always visible "Tags: ... (edit)" line", adding another template tagme_styleblogbutton for my previous form with the Tags button.

Commited to SVN as revision 17472, for bug report Item5975: styling for the Tagme Plugin

-- ColasNahaboo - 02 Sep 2008

Here's a screenshot from one of the tagging widgets used at IBM:

tag_.png tag_auto_complete.png

Obviously, this wont work on top of a page as here on TDO as it is designed for usage in a side bar. One can configure what is shown underneath the input field (All tags, my tags, peoples tags). Would be cool if TagMePlugin could be developed in such a direction as it' usage is too uncomfortable right now.

-- CarloSchulz - 03 Sep 2008

Looking at the interaction of that widget it is assumed everyone tags content, where I see that users don't, if a page already is tagged. What is your experience with this?

-- ArthurClemens - 03 Sep 2008

Ah, forgot to mention that my last update to the plugin allow one to type multiple space separated tags at once in the "Enter new tags" line, and that all entered tags will be auto-created and used to tag the topic with. The only missing feature now is autocompletion "a la delicious" on multiple tags. I tried with JQuery + its Autocomplete plugin, and the result seem quite perfect, try it at: http://colas.nahaboo.net/Sandbox/TagAutocomplete

PS: I found out that if you click quick enough on tags, you are able to tag a topic with many tags at once before the page refresh, a real time saver... a poor man's javascript smile

PS2: my UI is PublicCacheAddOn-compatible, btw. Opening the edit tag frame is done with parameters to the url so it is uncached, and the view mode is the same for all users.

-- ColasNahaboo - 03 Sep 2008

Colas, great job. I was just wondering where the submit button is gone (on your site)?

-- CarloSchulz - 04 Sep 2008

Actually, there is no submit in my contributed code. Every action is immediately performed, except for the "Create and tag" button. If you meant http://colas.nahaboo.net/Sandbox/TagAutocomplete, yes it is a mockup code there is no save.

BTW, My test on autocomplete is still buggy (problems on iE & opera) I will continue working on it after Wikisym2008 but I am confident I will be able to incorporate it

-- ColasNahaboo - 05 Sep 2008

Colas - I'm thrilled to see work being done on TagMe. I'm still, however, wishing for tags to be creatable/listed on a per-web basis.

The web="%WEB%" parameter hints at this possibility. Sadly, it doesn't seem to do what we need. The menu still lists all tags, even those created in another web.

My company has 1300 webs and growing, with half a million pages. We simply cannot use this plugin unless tags can be created, stored, and assigned on a per-web basis.

Any plans for this?

-- VickiBrown - 13 Oct 2008

Vicki, just out of curiosity: why do you have so many webs? Do you archive&delete some of them from time to time?

-- MichaelDaum - 14 Oct 2008

Vicki, with the current release you can already query tags in just one web. Look at the tag clound and tag report in the WebHome web. You don't yet get a set of tags to chose from per web.

-- PeterThoeny - 15 Oct 2008

Vicki, I think you want a dedicated tag engine (like scuttle for instance). TWiki is a nice all-in-one system for small installations, but at 100.000 pages +, you will need dedicated components: a proper search engine, a proper document management system, ... a proper tag engine, a delicious like, a proper blog engine, a proper forum engine, ...

This said, I think having a per-web operation for this plugin seems quite doable. I'll see. I guess the easy way is not to separate per web but per (abstract) "realm". Thus you can have 2 webs share a tag space if they use the same realm. And to implement it, have the plugin code not use working/work_areas/TagMePlugin/ to store data but working/work_areas/TagMePlugin/REALM/

-- ColasNahaboo - 15 Oct 2008

Michael - we have so many webs because we have a very large company (14000 employees) with many teams. We really ought to have more than 1300 webs; some of our webs are much bigger than they should be.

> Do you archive&delete some of them from time to time?

Not in any organized fashion.

Peter - I don't want to query tags in only one web. I want to Store tags on a per-web basis. The menu of available tags should only show tags for the current web.

Colas - We have a dedicated tag engine (a local version of scuttle). But that's not part of TWiki, doesn't interoperate with TWiki search, and is full of "other stuff" (lots and lots and lots of "other stuff").

REALM is an... interesting... concept. Although I dont know how I'd begin to explain it to people. I'd think the easiest and most "TWikish" thing would be to simply separate by web. Instead of $webTopic have both $Web and $Topic and store data in working/work_areas/TagMePlugin/Web/_tags_Topic.txt

-- VickiBrown - 02 Dec 2008

Re: "TWiki is a nice all-in-one system for small installations, but at 100.000 pages +, you will need dedicated components: a proper search engine, a proper document management system, ... a proper tag engine, a delicious like, a proper blog engine, a proper forum engine, ..."

I'm giggling.

The half million pages isn't so bad when it's divided up into many webs (another reason to have many webs). It would be insane to work with that many topics acrooss only a few webs.

But truly, most of the people do very little interacting between webs. And we're putting in a better all-site search for those rare occasions. What we want/need is better tagging, sorting, navigation, and organizational tools on a web by web basis.

-- VickiBrown - 02 Dec 2008

Please add casesensitive into TAGME query action

-- HieuLeTrung - 11 Dec 2008

Hi TAGME developers - I'm using TAGME to automatically TAG topics based on TOPIC content to simplify identifying TOPICs later on. I would like a quiet parameter to add, remove, and removeall

  • tpaction="add" quiet="on"
  • tpaction="remove" quiet="on"
  • tpaction="removeall" quiet="on"
...so that there would be no html output at all. This speeds up pages with many TAGMEs.

I added ...

my $quiet = TWiki::Func::extractNameValuePair( $attr, 'quiet' );
if ( $quiet eq 'on' ) {
       return ;
else {
       return _showDefault(@tagInfo) . ( ($noStatus) ? '' : $text );
to those 3 functions to accomplish this.

Is this something that you would support?

-- BurtWelsh - 24 Feb 2009

Burt, yes that can be useful. Please provide documentation and a unified diff (diff -u) of your enhancements.

-- PeterThoeny - 24 Feb 2009

  • %TAGME{ tpaction="add" ... }% - add tag to topic, or add vote to existing tag
Parameter Comment Default
tag="..." Name of tag (required)
nostatus="on" Turn off status text shown when a tag is added or voted on (show status text)
quiet="on" Turn off taglist (show taglist)

  • %TAGME{ tpaction="remove" ... }% - remove my tag vote on existing tag
Parameter Comment Default
tag="..." Name of tag (required)
nostatus="on" Turn off status text shown when a tag is removed or voted on (show status text)
quiet="on" Turn off taglist (show taglist)

  • %TAGME{ tpaction="removeall" ... }% - remove all tag votes on existing tag
Parameter Comment Default
tag="..." Name of tag (required)
nostatus="on" Turn off status text shown when a tag is removed or voted on (show status text)
quiet="on" Turn off taglist (show taglist)

# diff -u TagMePlugin.pm.ORIG TagMePlugin.pm
--- TagMePlugin.pm.ORIG 2008-08-31 03:32:20.000000000 -0700
+++ TagMePlugin.pm      2009-03-02 09:20:58.000000000 -0800
@@ -1070,6 +1070,7 @@
     my $addTag = TWiki::Func::extractNameValuePair( $attr, 'tag' );
     my $noStatus = TWiki::Func::extractNameValuePair( $attr, 'nostatus' );
+    my $quiet = TWiki::Func::extractNameValuePair( $attr, 'quiet' );
     my $webTopic = "$web.$topic";
     my @tagInfo  = _readTagInfo($webTopic);
@@ -1123,7 +1124,12 @@
     # Suppress status? FWM, 03-Oct-2006
-    return _showDefault(@tagInfo) . ( ($noStatus) ? '' : $text );
+    if ( $quiet eq 'on' ) {
+       return '';
+    }
+    else {
+       return _showDefault(@tagInfo) . ( ($noStatus) ? '' : $text );
+    }
 # =========================
@@ -1154,6 +1160,7 @@
     my $removeTag = TWiki::Func::extractNameValuePair( $attr, 'tag' );
     my $noStatus = TWiki::Func::extractNameValuePair( $attr, 'nostatus' );
+    my $quiet = TWiki::Func::extractNameValuePair( $attr, 'quiet' );
     my $webTopic = "$web.$topic";
     my @tagInfo  = _readTagInfo($webTopic);
@@ -1205,7 +1212,12 @@
     # Suppress status? FWM, 03-Oct-2006
-    return _showDefault(@tagInfo) . ( ($noStatus) ? '' : $text );
+    if ( $quiet eq 'on' ) {
+       return '';
+    }
+    else {
+       return _showDefault(@tagInfo) . ( ($noStatus) ? '' : $text );
+    }
 # =========================
@@ -1215,6 +1227,7 @@
     my $removeTag = TWiki::Func::extractNameValuePair( $attr, 'tag' );
     my $noStatus = TWiki::Func::extractNameValuePair( $attr, 'nostatus' );
+    my $quiet = TWiki::Func::extractNameValuePair( $attr, 'quiet' );
     my $webTopic = "$web.$topic";
     my @tagInfo  = _readTagInfo($webTopic);
@@ -1249,7 +1262,12 @@
     # Suppress status? FWM, 03-Oct-2006
-    return _showDefault(@tagInfo) . ( ($noStatus) ? '' : $text );
+    if ( $quiet eq 'on' ) {
+       return '';
+    }
+    else {
+       return _showDefault(@tagInfo) . ( ($noStatus) ? '' : $text );
+    }
 # =========================

-- BurtWelsh - 02 Mar 2009

Thank you Burt. Someone will take it into the release.

-- PeterThoeny - 02 Mar 2009

Thanks Peter. It was also pretty handy for query?

  • tpaction="query" quiet="on"
# diff -u TagMePlugin.pm.VER2 TagMePlugin.pm
--- TagMePlugin.pm.VER2 2009-03-02 09:20:58.000000000 -0800
+++ TagMePlugin.pm      2009-03-02 14:32:04.000000000 -0800
@@ -745,6 +745,7 @@
       || '---+++ $web';
     my $formatFooter = TWiki::Func::extractNameValuePair( $attr, 'footer' )
       || 'Showing $limit out of $count results $showmore';
+    my $quiet = TWiki::Func::extractNameValuePair( $attr, 'quiet' );
     return '__Note:__ Please select a tag' unless ($qTag);
@@ -815,6 +816,10 @@
+    if ( ( $quiet eq 'on' ) && !( scalar keys(%tagVotes) ) ) {
+      return '';
+    }
     return "__Note:__ No topics found tagged with \"$qTag\""
       unless ( scalar keys(%tagVotes) );

-- BurtWelsh - 02 Mar 2009

I'm using Twiki v4.0.1 with Apache2 on Fedora. We plan to upgrade to the latest release soon, but I wanted to get started with the TagMePlugin. The installation went without a hitch once I downloaded extender.pl. However immediately after enabling the TagMePlugin we started having severe performance problems. Specifically, every page being viewed was trying to use 100% of the CPU. When I restarted Apache, the CPU would return to normal until somebody else tried to view a page and the CPU hit the ceiling again. When this happens, the CPU never seems to return to normal utilization. We have a decent sized site with 21 subwebs and <100K pages. I wondered if the TagMePlugin needs to do some long-running initial processing, like indexing all of the pages? To recover my Twiki site I had to restore everything from a nightly backup, otherwise the pegged CPU prevented me from even doing piecemeal repairs. To be clear, nothing was broken. However as long as the CPU is pegged at 100% the Twiki site is completely unusable. From all of the praise and success stories, I'm sure there's something I'm not understanding about how the plugin works or should be configured. Any suggestions?

-- JeffChapman - 2009-10-02

Hmm, not sure this is TagMePlugin related. To help you out, I think it is better to open a support question in the Support web.

-- PeterThoeny - 2009-10-02

I'm using TWiki-4.3.2 and have TagMePlugin installed, but when setting the skin to "tagme_styleblogbutton,pattern" or "tagme_styleblog,pattern" it isn't displaying the tags buttons anywhere.

Has anyone else had this same problem or know how I might fix this?

-- CameronWood - 2010-06-07

When it adds a row to the TagMeChangeRequests page, the date that it sticks in there is the variable %DATE% which will always resolve at runtime to the current date. That needs to be changed to a hard-coded date, or use a template, or something.

-- AaronLWalker - 2010-10-06

Indeed, %DATE% needs to be expanded before posting to TagMeChangeRequests. I just see that there is another issue: Newlines are missing in request table, e.g. all on one row (manually fixed for now).

-- PeterThoeny - 2010-10-06

I'm not sure if I should pose my question here, or to the ChecklistPlugin people. I'm looking for a way to exclude certain topics. With ChecklistPlugin, a new topic gets created ( <topicName>ChecklistItemState ) which ends up getting tagged as well, skews the stats, and makes (more) visible topics which I would rather have hidden. Any thoughts on how to manage this? (I guess I should also look at getting these "supporting" topics excluded from searches as well - just thinking out loud)... thanks.

-- AaronLWalker - 2011-07-14

I'm a newbi so excuse me for this question, but i would like to use TagMePlugin v1.046 to ad tags to my topics, which gets me a first problem: It's stated that i should do like this: "Once a new tag is created, it can be added in the tag list of the topic. ", but i cannot find that tag list of the topic so i can edit it with my desired ads, therefor what shall i do to assign tags to my topics after i create them? Thank you.

-- AlinGramescu - 2011-10-03

All tags are listed in the tag picklist at the top (see example on this topic). Select a tag and click on the small [+] button to add the tag to the page.

-- PeterThoeny - 2011-10-03

Is it possible to increase max. character limit of tags from 30 character to something bigger?

-- DieterAngersbach - 2011-12-21

In your TWiki.TagMeCreateNewTag topic, change the size="30" parameter of the input field named "newtag".

-- PeterThoeny - 2011-12-21

Thanks for your prompt reply Peter. I've changed as you suggested but no luck (changed size to 85)

<input type="text" class="twikiInputField" name="newtag" id="newtag" size="85" value="%URLPARAM{"createtag"}%" onblur="this.value=cleanTag(this.value)" /> <input type="submit" class="twikiSubmit" value="%MAKETEXT{"Create"}%" />

-- DieterAngersbach - 2011-12-21

I found it. I've changed the file named TagMePlugin.pm and it works now. Thanks

-- DieterAngersbach - 2011-12-21

When the number of tags becomes large, finding useful information with regards to a certain aspect of an item becomes difficult.

Is it possible to place tags into different categories based on their meaning?

-- DieterAngersbach - 2011-12-21

Is there a way to disable tag voting? I'm running TagMe plugin 2011-07-12 (v1.9) on TWiki-5.1.1, Sat, 14 Jan 2012, build 22570, Plugin API version 1.4.

-- Steve Chadsey - 2013-01-30

You mean to disable tagging altogether? Remove tagme from the SKIN setting.

-- Peter Thoeny - 2013-01-30

The tagging is great. What I would like is to remove the ability for users to vote for a tag. But, let me explain why I want that, and perhaps there is a better solution.

My organization has a twiki with an index page of how-to pages that are organized by their tag. One of the tags we have is "uncategorized". A user can create a new how-to document using a template we've created. The template has:

<verbatim> %TAGME{ tpaction="add" tag="uncategorized" }% </verbatim>

at the top. This way, the new document is automatically added to an "uncategorized" bucket. Others can add a more appropriate tag at a later time, and, ideally, remove the "uncategorized" tag. However, each time someone new views the new document, the presence of %TAGME will cause the "uncategorized" tag to gain a vote. This prevents a single user from removing that tag - all he can do is remove his vote from the tag.

Removing the tag-vote capability would alleviate this problem. Certainly we could remove that %TAGME from the template, and instruct document authors to apply the "uncategorized" tag themselves, but that is an extra step which may or may not occur reliably.

-- Steve Chadsey - 2013-02-06

Topic attachments
I Attachment History Action Size Date Who Comment
Perl source code filepm NFSLock.pm r1 manage 8.0 K 2007-03-01 - 15:16 CraigMeyer CPAN NFSLock utility (works on Unix & NFS, not Windows)
Compressed Zip archivezip TagMe.zip r1 manage 2.7 K 2007-02-23 - 19:46 CraigMeyer Modified tab structure display to stay IN page
PNGpng Tags.png r2 r1 manage 96.8 K 2006-04-16 - 23:17 ArthurClemens Tags interface wireframe sketch
PNGpng WordPress_Tag_Management_20060909.png r1 manage 155.0 K 2006-09-20 - 20:55 ArthurClemens WordPress tag management interface
PNGpng WordPress_Tag_Options_20060909.png r1 manage 306.2 K 2006-09-20 - 20:54 ArthurClemens WordPress tag options interface
PNGpng tag_.png r1 manage 9.7 K 2008-09-03 - 08:12 CarloSchulz tagging widget at IBM
PNGpng tag_auto_complete.png r1 manage 12.5 K 2008-09-03 - 08:13 CarloSchulz tagging widget at IBM: autocomplete feature
JPEGjpg tagme_fontsize.jpg r1 manage 102.2 K 2007-05-12 - 19:51 JosMaccabiani strange tag cloud
HTMLhtml tagme_javascript_select_box.html r2 r1 manage 0.9 K 2007-03-18 - 22:59 ArthurClemens Javascript to dynamically fill the tags select box
PNGpng tagme_style.png r1 manage 19.5 K 2007-05-27 - 19:18 JosMaccabiani  
JPEGjpg tagmelocation.jpg r1 manage 26.9 K 2006-06-14 - 14:54 AmandaSmith  
Compressed Zip archivetgz tagmeplugin-fwm-061006.tgz r1 manage 22.0 K 2006-10-06 - 23:24 FredMorris Plugin as I modified it, plus css and template files to fit it in the toolbar.
Unknown file formatpatch tagmeplugin-prefix-suffix.patch r1 manage 2.1 K 2008-08-22 - 10:34 ColasNahaboo adds prefix & suffix options. Apply with patch -p1. v1
Edit | Attach | Watch | Print version | History: r406 < r405 < r404 < r403 < r402 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r406 - 2013-02-06 - SteveChadsey
  • 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-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.