Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs...
View   r22  >  r21  >  r20  >  r19  >  r18  >  r17  ...
TWikiPlugins 22 - 28 Feb 2003 - Main.PeterThoeny
Line: 1 to 1
 

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:

  • Method 1: Safely test on-the-fly by creating separate Production and Test branches in your live TWiki installation.
Changed:
<
<
    • Duplicate the twiki/bin and twiki/lib directories for the Test version, adjusting the paths in the new lib/TWiki.cfg, the twiki/data; the twiki/templates and twiki/pub directories are shared.
>
>
    • Duplicate the twiki/bin and twiki/lib directories for the Test version, and adjust the paths in the new lib/TWiki.cfg. The following directories are shared: twiki/data, twiki/templates and twiki/pub.
 
    • Test Plugins and other new features in the Test installation until you're satisfied.
      • ALERT! If you modify topics using the new features, live users will likely see unfamiliar new META tags showing up on their pages - to avoid this, create and edit test-only topics to try out new features.
    • Copy the modified files to the Production installation. You can update a TWiki installation live and users won't even notice.

TWikiPlugins 21 - 29 Jan 2003 - Main.PeterThoeny
Line: 1 to 1
 

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:
<
<
  • For best performance, enable only the functions you really need. NOTE: outsidePREHandler and insidePREHandler are particularly expensive.
 
  • All but the initPlugin are disabled. To enable a call back, remove DISABLE_ from the function name.
Added:
>
>
  • For best performance, enable only the functions you really need. NOTE: outsidePREHandler and insidePREHandler are particularly expensive.
 

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 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:

Changed:
<
<
  1. Copy the Plugin topic template from EmptyPlugin. To copy the text, go to the page and:
    • click Edit
    • select all in the Edit box & copy
>
>
  1. Copy the Plugin topic template from TWiki.org. To copy the text, go to TWiki:Plugins/PluginPackage and:
    • enter the Plugin name in the "How to Create a Plugin" section
    • click Create
    • select all in the Edit box & copy
 
    • Cancel the edit
Changed:
<
<
    • paste & save as a text file or new topic on your site
  1. Customize the template for your Plugin; you'll probably want to post a working version on your local TWiki site.
  2. Save your topic as a text file, for use in packaging and publishing your Plugin.
>
>
    • go back to your site to the TWiki web
    • In the GoBox enter your Plugin name, for example MyFirstPlugin, press enter and create the new topic
    • paste & save new Plugin topic on your site
  1. Customize your Plugin topic.
    • In case you plan to publish your Plugin at TWiki.org, use Interwiki names for author names, like TWiki:Main/TWikiGuest.
  2. Save your topic, for use in packaging and publishing your Plugin.
 
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:
<
<
  • Plugins Preferences <If user settings are needed, explain... Entering valuse works exactly like TWikiPreferences and WebPreferences: six (6) spaces and then:>"
    • Set <EXAMPLE = value added>
>
>
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.>"
>
>
  • Plugins Preferences <If user settings are needed, explain... Entering values works exactly like TWikiPreferences and WebPreferences: six (6) spaces and then:>"
    • Set <EXAMPLE = value added>
 
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
 
  1. Link from the doc page to a new, blank page named after the Plugin, and ending in Dev, ex: MyFirstPluginDev. This is the discussion page for future development. (User support for Plugins is handled in TWiki:Support.)

-- AndreaSterbini? - 29 May 2001

Changed:
<
<
-- PeterThoeny - 14 Sep 2001
>
>
-- PeterThoeny - 29 Jan 2003
 -- MikeMannix? - 03 Dec 2001

TWikiPlugins 20 - 08 Dec 2002 - Main.PeterThoeny
Line: 1 to 1
 

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.
 ALERT! 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:
<
<
  • For best performance, enable only the functions you really need. NOTE: outsidePREHandler and insidePREHandler are particularly expensive.
 

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.

Added:
>
>
  • For best performance, enable only the functions you really need. NOTE: outsidePREHandler and insidePREHandler are particularly expensive.
 
  • All but the initPlugin are disabled. To enable a call back, remove DISABLE_ from the function name.

Plugin Version Detection


TWikiPlugins 19 - 18 Jul 2002 - Main.PeterThoeny
Line: 1 to 1
 

TWiki Plugins

Line: 53 to 53
 
      • ALERT! If you modify topics using the new features, live users will likely see unfamiliar new META tags showing up on their pages - to avoid this, create and edit test-only topics to try out new features.
    • Copy the modified files to the Production installation. You can update a TWiki installation live and users won't even notice.
Changed:
<
<
  • Method 2: List the Plugin under Test in the DISABLEDPLUGINS variable in TWikiPreferences. Redefine the DISABLEDPLUGINS variable in the Test web and do the testing there.
>
>
  • Method 2: List the Plugin being tested in the DISABLEDPLUGINS variable in TWikiPreferences. Redefine the DISABLEDPLUGINS variable in the Sandbox web and do the testing there.
 

Managing Plugins


TWikiPlugins 18 - 03 Dec 2001 - Main.MikeMannix
Line: 1 to 1
 

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:>"
>
>
  • Plugins Preferences <If user settings are needed, explain... Entering valuse works exactly like TWikiPreferences and WebPreferences: six (6) spaces and then:>"
 
    • Set <EXAMPLE = value added>

How-to Instructions: <Step-by-step set-up guide, user help, whatever it takes to install and run, goes here.>"

Line: 206 to 206
 
  1. Link from the doc page to a new, blank page named after the Plugin, and ending in Dev, ex: MyFirstPluginDev. This is the discussion page for future development. (User support for Plugins is handled in TWiki:Support.)

-- AndreaSterbini? - 29 May 2001

Deleted:
<
<
-- MikeMannix? - 01 Sep 2001
 -- PeterThoeny - 14 Sep 2001
Added:
>
>
-- MikeMannix? - 03 Dec 2001

Revision 22r22 - 28 Feb 2003 - 04:32:00 - PeterThoeny?
Revision 21r21 - 29 Jan 2003 - 07:21:00 - PeterThoeny?
Revision 20r20 - 08 Dec 2002 - 06:36:28 - PeterThoeny?
Revision 19r19 - 18 Jul 2002 - 07:14:42 - PeterThoeny?
Revision 18r18 - 03 Dec 2001 - 10:17:00 - MikeMannix?
Revision 17r17 - 28 Sep 2001 - 00:35:05 - MikeMannix?
This site is powered by the TWiki collaboration platform.
All material on this collaboration platform is the property of the contributing authors.
All material marked as authored by Eben Moglen is available under the license terms CC-BY-SA version 4.
Syndicate this site RSSATOM