Redirect Plugin
Create a redirect to another topic or website
I typically use this to make easy-to-type shortforms/acronyms of topic names. For example:
- Actual content appears under
Main.LightweightDirectoryAccessProtocol
-
Main.LDAP
contains just a redirect tag. Referencing Main.LDAP
anywhere or entering it in the Jump box takes one directly to Main.LightweightDirectoryAccessProtocol
Syntax Rules
- Redirect to a topic within the web:
%REDIRECT{"SomeTopic"}%
- Redirect to a topic in another web:
%REDIRECT{"Someweb.SomeTopic"}%
- Redirect to any URL:
%REDIRECT{"http://wikipedia.org/"}%
- Pass parameters:
- Url parameters are passed on:
http://365847.689093.cn/Main/TopicThatContainsARedirect?q=LDAP"}%
. The landing topic url will contain these parameters
- Parameters can also be passed to the variable:
%REDIRECT{"Someweb.SomeTopic?q=LDAP"}%
-
REDIRECT
parameters override url parameters
Prevent redirecting
To view the topic that contains a
REDIRECT
, pass parameter
noredirect=on
to the url. For example:
http://365847.689093.cn/Main/WebHome?noredirect=on
Wikipedia like "Redirected from..."
A redirect now appends the
redirectedfrom
parameter to the url which contains the Web.Topic that the user has been redirected from. This allows us to display Wikipedia like "Redirected from ..." text on the destination topic. You can use the
%URLPARAM{redirectedfrom}%
variable to access the parameter and create the "Redirected from..." text.
Below is an example you can put in your template:
%IF{ "$'URLPARAM{redirectedfrom}'" then="<span class='foswikiGrayText'>(Redirected from <a href='%SCRIPTURLPATH{view}%/%URLPARAM{redirectedfrom}%?noredirect=on'>%URLPARAM{redirectedfrom}%</a>)</span>"}%
Which will display the following on topics that have been redirected:
(Redirected from Web.Topic)
Don't check that the target topic exists
If you pass the dontcheck=1 parameter then Foswiki will let you redirect to a topic that doesn't exist. This is very useful as a way to wrap up data form creators for applications.
e.g. RoleCreator:
%REDIRECT{newtopic="%SCRIPTURLPATH{"edit"}%/%BASEWEB%/UnnamedRoleAUTOINC1?topicparent=RoleList;templatetopic=RoleTemplate;t=%SERVERTIME{"$day$hour$min$sec"}%" dontCheck="1"}%
Now, for instance in
WebLeftBar you can just use:
* [[RoleCreator][Create Role]]
Test topics
If installed:
Installation Instructions
You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.
Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install".
If you have any problems, or if the extension isn't available in
configure
, then you can still install manually from the command-line. See
http://foswiki.org/Support/ManuallyInstallingExtensions for more help.
Plugin Files
File: |
Description: |
data/System/RedirectPlugin.txt |
Documentation Topic |
lib/Foswiki/Plugins/RedirectPlugin.pm |
Plugin Modulde |
data/Sandbox/RedirectPluginTest.txt |
Test Topic |
data/Sandbox/RedirectPluginDestination.txt |
Test Topic |
Plugin Info