Tree Plugin

Renders topics' parent-child relationships as hierarchical tree view. Useful for dynamic site maps and threads.

Syntax Rules

%TREEVIEW{}% displays topic children in a hierarchical tree
%TREE{}% synonym of %TREEVIEW{}%

Parameter Description Default
web The web to search. current web
topic Specify tree's root topic. If none the entire web topics' tree is generated none
formatting Specify the formatting method
ullist is a <ul>-list, see sample UL lists
ollist is a <ol>-list, see sample OL lists
outline is an outline list, see sample Outlines
hlist is a <h n >-list of section heads, see sample Headlines
coloroutline:colorlist is an outline formatting with level values turned into colors, see sample Nested tables . Example: formatting="coloroutline:#ffeeff,#eeffee,#ffffee,#eeeeff,#ffeeee,#eeffff"
imageoutline:mode is a way to incorporate images into the outline format, specifically to display thread-like and folder views, see sample Image Trees . The general format is: imageoutline: mode : images : imageformat. Example: formatting="imageoutline:thread" or formatting="imageoutline:thread:I.gif,white.gif,T.gif,L.gif:<img src=\"$image\" border=\"0\">".
outline
excludetopic Same meaning as VarSEARCH excludetopic. Topics with excluded parent or processed like topic without parent. none
includetopic Same meaning as VarSEARCH topic. Can improve processing time. none
startlevel The depth of the tree to start showing nodes from. To hide the root node, supply startlevel="1" (root is level 0). The displayed node depths are relative to the root topic. 0 or 1 if topic is not specified
stoplevel The depth of the tree to show, relative to start level. 999
header Output the value within a <div> of class treePluginHeader. Suppressed if the tree is empty. none
footer Output the value within a <div> of class treePluginFooter. Suppressed if the tree is empty. none
zero Output the value within a <div> of class treePluginZero if the tree is empty. none
bookview List topics in BookView form. Not supported from v0.9. Instead use something like:
%TREE{topic="GrandParent" formatting="outline" format="$outnum $topic <br /> $summary <hr />"}%
none
format Specify the format for each node ( outline & coloroutline). The following pseudo-variable are supported on top of the ones described in FormattedSearch:
$spacetopic - the topic with spaces
$level - the tree depth of the topic (in whatever format)
$count - the topic's child position
$index - the index of the topic in the tree. Starts from one. Most useful when used in combination with TreeBrowserPlugin
$outnum - outline number for the topic (eg, 1.3.4.2)
$url - the current topic's URL
$author - the topic's last author Not supported from v0.9. Use %AUTHOR% instead.
$modTime - the topic's modification time. Not supported from v0.9. Use $date instead.
none
formatbranch - specify the format for a group of children ( outline & coloroutline)
$parent - the text of a node
$children - the text of all the node's children (if any)
none
levelprefix Specify a prefix to a node format. The prefix is inserted $level times at the beginning of the rendered node format. It allows generation of trees using TWiki bullet list syntax thus enabling usage of TreePlugin in combination with TreeBrowserPlugin. none
nodiv Suppress the <div> around the tree. Set to 2 to suppress div around header, footer and zero. Allows for trees concatenation. none
separator Character string used to separate items in the tree \n
nocache Set to 1 to disable caching mechanism for that specific tree. Really a developer setting. 0

Samples

See the following page for sample usage and output:

Sandbox page for experimentation:

Usage

%TREE{web="Sandbox" formatting="ullist"}%

%TREE{web="Sandbox"}%

%TREE{excludetopic="Web*" formatting="outline" format="* [[$topic][$spacetopic]]" levelprefix="   " startlevel="1"}%

Combination with TreeBrowserPlugin

%TREEBROWSER{"file" title="%WEB%"}%
%TREEVIEW{web="%WEB%" topic="GrandParent" formatting="outline" format="* $topic" levelprefix=" "}%

Performance consideration

For each %TREE% or %TREEVIEW% tag a VarSEARCH at topic scope is performed. To reduce the scope of that search one can use includetopic and excludetopic. Those two parameters should be used by TreePlugin users worried about performance. In fact they can potently greatly reduce the processing time.

For instance if you know that every topic in your tree has a common prefix you can easily make use of includetopic. Also when generating web tree you may want to excludetopic prefixed with Web.

Plugin Settings

Specify plug-in settings in LocalSite.cfg:

  • Set {Plugins}{$pluginName}{Debug} to 1 to enable debug output. Set to 2 to get a lot more debug output.
  • Set {Plugins}{$pluginName}{NoCache} to 1 to disable caching mechanism. Intended for development purposes only.

Installation Instructions

  • Download the ZIP file from the Plugin web (see below)
  • Unzip TreePlugin.zip in your ($TWIKI_ROOT) directory.
  • Alternatively,
    • Manually resolve the dependencies listed below. None

Plugin Info

Authors: TWiki:Main.SlavaKozlov (alpha release), TWiki:Main.StephaneLenclud (2006-2008)
Copyright ©: Copyright (C) 2002 Slava Kozlov. All Rights Reserved.
License: GPL
Dependencies: None
CPAN Dependencies: none (test package relies on Wiki:PerlUnit)
Version: 1.7
Change History:







 
  • Suche in Topic-Namen

  • Suche in Topic-Inhalten
This site is powered by the TWiki collaboration platform Powered by Perl