diff options
author | Peter Thoeny <web-hurd@gnu.org> | 2001-09-14 09:55:51 +0000 |
---|---|---|
committer | Peter Thoeny <web-hurd@gnu.org> | 2001-09-14 09:55:51 +0000 |
commit | b8f530cba75878726226708a4d45b076dcb65ded (patch) | |
tree | 37815a49d306ea74ef95ecfd41b841ed413cfba9 /TWiki | |
parent | f4332f75f367a88d4b3959a131f1b1bc1fa40854 (diff) |
none
Diffstat (limited to 'TWiki')
-rw-r--r-- | TWiki/TWikiPlugins.mdwn | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/TWiki/TWikiPlugins.mdwn b/TWiki/TWikiPlugins.mdwn index faf0e45f..8ee87e80 100644 --- a/TWiki/TWikiPlugins.mdwn +++ b/TWiki/TWikiPlugins.mdwn @@ -12,7 +12,7 @@ You can add Plugins to greatly extend TWiki's functionality, without alering the * heavily customize an installation and still do clean updates to new versions of TWiki; * rapidly develop new TWiki functions in Perl using the Plugin API. -Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the **[[TWikiPlugins]]**. +Everything to do with TWiki Plugins - demos, new releases, downloads, development, general discussion - is available at TWiki.org, in the **[[TWikiPlugins]] web**. ## <a name="Preinstalled_Plugins"> Preinstalled Plugins </a> @@ -20,7 +20,7 @@ TWiki comes with three Plugins as part of the standard installation. * **DefaultPlugin** handles some legacy TWiki variables that may be present in long-established sites. This option can be controlled from %TWIKIWEB%.TWikiPreferences. (Perl programmers can also add rules for simple custom processing.) -* **EmptyPlug** is a fully functional module, minus active code; it does nothing and serves as a template for new Plugin development. +* **EmptyPlugin** is a fully functional module, minus active code; it does nothing and serves as a template for new Plugin development. * **InterwikiPlugin** is preinstalled but can be disabled or removed. Use it for quick linking to to remote sites: <code>**TWiki:Plugins**</code> expands to TWiki:Plugins on TWiki.org. You can add your own shortcuts and URLs to the existing directory of Wiki-related and other probably useful sites. @@ -95,7 +95,7 @@ Plugin status variables let you list all active Plugins wherever needed. There a ## <a name="The_TWiki_Plugin_API"> </a> 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. +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. ### <a name="Available_Core_Functions"> Available Core Functions </a> @@ -130,22 +130,22 @@ With a reasonable knowledge of the Perl scripting language, you can create new P ### <a name="The_DefaultPlugin_Alternative"> The DefaultPlugin Alternative </a> -* **DefaultPlugin** can handle some outdated TWiki variables, found, for example, in sites recently updated from an old version. Settings are in %TWIKIWEB%.TWikiPreferences. You can also add your own simple custom processing rules here, though in all but very simple cases, writing a new Plugin is preferable. +* **DefaultPlugin** can handle some outdated TWiki variables, found, for example, in sites recently updated from an old version. Settings are in [[DefaultPlugin]] topic. You can also add your own simple custom processing rules here, though in all but very simple cases, writing a new Plugin is preferable. ### <a name="Anatomy_of_a_Plugin"> Anatomy of a Plugin </a> A basic TWiki Plugin consists of two elements: -* a Perl module, ex: <code>**YourPlugin.pm**</code> -* a documentation topic, ex: <code>**YourPlugin.txt**</code> +* a Perl module, ex: <code>**MyFirstPlugin.pm**</code> +* a documentation topic, ex: <code>**MyFirstPlugin.txt**</code> -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. In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the <code>**YourPlugin**</code> topic. Other needed Perl code is best placed in a <code>**lib/TWiki/Plugins/YourPlugin/**</code> directory. +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. In particular, files that should be web-accessible (graphics, Java applets ...) are best placed as attachments of the <code>**MyFirstPlugin**</code> topic. Other needed Perl code is best placed in a <code>**lib/TWiki/Plugins/MyFirstPlugin/**</code> 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. ### <a name="Creating_the_Perl_Module"> Creating the Perl Module </a> -Copy file ([`EmptyPlugin.pm`](http://twiki.org/lib/TWiki/Plugins/EmptyPlugin.pm) to <code>**<name>Plugin.pm**</code> `=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 <code>**<name>Plugin.pm**</code>. <code>**EmptyPlugin.pm**</code> 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. <a name="CreatePluginTopic"></a> @@ -153,7 +153,7 @@ Copy file ([`EmptyPlugin.pm`](http://twiki.org/lib/TWiki/Plugins/EmptyPlugin.pm) The Plugin documentation topic contains usage instructions and version details. It serves the Plugin files as %TWIKIWEB%.FileAttachments for downloading. (The doc topic is also included _in_ the distribution package.) To create a documentation topic: -1. **Copy** the Plugin topic template from <http://TWiki.org/cgi-bin/view/TWiki/EmptyPlugin>. To copy the text, go to the page and: +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 * Cancel the edit @@ -169,13 +169,13 @@ The Plugin documentation topic contains usage instructions and version details. > > > -> [[TWIKIWEBEmptyPlugin]] +> [[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. > -> **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 %TWIKIWEB%.TWikiPreferences and [[WebPreferences]]: six (6) spaces and then: > @@ -191,16 +191,16 @@ The Plugin documentation topic contains usage instructions and version details. ### <a name="Packaging_for_Distribution"> Packaging for Distribution </a> -A minimum Plugin release consists of a Perl module with a [[TWiki/WikiName]] that ends in <code>**Plugin**</code>, ex: <code>**YourPlugin.pm**</code>, and a documentation page with the same name(<code>**YourPlugin.txt**</code>). +A minimum Plugin release consists of a Perl module with a [[WikiName]] that ends in <code>**Plugin**</code>, ex: <code>**MyFirstPlugin.pm**</code>, and a documentation page with the same name(<code>**MyFirstPlugin.txt**</code>). -1. Distribute your Plugin files in a directory structure that mirrors TWiki. If your Plugin uses additional files, include them ALL: - * <code>**lib/TWiki/Plugins/YourPlugin.pm**</code> - * <code>**data/TWiki/YourPlugin.txt**</code> - * <code>**pub/TWiki/YourPlugin/uparrow.gif**</code> [a required graphic] -2. Create a zip archive with the Plugin name (<code>**YourPlugin.zip**</code>) and add the entire directory structure from Step 1. Your archive should look like this: - * <code>**lib/TWiki/Plugins/YourPlugin.pm**</code> - * <code>**data/TWiki/YourPlugin.txt**</code> - * <code>**pub/TWiki/YourPlugin/uparrow.gif**</code> +1. Distribute the Plugin files in a directory structure that mirrors TWiki. If your Plugin uses additional files, include them ALL: + * <code>**lib/TWiki/Plugins/MyFirstPlugin.pm**</code> + * <code>**data/TWiki/MyFirstPlugin.txt**</code> + * <code>**pub/TWiki/MyFirstPlugin/uparrow.gif**</code> [a required graphic] +2. Create a zip archive with the Plugin name (<code>**MyFirstPlugin.zip**</code>) and add the entire directory structure from Step 1. The archive should look like this: + * <code>**lib/TWiki/Plugins/MyFirstPlugin.pm**</code> + * <code>**data/TWiki/MyFirstPlugin.txt**</code> + * <code>**pub/TWiki/MyFirstPlugin/uparrow.gif**</code> <a name="PublishPlugin"></a> @@ -209,9 +209,9 @@ A minimum Plugin release consists of a Perl module with a [[TWiki/WikiName]] tha 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: 1. **Post** the Plugin documentation topic in the TWiki:Plugins web: - * create a new topic using the Plugin name, ex: <code>**YourPlugin.txt**</code>; + * create a new topic using the Plugin name, ex: <code>**MyFirstPlugin.txt**</code>; * paste in the topic text from Creating Plugin Documentation and Save. -2. **Attach** the distribution zip file to the topic, ex: <code>**YourPlugin.zip**</code>. -3. **Link** from the doc page to a new, blank page named after the Plugin, and ending in <code>**Dev**</code>, ex: <code>**YourPluginDev**</code>. This is the discussion page for future development. (User support for Plugins is handled in TWiki:Support.) +2. **Attach** the distribution zip file to the topic, ex: <code>**MyFirstPlugin.zip**</code>. +3. **Link** from the doc page to a new, blank page named after the Plugin, and ending in <code>**Dev**</code>, ex: <code>**MyFirstPluginDev**</code>. This is the discussion page for future development. (User support for Plugins is handled in TWiki:Support.) --- [[AndreaSterbini]] - 29 May 2001 <br /> -- [[MikeMannix]] - 01 Sep 2001 +-- [[AndreaSterbini]] - 29 May 2001 <br /> -- [[MikeMannix]] - 01 Sep 2001 <br /> -- [[Main/PeterThoeny]] - 14 Sep 2001 <br /> |