<<O>> Difference Topic TWikiPlugins (r1.26 - 15 Dec 2003 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 204 to 204 | ||||||||
Example: <Include an example of the Plugin in action. Possibly include a static HTML version of the example to compare if the installation was a success!>" | ||||||||
Changed: | ||||||||
< < |
Plugin Global Settings: <Description and settings for custom Plugin %VARIABLES%, and those required by TWiki.>" | |||||||
> > |
Plugin Settings: <Description and settings for custom Plugin %VARIABLES%, and those required by TWiki.>" | |||||||
| ||||||||
Line: 231 to 231 | ||||||||
Publishing for Public Use | ||||||||
Changed: | ||||||||
< < |
You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web. All Plugins submitted to TWiki.org are available for download and further development in TWiki:Plugins. Publish your Plugin in three steps: | |||||||
> > |
You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web. All Plugins submitted to TWiki.org are available for download and further development in TWiki:Plugins/PluginPackage. Publish your Plugin in these steps: | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
Added: | ||||||||
> > |
Thank you very much for sharing your Plugin with the TWiki community
Recommended Storage of Plugin DataPlugins sometimes need to store data. This can be Plugin internal data like cache data, or generated data for the browser like images. The following is a recommendation where to store the data.Where to store Plugin Internal DataIn case the Plugin generates data just for internal use, or data which is not specific to a topic, store it in the Plugin's attachment directory.
Where to Store Data for Topics using the PluginIn case the Plugin generates data which is specific to a topic, store it in the topic's attachment directory.
sub _make_filename { my ( $web, $topic, $name ) = @_; # Create web directory "pub/$web" if needed my $dir = TWiki::Func::getPubDir() . "/$web"; unless( -e "$dir" ) { umask( 002 ); mkdir( $dir, 0775 ); } # Create topic directory "pub/$web/$topic" if needed $dir .= "/$topic"; unless( -e "$dir" ) { umask( 002 ); mkdir( $dir, 0775 ); } return "$dir/_FooBarPlugin_$name"; }-- TWiki:Main/PeterThoeny - 11 Dec 2003 -- TWiki:Main/AndreaSterbini - 29 May 2001 -- TWiki:Main/MikeMannix - 03 Dec 2001 |
<<O>> Difference Topic TWikiPlugins (r1.25 - 12 Dec 2003 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 17 to 17 | ||||||||
Preinstalled Plugins | ||||||||
Changed: | ||||||||
< < |
TWiki comes with three Plugins as part of the standard installation. | |||||||
> > |
TWiki comes with a set of Plugins as part of the standard installation. | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Installing Plugins | ||||||||
Line: 55 to 59 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
A Note on Performance | |||||||
> > |
A Note on Plugin Performance | |||||||
Changed: | ||||||||
< < |
The performance of the system depends on the number of Plugins installed and on the Plugin implementation. Some Plugins impose no measurable performance decrease, some do. For example, outsidePREHandler is an expensive callback function, or a Plugin might use many Perl libraries that needs to be initialized with each page view (unless you run mod_perl). It is recommended to measure the performance with and without a new Plugin. Example for Unix:time wget -qO /dev/null http://tukro.sourceforge.net/cgi-bin/view/TWiki/AbcPlugin
| |||||||
> > |
The performance of the system depends on the number of Plugins installed and on the Plugin implementation. Some Plugins impose no measurable performance decrease, some do. For example, outsidePREHandler is an expensive callback function, or a Plugin might use many Perl libraries that need to be initialized with each page view (unless you run mod_perl). It is recommended to measure the performance with and without a new Plugin. Example for Unix:time wget -qO /dev/null http://tukro.sourceforge.net/cgi-bin/view/TWiki/AbcPlugin
| |||||||
In case you need to install an "expensive" Plugin and you need its functionality only in one web you can place the Plugin topic into that web. TWiki will initialize the Plugin only if the Plugin topic is found (which won't be the case for other webs.) | ||||||||
Line: 117 to 121 | ||||||||
| ||||||||
Added: | ||||||||
> > |
Most Plugins use either the commonTagsHandler or startRenderingHandler for rendering tasks:
Hints on Writing Fast Plugins
| |||||||
Plugin Version DetectionTo eliminate the incompatibility problems bound to arise from active open Plugin development, a Plugin versioning system and an APIGetVersion detection routine are provided for automatic compatibility checking.
| ||||||||
Line: 221 to 240 | ||||||||
| ||||||||
Added: | ||||||||
> > |
-- PeterThoeny - 11 Dec 2003 | |||||||
-- MikeMannix? - 03 Dec 2001 |
<<O>> Difference Topic TWikiPlugins (r1.24 - 01 Aug 2003 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 57 to 57 | ||||||||
A Note on Performance | ||||||||
Changed: | ||||||||
< < |
The performance of the system depends on the number of Plugins installed and on the Plugin implementation. Some Plugins impose no measurable performance decrease, some do. For example, outsidePREHandler is an expensive callback function, or a Plugin might use many Perl libraries that needs to be initialized with each page view (unless you run mod_perl). It is recommended to measure the performance with and without a new Plugin.
| |||||||
> > |
The performance of the system depends on the number of Plugins installed and on the Plugin implementation. Some Plugins impose no measurable performance decrease, some do. For example, outsidePREHandler is an expensive callback function, or a Plugin might use many Perl libraries that needs to be initialized with each page view (unless you run mod_perl). It is recommended to measure the performance with and without a new Plugin. Example for Unix:time wget -qO /dev/null http://tukro.sourceforge.net/cgi-bin/view/TWiki/AbcPlugin
| |||||||
In case you need to install an "expensive" Plugin and you need its functionality only in one web you can place the Plugin topic into that web. TWiki will initialize the Plugin only if the Plugin topic is found (which won't be the case for other webs.) |
<<O>> Difference Topic TWikiPlugins (r1.23 - 01 Aug 2003 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 55 to 55 | ||||||||
| ||||||||
Added: | ||||||||
> > |
A Note on PerformanceThe performance of the system depends on the number of Plugins installed and on the Plugin implementation. Some Plugins impose no measurable performance decrease, some do. For example,outsidePREHandler is an expensive callback function, or a Plugin might use many Perl libraries that needs to be initialized with each page view (unless you run mod_perl). It is recommended to measure the performance with and without a new Plugin.
In case you need to install an "expensive" Plugin and you need its functionality only in one web you can place the Plugin topic into that web. TWiki will initialize the Plugin only if the Plugin topic is found (which won't be the case for other webs.)
| |||||||
Managing PluginsWhen you finish installing a Plugin, you should be able to read the user instructions and go. In fact, some Plugins require additional settings or offer extra options that you have to select. Also, you may want to make a Plugin available only in certain webs, or temporarily disable it. And may want to list all available Plugins in certain topics. You can handle all of these management tasks with simple procedures. |
<<O>> Difference Topic TWikiPlugins (r1.22 - 28 Feb 2003 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 48 to 48 | ||||||||
To test new Plugins on your installation before making them public, you may want to use one of these two approaches:
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
<<O>> Difference Topic TWikiPlugins (r1.21 - 29 Jan 2003 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 108 to 108 | ||||||||
In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
Plugin Version Detection | ||||||||
Line: 146 to 146 | ||||||||
Creating the Perl Module | ||||||||
Changed: | ||||||||
< < |
Copy file lib/TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm . EmptyPlugin.pm contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
| |||||||
> > |
Copy file lib/TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm . The EmptyPlugin.pm module contains mostly empty functions, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
If your Plugin uses its own modules and objects, you must include the name of the Plugin in the package name. For example, write Package MyFirstPlugin::Attrs; instead of just Package Attrs; . Then call it using:
use TWiki::Plugins::MyFirstPlugin::Attrs; $var = MyFirstPlugin::Attrs->new(); | |||||||
Writing the Documentation TopicThe Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as FileAttachments for downloading. (The doc topic is also included in the distribution package.) To create a documentation topic: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
OUTLINE: Doc Topic Contents | ||||||||
Changed: | ||||||||
< < |
Check EmptyPlugin on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered: | |||||||
> > |
Check the Plugins web on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered: | |||||||
Syntax Rules: <Describe any special text formatting that will be rendered.>" | ||||||||
Changed: | ||||||||
< < |
MyFirstPlugin Settings: <Description and settings for custom Plugin %VARIABLES%, and those required by TWiki.>" | |||||||
> > |
Example: <Include an example of the Plugin in action. Possibly include a static HTML version of the example to compare if the installation was a success!>" | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
Plugin Global Settings: <Description and settings for custom Plugin %VARIABLES%, and those required by TWiki.>" | |||||||
Changed: | ||||||||
< < |
How-to Instructions: <Step-by-step set-up guide, user help, whatever it takes to install and run, goes here.>" | |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
Test Example: <Include an example of the Plugin in action: if it works, the installation was a success!>" | |||||||
> > |
Plugin Installation Instructions: <Step-by-step set-up guide, user help, whatever it takes to install and run, goes here.>" | |||||||
Plugin Info: <Version, credits, history, requirements - entered in a form, displayed as a table. Both are automatically generated when you create or edit a page in the TWiki:Plugins web.>" | ||||||||
Line: 205 to 215 | ||||||||
| ||||||||
Added: | ||||||||
> > |
-- PeterThoeny - 29 Jan 2003 | |||||||
-- MikeMannix? - 03 Dec 2001 |
<<O>> Difference Topic TWikiPlugins (r1.20 - 08 Dec 2002 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 100 to 100 | ||||||||
Available Core Functions | ||||||||
Changed: | ||||||||
< < |
The lib/TWiki/Func.pm implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
| |||||||
> > |
The TWikiFuncModule (lib/TWiki/Func.pm ) implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
| |||||||
If you use functions not in Func.pm , you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
Predefined HooksIn addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in thelib/TWiki/Plugins/EmptyPlugin.pm module.
| ||||||||
Added: | ||||||||
> > |
| |||||||
Plugin Version Detection |
<<O>> Difference Topic TWikiPlugins (r1.19 - 18 Jul 2002 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 53 to 53 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Managing Plugins |
<<O>> Difference Topic TWikiPlugins (r1.18 - 03 Dec 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 170 to 170 | ||||||||
MyFirstPlugin Settings: <Description and settings for custom Plugin %VARIABLES%, and those required by TWiki.>" | ||||||||
Changed: | ||||||||
< < |
Plugins Preferences <If user settings are needed, explain... Entering valuse works exactly like TWikiPreferences and WebPreferences: six (6) spaces and then:>" | |||||||
> > |
| |||||||
| ||||||||
Line: 206 to 206 | ||||||||
-- PeterThoeny - 14 Sep 2001 | ||||||||
Added: | ||||||||
> > |
-- MikeMannix? - 03 Dec 2001 |
<<O>> Difference Topic TWikiPlugins (r1.17 - 28 Sep 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 42 to 42 | ||||||||
| ||||||||
Added: | ||||||||
> > |
||||||||
On-Site PretestingTo test new Plugins on your installation before making them public, you may want to use one of these two approaches: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 100 to 102 | ||||||||
The lib/TWiki/Func.pm implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
| ||||||||
Changed: | ||||||||
< < |
DevALERT: If you use functions not in Func.pm , you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.
| |||||||
> > |
If you use functions not in Func.pm , you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.
| |||||||
|
<<O>> Difference Topic TWikiPlugins (r1.16 - 18 Sep 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 7 to 7 | ||||||||
Overview | ||||||||
Changed: | ||||||||
< < |
You can add Plugins to extend TWiki's functionality, without altering the core program code. With a plug-in approach, you can: | |||||||
> > |
You can add Plugins to extend TWiki's functionality, without altering the core program code. A plug-in approach lets you: | |||||||
| ||||||||
Changed: | ||||||||
< < |
Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the TWiki:Plugins web. | |||||||
> > |
Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the TWiki:Plugins web. | |||||||
Preinstalled PluginsTWiki comes with three Plugins as part of the standard installation. | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Installing Plugins | ||||||||
Line: 51 to 51 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Managing Plugins | ||||||||
Changed: | ||||||||
< < |
Ideally, after you've installed a Plugin, just read the instructions and you're set. In fact, some Plugins require additional settings or offer extra options that you can modify on Preferences pages. You may want to make a Plugin available only in certain webs, or temporarily disable it. And having to list all available Plugins will probably come up. You can handle all of these with simple procedures. | |||||||
> > |
When you finish installing a Plugin, you should be able to read the user instructions and go. In fact, some Plugins require additional settings or offer extra options that you have to select. Also, you may want to make a Plugin available only in certain webs, or temporarily disable it. And may want to list all available Plugins in certain topics. You can handle all of these management tasks with simple procedures. | |||||||
Setting Preferences | ||||||||
Line: 81 to 81 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
DEMO: Active Plugin Variables | |||||||
> > |
DEMO: Automatically List Active Plugins Using Variables | |||||||
Changed: | ||||||||
< < |
%ACTIVATEDPLUGINS% | |||||||
> > |
Using %ACTIVATEDPLUGINS% : | |||||||
On this TWiki site, the active Plugins are: DefaultPlugin, SpreadSheetPlugin, EditTablePlugin, InterwikiPlugin, RenderListPlugin, SlideShowPlugin, SmiliesPlugin, TablePlugin. | ||||||||
Changed: | ||||||||
< < |
% | |||||||
> > |
Using % : | |||||||
You can use any of these active TWiki Plugins:
| ||||||||
Line: 126 to 126 | ||||||||
With a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The TWiki Plugin API Plugins by providing a programming interface for TWiki. | ||||||||
Added: | ||||||||
> > |
||||||||
The DefaultPlugin Alternative
| ||||||||
Line: 163 to 164 | ||||||||
OUTLINE: Doc Topic Contents Check EmptyPlugin on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered: | ||||||||
Changed: | ||||||||
< < |
Syntax Rules: Describe any special text formatting that will be rendered. | |||||||
> > |
Syntax Rules: <Describe any special text formatting that will be rendered.>" | |||||||
Changed: | ||||||||
< < |
MyFirstPlugin Settings: Description and settings for custom Plugin %VARIABLES%, and those required by TWiki. | |||||||
> > |
MyFirstPlugin Settings: <Description and settings for custom Plugin %VARIABLES%, and those required by TWiki.>" | |||||||
Changed: | ||||||||
< < |
Plugins Preferences work exactly like TWikiPreferences and WebPreferences: six (6) spaces and then:
| |||||||
> > |
Plugins Preferences <If user settings are needed, explain... Entering valuse works exactly like TWikiPreferences and WebPreferences: six (6) spaces and then:>"
| |||||||
Changed: | ||||||||
< < |
How-to Instructions: Step-by-step set-up guide, user help, whatever it takes to install and run, goes here. | |||||||
> > |
How-to Instructions: <Step-by-step set-up guide, user help, whatever it takes to install and run, goes here.>" | |||||||
Changed: | ||||||||
< < |
Test Example: Include an example of the Plugin in action: if it works, the installation was a success! | |||||||
> > |
Test Example: <Include an example of the Plugin in action: if it works, the installation was a success!>" | |||||||
Changed: | ||||||||
< < |
Plugin Info: Version, credits, history, requirements - entered in a form, displayed as a table. Both are automatically generated when you create or edit a page in the TWiki:Plugins web. | |||||||
> > |
Plugin Info: <Version, credits, history, requirements - entered in a form, displayed as a table. Both are automatically generated when you create or edit a page in the TWiki:Plugins web.>" | |||||||
<<O>> Difference Topic TWikiPlugins (r1.15 - 16 Sep 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 80 to 80 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
DEMO: Active Plugin Variables
%ACTIVATEDPLUGINS% | ||||||||
Line: 159 to 159 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
OUTLINE: Doc Topic Contents | |||||||
> > |
OUTLINE: Doc Topic Contents | |||||||
Check EmptyPlugin on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered: Syntax Rules: Describe any special text formatting that will be rendered. | ||||||||
Line: 204 to 204 | ||||||||
-- AndreaSterbini? - 29 May 2001 -- MikeMannix? - 01 Sep 2001 | ||||||||
Added: | ||||||||
> > |
-- PeterThoeny - 14 Sep 2001 |
<<O>> Difference Topic TWikiPlugins (r1.14 - 15 Sep 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Changed: | ||||||||
< < |
Plugin use and development; about the Plugin API. | |||||||
> > |
Plug-in enhanced feature add-ons, with a Plugin API for developers | |||||||
Overview | ||||||||
Changed: | ||||||||
< < |
You can add Plugins to greatly extend TWiki's functionality, without alering the program core. With a plug-in approach, you can: | |||||||
> > |
You can add Plugins to extend TWiki's functionality, without altering the core program code. With a plug-in approach, you can: | |||||||
| ||||||||
Line: 23 to 23 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Installing Plugins | ||||||||
Line: 37 to 37 | ||||||||
Special Requests: Some Plugins need certain Perl modules to be preinstalled on the host system. Plugins may also use other resources, like graphics, other modules, applications, templates. In these cases, detailed instructions are in the Plugin documentation. | ||||||||
Changed: | ||||||||
< < |
Each Plugin has a standard release page, located in the TWiki:Plugins web at TWiki.org. In addition to the documentation topic (SomePlugin ), there's a separate development page.
| |||||||
> > |
Each Plugin has a standard release page, located in the TWiki:Plugins web at TWiki.org. In addition to the documentation topic (SomePlugin ), there's a separate development page.
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
On-Site Pretesting | ||||||||
Line: 47 to 47 | ||||||||
To test new Plugins on your installation before making them public, you may want to use one of these two approaches:
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Managing Plugins | ||||||||
Line: 61 to 61 | ||||||||
Installed Plugins can be toggled on or off, site-wide or by web, through TWikiPreferences and individual WebPreferences: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
Plugin execution order in TWiki is determined by searching Plugin topics in a specific sequence: First, full web.topicname name, if specified in INSTALLEDPLUGINS ; next, the TWiki web is searched; and finally, the current web.
| |||||||
> > |
Plugin execution order in TWiki is determined by searching Plugin topics in a specific sequence: First, full web.topicname name, if specified in INSTALLEDPLUGINS ; next, the TWiki web is searched; and finally, the current web.
| |||||||
Plugin-specific settings are done in individual Plugin topics. Two settings are standard for each Plugin:
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Listing Active PluginsPlugin status variables let you list all active Plugins wherever needed. There are two list formats: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
DEMO: Active Plugin Variables | ||||||||
Changed: | ||||||||
< < |
%ACTIVATEDPLUGINS% | |||||||
> > |
%ACTIVATEDPLUGINS% | |||||||
On this TWiki site, the active Plugins are: DefaultPlugin, SpreadSheetPlugin, EditTablePlugin, InterwikiPlugin, RenderListPlugin, SlideShowPlugin, SmiliesPlugin, TablePlugin. | ||||||||
Changed: | ||||||||
< < |
% | |||||||
> > |
% | |||||||
You can use any of these active TWiki Plugins:
| ||||||||
Line: 98 to 98 | ||||||||
Available Core Functions | ||||||||
Changed: | ||||||||
< < |
The lib/TWiki/Func.pm implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
| |||||||
> > |
The lib/TWiki/Func.pm implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
| |||||||
Changed: | ||||||||
< < |
DevALERT: If you use functions not in Func.pm , you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.
| |||||||
> > |
DevALERT: If you use functions not in Func.pm , you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Predefined Hooks | ||||||||
Changed: | ||||||||
< < |
In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.
| |||||||
> > |
In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Plugin Version Detection | ||||||||
Changed: | ||||||||
< < |
To eliminate the incompatibility problems bound to arise from active open Plugin development, a Plugin versioning system and an API GetVersion detection routine are provided for automatic compatibility checking.
| |||||||
> > |
To eliminate the incompatibility problems bound to arise from active open Plugin development, a Plugin versioning system and an API GetVersion detection routine are provided for automatic compatibility checking.
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Creating Plugins | ||||||||
Line: 134 to 134 | ||||||||
A basic TWiki Plugin consists of two elements: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
The Perl module can be a block of code that connects with TWiki alone, or it can include other elements, like other Perl modules (including other Plugins), graphics, TWiki templates, external applications (ex: a Java applet), or just about anything else it can call. | ||||||||
Changed: | ||||||||
< < |
In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the MyFirstPlugin topic. Other needed Perl code is best placed in a lib/TWiki/Plugins/MyFirstPlugin/ directory.
| |||||||
> > |
In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the MyFirstPlugin topic. Other needed Perl code is best placed in a lib/TWiki/Plugins/MyFirstPlugin/ directory.
| |||||||
The Plugin API handles the details of connecting your Perl module with main TWiki code. When you're familiar with the Plugin API, you're ready to develop Plugins.
Creating the Perl Module | ||||||||
Changed: | ||||||||
< < |
Copy file lib/TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm . EmptyPlugin.pm contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
| |||||||
> > |
Copy file lib/TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm . EmptyPlugin.pm contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
| |||||||
Writing the Documentation Topic | ||||||||
Line: 180 to 180 | ||||||||
Packaging for Distribution | ||||||||
Changed: | ||||||||
< < |
A minimum Plugin release consists of a Perl module with a WikiName that ends in Plugin , ex: MyFirstPlugin.pm , and a documentation page with the same name(MyFirstPlugin.txt ).
| |||||||
> > |
A minimum Plugin release consists of a Perl module with a WikiName that ends in Plugin , ex: MyFirstPlugin.pm , and a documentation page with the same name(MyFirstPlugin.txt ).
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Publishing for Public Use | ||||||||
Changed: | ||||||||
< < |
You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web, where all Plugins submitted to TWiki.org are available for download and further development discussion. Publish your Plugin in three steps: | |||||||
> > |
You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web. All Plugins submitted to TWiki.org are available for download and further development in TWiki:Plugins. Publish your Plugin in three steps: | |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
-- AndreaSterbini? - 29 May 2001 -- MikeMannix? - 01 Sep 2001 |
<<O>> Difference Topic TWikiPlugins (r1.13 - 14 Sep 2001 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 13 to 13 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the TWiki.org Plugins web. | |||||||
> > |
Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the TWiki:Plugins web. | |||||||
Preinstalled Plugins | ||||||||
Line: 21 to 21 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 83 to 83 | ||||||||
DEMO: Active Plugin Variables | ||||||||
Changed: | ||||||||
< < |
%ACTIVATEDPLUGINS% | |||||||
> > |
%ACTIVATEDPLUGINS% | |||||||
On this TWiki site, the active Plugins are: DefaultPlugin, SpreadSheetPlugin, EditTablePlugin, InterwikiPlugin, RenderListPlugin, SlideShowPlugin, SmiliesPlugin, TablePlugin. | ||||||||
Changed: | ||||||||
< < |
% | |||||||
> > |
% | |||||||
You can use any of these active TWiki Plugins:
| ||||||||
Line: 94 to 94 | ||||||||
The TWiki Plugin API | ||||||||
Changed: | ||||||||
< < |
The Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the TWikiReleaseSpring2001. | |||||||
> > |
The Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the 01-Sep-2001 release. | |||||||
Available Core Functions | ||||||||
Line: 128 to 128 | ||||||||
The DefaultPlugin Alternative | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Anatomy of a PluginA basic TWiki Plugin consists of two elements: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
The Perl module can be a block of code that connects with TWiki alone, or it can include other elements, like other Perl modules (including other Plugins), graphics, TWiki templates, external applications (ex: a Java applet), or just about anything else it can call. | ||||||||
Changed: | ||||||||
< < |
In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the YourPlugin topic. Other needed Perl code is best placed in a lib/TWiki/Plugins/YourPlugin/ directory.
| |||||||
> > |
In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the MyFirstPlugin topic. Other needed Perl code is best placed in a lib/TWiki/Plugins/MyFirstPlugin/ directory.
| |||||||
The Plugin API handles the details of connecting your Perl module with main TWiki code. When you're familiar with the Plugin API, you're ready to develop Plugins.
Creating the Perl Module | ||||||||
Changed: | ||||||||
< < |
Copy file (EmptyPlugin.pm to <name>Plugin.pm =EmptyPlugin.pm= contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
| |||||||
> > |
Copy file lib/TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm . EmptyPlugin.pm contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
| |||||||
Writing the Documentation TopicThe Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as FileAttachments for downloading. (The doc topic is also included in the distribution package.) To create a documentation topic: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 161 to 161 | ||||||||
OUTLINE: Doc Topic Contents | ||||||||
Changed: | ||||||||
< < |
Check EmptyPlugin on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered: | |||||||
> > |
Check EmptyPlugin on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered: | |||||||
Syntax Rules: Describe any special text formatting that will be rendered. | ||||||||
Changed: | ||||||||
< < |
YourPlugin Settings: Description and settings for your custom Plugin %VARIABLES%, and those required by TWiki. | |||||||
> > |
MyFirstPlugin Settings: Description and settings for custom Plugin %VARIABLES%, and those required by TWiki. | |||||||
Plugins Preferences work exactly like TWikiPreferences and WebPreferences: six (6) spaces and then:
| ||||||||
Line: 180 to 180 | ||||||||
Packaging for Distribution | ||||||||
Changed: | ||||||||
< < |
A minimum Plugin release consists of a Perl module with a WikiName that ends in Plugin , ex: YourPlugin.pm , and a documentation page with the same name(YourPlugin.txt ).
| |||||||
> > |
A minimum Plugin release consists of a Perl module with a WikiName that ends in Plugin , ex: MyFirstPlugin.pm , and a documentation page with the same name(MyFirstPlugin.txt ).
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Publishing for Public Use | ||||||||
Line: 197 to 197 | ||||||||
You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web, where all Plugins submitted to TWiki.org are available for download and further development discussion. Publish your Plugin in three steps:
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Added: | ||||||||
> > |
-- AndreaSterbini? - 29 May 2001 -- MikeMannix? - 01 Sep 2001 -- PeterThoeny - 14 Sep 2001 |
<<O>> Difference Topic TWikiPlugins (r1.12 - 07 Sep 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TOC: No TOC in "TWiki.TWikiPlugins" | ||||||||
Changed: | ||||||||
< < |
TWiki Plugins | |||||||
> > |
TWiki Plugins | |||||||
Plugin use and development; about the Plugin API. | ||||||||
Changed: | ||||||||
< < |
Overview | |||||||
> > |
Overview | |||||||
You can add Plugins to greatly extend TWiki's functionality, without alering the program core. With a plug-in approach, you can: | ||||||||
Line: 15 to 15 | ||||||||
Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the TWiki.org Plugins web. | ||||||||
Changed: | ||||||||
< < |
Preinstalled Plugins | |||||||
> > |
Preinstalled Plugins | |||||||
TWiki comes with three Plugins as part of the standard installation. | ||||||||
Line: 26 to 26 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Installing Plugins | |||||||
> > |
Installing Plugins | |||||||
Each TWikiPlugin comes with full documentation: step-by-step installation instructions, a detailed description of any special requirements, version details, and a working example for testing. | ||||||||
Line: 42 to 42 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
On-Site Pretesting | |||||||
> > |
On-Site Pretesting | |||||||
To test new Plugins on your installation before making them public, you may want to use one of these two approaches: | ||||||||
Line: 53 to 53 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Managing Plugins | |||||||
> > |
Managing Plugins | |||||||
Ideally, after you've installed a Plugin, just read the instructions and you're set. In fact, some Plugins require additional settings or offer extra options that you can modify on Preferences pages. You may want to make a Plugin available only in certain webs, or temporarily disable it. And having to list all available Plugins will probably come up. You can handle all of these with simple procedures. | ||||||||
Changed: | ||||||||
< < |
Setting Preferences | |||||||
> > |
Setting Preferences | |||||||
Installed Plugins can be toggled on or off, site-wide or by web, through TWikiPreferences and individual WebPreferences: | ||||||||
Line: 75 to 74 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Listing Active Plugins | |||||||
> > |
Listing Active Plugins | |||||||
Plugin status variables let you list all active Plugins wherever needed. There are two list formats:
| ||||||||
Line: 93 to 92 | ||||||||
Changed: | ||||||||
< < |
The TWiki Plugin API | |||||||
> > |
The TWiki Plugin API | |||||||
The Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the TWikiReleaseSpring2001. | ||||||||
Changed: | ||||||||
< < |
Available Core Functions | |||||||
> > |
Available Core Functions | |||||||
The lib/TWiki/Func.pm implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
| ||||||||
Line: 105 to 104 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Predefined Hooks | |||||||
> > |
Predefined Hooks | |||||||
In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.
| ||||||||
Changed: | ||||||||
< < |
Plugin Version Detection | |||||||
> > |
Plugin Version Detection | |||||||
To eliminate the incompatibility problems bound to arise from active open Plugin development, a Plugin versioning system and an API GetVersion detection routine are provided for automatic compatibility checking.
| ||||||||
Line: 122 to 121 | ||||||||
| ||||||||
Deleted: | ||||||||
< < |
||||||||
Changed: | ||||||||
< < |
Creating Plugins | |||||||
> > |
Creating Plugins | |||||||
With a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The TWiki Plugin API Plugins by providing a programming interface for TWiki. | ||||||||
Changed: | ||||||||
< < |
The DefaultPlugin Alternative | |||||||
> > |
The DefaultPlugin Alternative | |||||||
| ||||||||
Changed: | ||||||||
< < |
Anatomy of a Plugin | |||||||
> > |
Anatomy of a Plugin | |||||||
A basic TWiki Plugin consists of two elements: | ||||||||
Line: 144 to 142 | ||||||||
The Plugin API handles the details of connecting your Perl module with main TWiki code. When you're familiar with the Plugin API, you're ready to develop Plugins. | ||||||||
Changed: | ||||||||
< < |
Creating the Perl Module | |||||||
> > |
Creating the Perl Module | |||||||
Copy file (EmptyPlugin.pm to <name>Plugin.pm =EmptyPlugin.pm= contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
| ||||||||
Changed: | ||||||||
< < |
Writing the Documentation Topic | |||||||
> > |
Writing the Documentation Topic | |||||||
The Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as FileAttachments for downloading. (The doc topic is also included in the distribution package.) To create a documentation topic: | ||||||||
Line: 180 to 178 | ||||||||
Changed: | ||||||||
< < |
Packaging for Distribution | |||||||
> > |
Packaging for Distribution | |||||||
A minimum Plugin release consists of a Perl module with a WikiName that ends in Plugin , ex: YourPlugin.pm , and a documentation page with the same name(YourPlugin.txt ).
| ||||||||
Line: 194 to 192 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Publishing for Public Use | |||||||
> > |
Publishing for Public Use | |||||||
You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web, where all Plugins submitted to TWiki.org are available for download and further development discussion. Publish your Plugin in three steps: |
<<O>> Difference Topic TWikiPlugins (r1.11 - 02 Sep 2001 - AndreaSterbini?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 117 to 117 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 140 to 140 | ||||||||
| ||||||||
Added: | ||||||||
> > |
In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the YourPlugin topic. Other needed Perl code is best placed in a lib/TWiki/Plugins/YourPlugin/ directory.
| |||||||
The Plugin API handles the details of connecting your Perl module with main TWiki code. When you're familiar with the Plugin API, you're ready to develop Plugins. |
<<O>> Difference Topic TWikiPlugins (r1.10 - 02 Sep 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Changed: | ||||||||
< < |
TWikiPlugins allow you to add new features to TWiki without changing the core program. Using a plug-in approach means that you can: | |||||||
> > |
Plugin use and development; about the Plugin API. | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
OverviewYou can add Plugins to greatly extend TWiki's functionality, without alering the program core. With a plug-in approach, you can:
| |||||||
| ||||||||
Changed: | ||||||||
< < |
Everything to do with TWiki Plugins - including demos, new releases, downloads, and discussion - is available at TWiki.org, in the TWiki.org Plugins web. | |||||||
> > |
Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the TWiki.org Plugins web.
Preinstalled PluginsTWiki comes with three Plugins as part of the standard installation.
| |||||||
Installing Plugins | ||||||||
Line: 21 to 35 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Some Plugins need certain Perl modules to be pre-installed on the host system. Plugins may also use other resources, like graphics, other modules, applications, templates. In these cases, detailed instructions are in the Plugin documentation. | |||||||
> > |
Special Requests: Some Plugins need certain Perl modules to be preinstalled on the host system. Plugins may also use other resources, like graphics, other modules, applications, templates. In these cases, detailed instructions are in the Plugin documentation. | |||||||
Changed: | ||||||||
< < |
TWikiPlugin documentation pages are located at TWiki.org, in TWiki:Plugins web. Each Plugin has an doc topic (ex: SomePlugin ) and a separate development page.
| |||||||
> > |
Each Plugin has a standard release page, located in the TWiki:Plugins web at TWiki.org. In addition to the documentation topic (SomePlugin ), there's a separate development page.
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
Preinstalled Plugins | |||||||
> > |
On-Site Pretesting | |||||||
Changed: | ||||||||
< < |
TWiki comes with three Plugins as part of the standard installation. | |||||||
> > |
To test new Plugins on your installation before making them public, you may want to use one of these two approaches: | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Deleted: | ||||||||
< < |
| |||||||
Managing Plugins | ||||||||
Line: 76 to 92 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
TIP! To test new Plugins on your installation before making them public, you may want to use one of these two approaches: | |||||||
> > |
The TWiki Plugin API | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
The Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the TWikiReleaseSpring2001. | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
Available Core Functions | |||||||
Changed: | ||||||||
< < |
Creating Plugins | |||||||
> > |
The lib/TWiki/Func.pm implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
| |||||||
Changed: | ||||||||
< < |
With a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The TWiki Plugin API Plugins by providing a programming interface for TWiki. | |||||||
> > |
DevALERT: If you use functions not in Func.pm , you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.
| |||||||
Changed: | ||||||||
< < |
Anatomy of a Plugin | |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
A basic TWiki Plugin consists of two elements: | |||||||
> > |
Predefined Hooks | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.
| |||||||
Changed: | ||||||||
< < |
The Perl module can be a block of code that connects with TWiki alone, or it can include other elements, like other Perl modules (including other Plugins), graphics, TWiki templates, external applications (ex: a Java applet), or just about anything else it can call. | |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
The Plugin API handles the details of connecting your Perl module with main TWiki code. When you're familiar with the Plugin API, you're ready to develop Plugins. | |||||||
> > |
Plugin Version Detection | |||||||
Changed: | ||||||||
< < |
TWiki Plugin API | |||||||
> > |
To eliminate the incompatibility problems bound to arise from active open Plugin development, a Plugin versioning system and an API GetVersion detection routine are provided for automatic compatibility checking.
| |||||||
Changed: | ||||||||
< < |
The Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the TWikiReleaseSpring2001. | |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
The lib/TWiki/Func.pm implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
DevALERT: If you use functions not in Func.pm , you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.
| |||||||
> > |
| |||||||
Deleted: | ||||||||
< < |
In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
Creating Plugins | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
With a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The TWiki Plugin API Plugins by providing a programming interface for TWiki. | |||||||
The DefaultPlugin Alternative
| ||||||||
Added: | ||||||||
> > |
Anatomy of a PluginA basic TWiki Plugin consists of two elements:
| |||||||
Creating the Perl ModuleCopy file (EmptyPlugin.pm to <name>Plugin.pm =EmptyPlugin.pm= contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
| ||||||||
Line: 177 to 203 | ||||||||
| ||||||||
Added: | ||||||||
> > |
-- AndreaSterbini? - 29 May 2001 -- MikeMannix? - 01 Sep 2001 |
<<O>> Difference Topic TWikiPlugins (r1.9 - 01 Sep 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 28 to 28 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Pre-Installed Plugins | |||||||
> > |
Preinstalled Plugins | |||||||
TWiki comes with three Plugins as part of the standard installation. | ||||||||
Line: 38 to 38 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Managing Installed Plugins | |||||||
> > |
Managing Plugins | |||||||
Ideally, after you've installed a Plugin, just read the instructions and you're set. In fact, some Plugins require additional settings or offer extra options that you can modify on Preferences pages. You may want to make a Plugin available only in certain webs, or temporarily disable it. And having to list all available Plugins will probably come up. You can handle all of these with simple procedures. | ||||||||
Changed: | ||||||||
< < |
Set Preferences for Individual Plugins | |||||||
> > |
Setting Preferences | |||||||
Installed Plugins can be toggled on or off, site-wide or by web, through TWikiPreferences and individual WebPreferences: | ||||||||
Line: 59 to 59 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
List Active Plugins Automatically | |||||||
> > |
Listing Active Plugins | |||||||
Plugin status variables let you list all active Plugins wherever needed. There are two list formats:
| ||||||||
Line: 83 to 83 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Creating New Plugins | |||||||
> > |
Creating Plugins | |||||||
With a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The TWiki Plugin API Plugins by providing a programming interface for TWiki. | ||||||||
Line: 113 to 113 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Customize the DefaultPlugin | |||||||
> > |
The DefaultPlugin Alternative | |||||||
| ||||||||
Changed: | ||||||||
< < |
Create a Plugin Module in Perl | |||||||
> > |
Creating the Perl Module | |||||||
Copy file (EmptyPlugin.pm to <name>Plugin.pm =EmptyPlugin.pm= contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
| ||||||||
Changed: | ||||||||
< < |
Create a Plugin Documentation Topic | |||||||
> > |
Writing the Documentation Topic | |||||||
The Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as FileAttachments for downloading. (The doc topic is also included in the distribution package.) To create a documentation topic: | ||||||||
Line: 153 to 153 | ||||||||
Changed: | ||||||||
< < |
Package a Plugin for Distribution | |||||||
> > |
Packaging for Distribution | |||||||
A minimum Plugin release consists of a Perl module with a WikiName that ends in Plugin , ex: YourPlugin.pm , and a documentation page with the same name(YourPlugin.txt ).
| ||||||||
Line: 167 to 167 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Publish a Plugin for General Use | |||||||
> > |
Publishing for Public Use | |||||||
You can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web, where all Plugins submitted to TWiki.org are available for download and further development discussion. Publish your Plugin in three steps: |
<<O>> Difference Topic TWikiPlugins (r1.8 - 31 Aug 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Deleted: | ||||||||
< < |
About Plugins | |||||||
TWikiPlugins allow you to add new features to TWiki without changing the core program. Using a plug-in approach means that you can:
|
<<O>> Difference Topic TWikiPlugins (r1.7 - 27 Aug 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 11 to 11 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
Everything to do with TWiki Plugins - including demos, new releases, downloads, and discussion - is available at TWiki.org, in the TWiki.org Plugins web. | |||||||
> > |
Everything to do with TWiki Plugins - including demos, new releases, downloads, and discussion - is available at TWiki.org, in the TWiki.org Plugins web. | |||||||
Installing Plugins | ||||||||
Line: 46 to 46 | ||||||||
Set Preferences for Individual Plugins | ||||||||
Changed: | ||||||||
< < |
Installed Plugins can be toggled on or off, site-wide or by web, through TWikiPreferences and individual WebPreferences: | |||||||
> > |
Installed Plugins can be toggled on or off, site-wide or by web, through TWikiPreferences and individual WebPreferences: | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 64 to 64 | ||||||||
List Active Plugins AutomaticallyPlugin status variables let you list all active Plugins wherever needed. There are two list formats: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
DEMO: Active Plugin Variables | ||||||||
Line: 82 to 82 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Creating New Plugins | ||||||||
Line: 138 to 138 | ||||||||
OUTLINE: Doc Topic Contents | ||||||||
Changed: | ||||||||
< < |
Check EmptyPlugin on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered: | |||||||
> > |
Check EmptyPlugin on TWiki.org for the latest Plugin doc topic template. Here's a quick overview of what's covered: | |||||||
Changed: | ||||||||
< < |
Syntax Rules: explanation coming up | |||||||
> > |
Syntax Rules: Describe any special text formatting that will be rendered. | |||||||
YourPlugin Settings: Description and settings for your custom Plugin %VARIABLES%, and those required by TWiki. | ||||||||
Line: 175 to 175 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
<<O>> Difference Topic TWikiPlugins (r1.6 - 27 Aug 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
TWiki Plugins | ||||||||
Line: 179 to 179 | ||||||||
| ||||||||
Added: | ||||||||
> > |
-- MikeMannix? - 26 Aug 2001 |
<<O>> Difference Topic TWikiPlugins (r1.5 - 26 Aug 2001 - MikeMannix?) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < |
TWiki Plugins | |||||||
> > |
TWiki Plugins | |||||||
Changed: | ||||||||
< < |
Plugins allow you to extend the syntax or functionality of TWiki. ... | |||||||
> > |
About Plugins | |||||||
Changed: | ||||||||
< < |
TWikiPreferences has the list of installed plugins and activated plugins. | |||||||
> > |
TWikiPlugins allow you to add new features to TWiki without changing the core program. Using a plug-in approach means that you can: | |||||||
Changed: | ||||||||
< < |
How to Create a Plugin | |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
under construction... ( check back at http://TWiki.org/cgi-bin/view/TWiki/TWikiPlugins ) | |||||||
> > |
Everything to do with TWiki Plugins - including demos, new releases, downloads, and discussion - is available at TWiki.org, in the TWiki.org Plugins web. | |||||||
Changed: | ||||||||
< < |
How to Install a Plugin | |||||||
> > |
Installing Plugins | |||||||
Changed: | ||||||||
< < |
under construction... ( check back at http://TWiki.org/cgi-bin/view/TWiki/TWikiPlugins ) | |||||||
> > |
Each TWikiPlugin comes with full documentation: step-by-step installation instructions, a detailed description of any special requirements, version details, and a working example for testing. | |||||||
Changed: | ||||||||
< < |
Plugins under the hood | |||||||
> > |
Most Plugins can be installed in three easy steps, with no programming skills required:
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
Some Plugins need certain Perl modules to be pre-installed on the host system. Plugins may also use other resources, like graphics, other modules, applications, templates. In these cases, detailed instructions are in the Plugin documentation. | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
TWikiPlugin documentation pages are located at TWiki.org, in TWiki:Plugins web. Each Plugin has an doc topic (ex: SomePlugin ) and a separate development page.
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
Pre-Installed Plugins | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
TWiki comes with three Plugins as part of the standard installation. | |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Added: | ||||||||
> > |
Managing Installed PluginsIdeally, after you've installed a Plugin, just read the instructions and you're set. In fact, some Plugins require additional settings or offer extra options that you can modify on Preferences pages. You may want to make a Plugin available only in certain webs, or temporarily disable it. And having to list all available Plugins will probably come up. You can handle all of these with simple procedures.Set Preferences for Individual PluginsInstalled Plugins can be toggled on or off, site-wide or by web, through TWikiPreferences and individual WebPreferences:
web.topicname name, if specified in INSTALLEDPLUGINS ; next, the TWiki web is searched; and finally, the current web.
Plugin-specific settings are done in individual Plugin topics. Two settings are standard for each Plugin:
List Active Plugins AutomaticallyPlugin status variables let you list all active Plugins wherever needed. There are two list formats:
DEMO: Active Plugin VariablesTIP! To test new Plugins on your installation before making them public, you may want to use one of these two approaches:
Creating New PluginsWith a reasonable knowledge of the Perl scripting language, you can create new Plugins or modify and extend existing ones. Basic plug-in architecture uses an Application Programming Interface (API), a set of software instructions that allow external code to interact with the main program. The TWiki Plugin API Plugins by providing a programming interface for TWiki.Anatomy of a PluginA basic TWiki Plugin consists of two elements:
TWiki Plugin APIThe Application Programming Interface (API) for TWikiPlugins provides the specifications for hooking into the core TWiki code from your external Perl Plugin module. The Plugin API is new to the Production version of TWiki with the TWikiReleaseSpring2001. Thelib/TWiki/Func.pm implements ALL official Plugin functions. Plugins should ONLY use functions published in this module.
DevALERT: If you use functions not in Func.pm , you run the risk of creating security holes. Also, your Plugin will likely break and require updating when you upgrade to a new version of TWiki.
In addition to TWiki core functions, Plugins can use predefined hooks, or call backs, listed in the lib/TWiki/Plugins/EmptyPlugin.pm module.
Customize the DefaultPlugin
Create a Plugin Module in PerlCopy file (EmptyPlugin.pm to <name>Plugin.pm =EmptyPlugin.pm= contains no executable code, so it does nothing, but it's ready to be used. Customize it. Refer to the Plugin API specs for more information.
Create a Plugin Documentation TopicThe Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as FileAttachments for downloading. (The doc topic is also included in the distribution package.) To create a documentation topic:
OUTLINE: Doc Topic Contents Package a Plugin for DistributionA minimum Plugin release consists of a Perl module with a WikiName that ends inPlugin , ex: YourPlugin.pm , and a documentation page with the same name(YourPlugin.txt ).
Publish a Plugin for General UseYou can release your tested, packaged Plugin to the TWiki community through the TWiki:Plugins web, where all Plugins submitted to TWiki.org are available for download and further development discussion. Publish your Plugin in three steps:
|
<<O>> Difference Topic TWikiPlugins (r1.4 - 14 Jul 2001 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
| |||||||
TWiki PluginsPlugins allow you to extend the syntax or functionality of TWiki. ... | ||||||||
Line: 12 to 13 | ||||||||
under construction... ( check back at http://TWiki.org/cgi-bin/view/TWiki/TWikiPlugins ) | ||||||||
Added: | ||||||||
> > |
Plugins under the hood
|
<<O>> Difference Topic TWikiPlugins (r1.3 - 14 Mar 2001 - PeterThoeny) |
Line: 2 to 2 | ||||||||
---|---|---|---|---|---|---|---|---|
Plugins allow you to extend the syntax or functionality of TWiki. ... | ||||||||
Added: | ||||||||
> > |
TWikiPreferences has the list of installed plugins and activated plugins. | |||||||
How to Create a Pluginunder construction... ( check back at http://TWiki.org/cgi-bin/view/TWiki/TWikiPlugins ) |
<<O>> Difference Topic TWikiPlugins (r1.2 - 04 Mar 2001 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
TWiki Plugins | |||||||
Plugins allow you to extend the syntax or functionality of TWiki. ... | ||||||||
Changed: | ||||||||
< < |
How to Create a Plugin | |||||||
> > |
How to Create a Plugin | |||||||
under construction... ( check back at http://TWiki.org/cgi-bin/view/TWiki/TWikiPlugins ) | ||||||||
Changed: | ||||||||
< < |
How to Install a Plugin | |||||||
> > |
How to Install a Plugin | |||||||
under construction... ( check back at http://TWiki.org/cgi-bin/view/TWiki/TWikiPlugins ) |
<<O>> Difference Topic TWikiPlugins (r1.1 - 17 Feb 2001 - PeterThoeny) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
Plugins allow you to extend the syntax or functionality of TWiki. ...
How to Create a Plugin
under construction... ( check back at http://TWiki.org/cgi-bin/view/TWiki/TWikiPlugins )
How to Install a Plugin
under construction... ( check back at http://TWiki.org/cgi-bin/view/TWiki/TWikiPlugins )
-- PeterThoeny - 17 Feb 2001 |
Topic TWikiPlugins . { View | Diffs | r1.26 | > | r1.25 | > | r1.24 | More } |
Revision r1.1 - 17 Feb 2001 - 08:35 - PeterThoeny Revision r1.26 - 15 Dec 2003 - 07:23 - PeterThoeny |
Copyright © 1999-2024 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems regarding TWiki.Tukro? Send feedback. |