This plugin will allow you to create variables in arbitrary topic pages, and not just
WebPreferences. You can then refer to those variables from any topic within the same Web or Wiki, and pass in parameters to those vars to make them appear in URLPARAM. This allows you to build TWiki:Codev.TWikiApplications by bundling sets of directives on a page and then using them from elsewhere.
(Perhaps a future iteration will support
Interwiki references, but that's probably not likely, unless we use XML-RPC or something to cut down the overhead of getting those values from afar.)
Syntax Rules
- Set a variable:
* Set VARIABLE_NAME = "some value"
- Use a variable in the same Web:
%TopicName.VARIABLE_NAME%
- Use a variable from a different Web:
%Webname.TopicName.VARIABLE_NAME%
Parameterised:
- Set a variable:
* Set VARIABLE_NAME = "some value %URLPARAM{parameter}"
- Use a variable in the same Web:
%TopicName.VARIABLE_NAME{parameter="Custard"}%
- Use a variable from a different Web:
%Webname.TopicName.VARIABLE_NAME{parameter="Custard"}%
(setting values is done just like in
WebPreferences; with six preceding spaces, an asterisk, and so on).
Caveats
- The URLPARAM thing will not work unless the plugin is running in a CGI environment. You'll get a note in the warning log otherwise.
- You cannot use two queries with the same parameter sets on the same page - the second definition will override the first.
- Variables (variable is a silly name - think directive or macro) cannot be parameterised in the %VAR% form, only in the %TOPIC.VAR% form - I did this because I got conflicts with META.
TopicVarsPlugin Settings
- One line description, is shown in the TextFormattingRules? topic
- Set SHORTDESCRIPTION = Set variables in arbitrary topics and refer to them from other topics within the same web; these can be parameterised thus facilitating the packaging of TWiki:Codev.TWikiApplications
Plugin Installation Instructions
- Download the ZIP file from the Plugin web (see below)
- Unzip
TopicVarsPlugin.zip
in your twiki installation directory. Content:
File: | Description: |
data/TWiki/TopicVarsPlugin.txt | Plugin topic |
lib/TWiki/Plugins/TopicVarsPlugin.pm | Plugin Perl module |
- Check this topic here if the installation was successful
- Test if the plugin is correctly installed:
- Set THE_ANSWER = 42
- You should see the answer here: [42] (%THE_ANSWER%)
- and here: [%TopicVarsPlugin.THE_ANSWER%] (%TopicVarsPlugin.THE_ANSWER%)
- and here: [%TWiki.TopicVarsPlugin.THE_ANSWER%] (%TWiki.TopicVarsPlugin.THE_ANSWER%)
- And now with parameters
- Set THE_PARAMETERISED_ANSWER = I like
- Here: [%TopicVarsPlugin.THE_PARAMETERISED_ANSWER{parameter="Jelly"}%] (%TopicVarsPlugin.THE_ANSWER{parameter="Jelly"}%)
- and here: [%TWiki.TopicVarsPlugin.THE_PARAMETERISED_ANSWER{parameter="Jelly"}%] (%TWiki.TopicVarsPlugin.THE_ANSWER{parameter="Jelly"}%)
Plugin Info
Related Topics: InterwikiPlugin
--
TrippLilley? - 15 Nov 2001