DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:tagfilter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
plugin:tagfilter [2020-08-31 09:12] – [TagFilter Plugin] Set lastupdate as in plugin.info.txt to not be alerted of upgrade in plugins manager chtilandplugin:tagfilter [2023-10-21 19:55] (current) Klap-in
Line 5: Line 5:
 author     : lisps, peterfromearth author     : lisps, peterfromearth
 email      : coder@peterfromearth.de email      : coder@peterfromearth.de
-type       : syntax,action,helper +type       : syntax,action,helper, remote 
-lastupdate : 2020-02-19 +lastupdate : 2023-10-21 
-compatible : Greebo, "Frusterick Manners""Elenor Of Tsort", Detritus+compatible : Jack Jackrum, Igor, Hogfather, Greebo, Frusterick Manners, Elenor Of Tsort, Detritus
 depends    : tag, pagelist depends    : tag, pagelist
 conflicts  conflicts 
Line 23: Line 23:
 ===== What it Does ===== ===== What it Does =====
  
-This plugin takes tags that you have added with a tag category, using the tag plugin, and allows you to filter by the category, displaying the results using the pagelist plugin to control formatting.+This plugin takes tags that you have added with a tag category, using the tag plugin, and allows you to filter by the category, displaying the results ... 
 + 
 +  * as links, using the [[plugin:pagelist]] plugin to control formatting
 +  * or optionally rendering the pages in-place using the [[plugin:include]] plugin.
  
 ===== Installation ===== ===== Installation =====
Line 30: Line 33:
   * [[plugin:tag]]   * [[plugin:tag]]
   * [[plugin:pagelist]]   * [[plugin:pagelist]]
 +  * [[plugin:pageimage]] (optional)
 +  * [[plugin:include]] (optional)
  
 Search and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually. Search and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually.
  
-:!: **New code is there:** I fixed the download url, please update. 
  
 ===== Examples/Usage ===== ===== Examples/Usage =====
Line 46: Line 50:
   * Page 1 ''<nowiki>{{tag>status:ready version:weatherwax}}</nowiki>''   * Page 1 ''<nowiki>{{tag>status:ready version:weatherwax}}</nowiki>''
   * Page 2 ''<nowiki>{{tag>status:start version:Angua}}</nowiki>''   * Page 2 ''<nowiki>{{tag>status:start version:Angua}}</nowiki>''
 +
 +==== Tagfilter ====
  
 Tagfilter uses the tag categories to specify what to show as filters and you can also default the values.  Tagfilter uses the tag categories to specify what to show as filters and you can also default the values. 
Line 73: Line 79:
 {{ https://github.com/lisps/tagfilter/raw/master/example/example3.png }} {{ https://github.com/lisps/tagfilter/raw/master/example/example3.png }}
  
-==== NEW TAGCOMPARE ====+==== Tagcompare ====
 Use tagcompare to compare tags between pages.  Use tagcompare to compare tags between pages. 
 You can select the page in columns and for each tag expression there will be a row. You can select the page in columns and for each tag expression there will be a row.
Line 79: Line 85:
   {{tagcompare>Status=status:.*=status:ready|Version=version:.*}}   {{tagcompare>Status=status:.*=status:ready|Version=version:.*}}
  
 +{{:plugin:plugin:tagfilter:tagcompare.png|Example of the tagcompare}}
 [[https://drive.google.com/file/d/1Pa07W0Ez62Z-JSO2cT5y-rNdSMY05fYg/view|Example Link]] [[https://drive.google.com/file/d/1Pa07W0Ez62Z-JSO2cT5y-rNdSMY05fYg/view|Example Link]]
  
Line 93: Line 100:
     * ''multi'' enables multiselect of tags     * ''multi'' enables multiselect of tags
     * ''chosen'' enables the chosen plugin for tag searching     * ''chosen'' enables the chosen plugin for tag searching
-    * ''tagimage'' show image next to tagname in dropdown boxes. Needs ''chosen'' tag. If image is ''status:a'' image needs to be ''tags:status_a.[png|jpg|gif|jpeg]''. Namespace ''tags'' (where the images needs to be placed) is a admin setting (''nsTagImage'')+    * ''tagimage'' show image next to tagname in dropdown boxes. Needs ''chosen'' tag. If image is ''status:a'' image needs to be ''tags:status_a.[png|jpg|gif|jpeg]''. Namespace ''tags'' (where the images needs to be placed) is a admin setting (''nsTagImage''Needs the [[plugin:pageimage]] plugin.
     * ''pagesearch'' add an extra dropdown field at the beginning to search for the page itself.     * ''pagesearch'' add an extra dropdown field at the beginning to search for the page itself.
-    * ''rsort'' enable revers sort of pages+    * ''sortbypageid'' sort by page id rather than title 
 +    * ''rsort'' enable reverse sort of pages
     * ''nolabels'' do not show labels     * ''nolabels'' do not show labels
     * ''noneonclear'' show no pages when nothing is selected     * ''noneonclear'' show no pages when nothing is selected
Line 104: Line 112:
     * ''count'' show the numbers of found pages     * ''count'' show the numbers of found pages
     * ''tagcolumn=<tagexpr>'' show an additional column in pagelist reslut with the selected tags of the page (e.g. ''status:.*'')     * ''tagcolumn=<tagexpr>'' show an additional column in pagelist reslut with the selected tags of the page (e.g. ''status:.*'')
-    * ''tagimagecolumn=<tagexpr>=<imagenamespace>'' show an additional column in pagelist result with an image defined through the tag. (e.g. with ''&tagimagecolumn=status.*=tags'' and the page has version:example as a tag, the image tags:example.[png|jpg|gif] will be used)+    * ''tagimagecolumn=<tagexpr>=<imagenamespace>'' show an additional column in pagelist result with an image defined through the tag. (e.g. with ''&tagimagecolumn=status:.*=tags'' and the page has version:example as a tag, the image tags:example.[png|jpg|gif] will be used). Needs the [[plugin:pageimage]] plugin.
     * [[plugin:pagelist]] flags      * [[plugin:pagelist]] flags 
 +    * ''include'' or ''include=option1;option2;option3'': Use the [[plugin:include]] plugin to render the pages in-place.
  
 ===== Configuration and Settings ===== ===== Configuration and Settings =====
Line 238: Line 246:
  
 >Thanks for sharing, but your code seems bypass the ACL check, which might have security issue. The official new code's link was added in [[plugin:tagfilter#Installation| Installation]] section, which fixes the bug you mentioned to some degree, allowing you to filter tags without specifying namespace. But it still can not specify the root namespace, see [[https://github.com/lisps/tagfilter/issues/6 | this issue]]. >Thanks for sharing, but your code seems bypass the ACL check, which might have security issue. The official new code's link was added in [[plugin:tagfilter#Installation| Installation]] section, which fixes the bug you mentioned to some degree, allowing you to filter tags without specifying namespace. But it still can not specify the root namespace, see [[https://github.com/lisps/tagfilter/issues/6 | this issue]].
 +
 +--> There seems to be a problem showing filtering results for pages with id containing "_template" keyword at the end (see "Template nicht anzeigen" in helper/syntax.php), avoid using it (e.g. id=project_presentation_template or id=project_presentation_template_page won't appear, but id=project_presentation_templat2 will be present in filtering results).
 +
 +==== Terminology & Description ====
 +
 +It is confusing because you refer to tag categories and the Tag plugin also uses the word 'category' but to describe what a tag is i.e. a categorisation of a page. It would be clearer if you use the term TagGroup.
 +
 +I also suggest that you change the syntax to remove the use of colon because this looks like a reference to a namespace. However, if you were to do this one would also need a way to apply a global edit for those that have implemented with colons.
 +
 +--- [[user>lizat|Liz T]] //2020-10-14 13:41//
 +
plugin/tagfilter.1598857935.txt.gz · Last modified: 2020-08-31 09:12 by chtiland

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki