Comparing versions
Version 2Current version

  1. Every Plugin Help Page should be Categorized. Select the Categorize Tab and check "Documentation » Plugins". This allows all of the Plugin Help Pages to be displayed at the bottom of the page under Related Items
  2. All of the Plugin Help Pages should have a Description - I use: The Plugin xxx Help Page
  3. Most of the following should be included on every Plugin Help Page.

Introduction

Provide a short Introduction. This should briefly state what the plugin does. I also like to include a link to the page DataPlugins.

History

Most of the Plugins originally came from TikiWiki but check the source file (I made sure that all of the Authors and their email address were correct). Lets give credit where it is due.
If it does come from TikiWiki - then search TikiWiki or the TikiWiki Doc Site for information on it. Do Not rely too heavily on that source though. Veryify that it is still correct. The original idea and source may have came from TikiWiki - but every Plugins was rewritten for bitweaver and many operational changes were made! The largest change was the inclusion of the variable $pluginParams['requires_pair'] => FALSE which allows Plugins to use a single Code Block. Most Plugins that don't operate on data placed between Code Blocks were changed. Some parameters name were also changed - although I did try to minimize those changes.
Again - Check the Code!

Summary

Provide a more detailed explanation of what the Plugin Does.

How It Works?

Check the Source Code
If the variable $pluginParams['requires_pair'] => TRUE then include:
This Plugin operates on the data placed between the Code Blocks - see the Heading Between The Code Blocks
If the variable $pluginParams['requires_pair'] => FALSE then include:
This Plugin operates with a single Code Blocks. That is - only a single call to the Plugin is required

A brief explanation should also be provided to explain how the Plugin operates. That should include when and where it should be used.

The Plugin's Help

[+]

Between the Code Blocks

Note: This heading should only be included when a Plugins has the variable $pluginParams['requires_pair'] => TRUE
For those of you who don't know - when we say the word Code Block - we are referring to the way you call a Plugin. Some Plugins only use a single Code Block to operate while others need two. Examples are:
  • {AGENTINFO info= } requires a Single Code Block
  • {CODE source= num= }Sorce Code{/CODE} requires Two Code Blocks. The first is {CODE source= num= } and the second is {/CODE}.
Nearly all Plugins that require 2 Code Blocks do so because they expect a lot of data and are designed to work on it.

Note: Some Plugins use Key-Words or some other device between the Code Blocks. If this one does - Specify what it is and how it works like this:
The Data between the Code Blocks falls into three Classifications: Class A / Class B / & Class C.
  • A Character Sequence is used to separate that Data into their appropriate Classes. By Default Character Sequence is *** but can be redefined with the Parameter SomeParameterName.
  • Class A does this.
  • Class B does that.
  • Class C does the other thing.

Examples

Most of the examples demonstrate what the Plugin does by setting Parameters and explaining what they are there for. When there are a lot of parameters - this becomes difficult. One method to do it is using a build-up scheme. Each Example adds a single parameter to those used in the previous Example.

At any rate - be sure that each Example shows exactly what is happening by showing the parameters being set. This is easily done by coping the WikiSyntax that calls the Plugin and placing it inside {np{ blocks like this: __{np{{AGENTINFO info= }~123123~__ With some plugins this does not work. When it doesn't - try replacing the each __{__ character with the tilde (~) character / the numbers 123 / and another tilde character. The trailing __}__ characters can be replaced as well with a tilde the number 125 and another tilde character. The trailing __}__ characters don't normally cause any problem though. Because we get a link out of all capitalized words - add a double ) and double ( around the Plugins Name to prevent the link. See the example in the code. !!- Example 1 - Different Ways To Show Parameters Using np - ^__~np~{CODE }Sorce Code{CODE}
__

<?php
Sorce Code
?>

Replacing the { } Characters -
{))CODE(( }Sorce Code{CODE}^

<?php
Sorce Code
?>

 
  1. Every Plugin Help Page should be categorized. Select the Categorize Tab and check "Documentation » Plugins". This allows all of the Plugin Help Pages to be displayed at the bottom of the page under Related Items
  2. All of the Plugin Help Pages should have a Description - I use: The Plugin xxx Help Page
  3. Most of the following should be included on every Plugin Help Page.

Introduction

Provide a short Introduction. This should briefly state what the Plugin does. I also like to include a link to the page DataPlugins.

History

Most of the Plugins originally came from TikiWiki but check the source file (I made sure that all of the Authors and their email address were correct). Lets give credit where it is due.
If it does come from TikiWiki - then search TikiWiki or the TikiWiki Doc Site for information on it. I don't know how to stress this enough - but don't rely on that source too heavily. The original idea and source may have came from TikiWiki - but every Plugins was rewritten for bitweaver and many operational changes were made! We did try to maintain backwards compatibility - but don't bet on it! The largest change was the inclusion of the variable $pluginParams['requires_pair'] => FALSE which allows a Plugin to be called without a ending Code Block. Most of the Plugins did not require an ending Code Blocks - so they were changed. Some parameter names were also changed. Again - Check the Code! You don't have to be able to write Php or JavaScript to understand what is going on here.
If you get stuck - you might try reading the Tutorial - Liberty Plugins. If you simply Can Not find the answer and need it Now - the faster response is the #bitweaver IRC channel on FreeNode. Slower methods include - the bitweaver Support Forum or sending an email to The bitweaver Developers Mailing List.
Finally - you just might find a bug during your efforts. I hope that isn't the case - but if it happens - Please Report It. The link to do that is bitweaver Bugs on SourceForge.net

Summary

Provide a more detailed explanation of what the Plugin does.

How It Works?

If the variable $pluginParams['requires_pair'] => TRUE then include:
This Plugin operates on the data placed between the Code Blocks - see the Heading Between The Code Blocks
If the variable $pluginParams['requires_pair'] => FALSE then include:
This Plugin operates with a single Code Blocks. That is - only a single call to the Plugin is required

Provide a brief explanation of how the Plugin operates. That should include when and where it's used.

The Plugin's Help

[+]

Between the Code Blocks

This heading is needed when a Plugins has the variable $pluginParams['requires_pair'] => TRUE
For those of you who don't know - when we say the word Code Block - we are referring to the way you call a Plugin. Some Plugins only use a single Code Block to operate while others need two. Examples are:
  • {AGENTINFO info= } requires a Single Code Block
  • {CODE source= num= }Source Code to be displayed{/CODE} requires Two Code Blocks. The first is {CODE source= num= } and the second is {/CODE}.
Nearly all Plugins that require 2 Code Blocks do so because they expect a lot of data and are designed to work on it.

Some Plugins use Key-Words or some other device between the Code Blocks. If this one does - you need to specify what it is and how it works like this:
The Data between the Code Blocks falls into three Classifications: Class A / Class B / & Class C.
  • A Character Sequence is used to separate that Data into their appropriate Classes. By Default Character Sequence is *** but can be redefined with the Parameter SomeParameterName.
  • Class A does this.
  • Class B does that.
  • Class C does the other thing.

Examples

Most of the examples demonstrate what the Plugin does by setting Parameters and explaining what they are there for. When there are a lot of parameters - this becomes difficult. One method - uses a build-up scheme to make sure everything is covered. Each Example adds a single parameter to those used in the previous Example. When a parameter has several options (Key Word parameters) then each is defined in a ))sub-heading((.

When a parameter does something unexpected or makes an exception that should be noted - make sure it is noticed. As an example - the Plugin PluginHelp was originally designed to use the required parameter plugin. A second (undocumented) parameter is being added and when used - the plugin parameter is ignored. It will take a lot of words to document that so that it will be not be misunderstood.

At any rate - be sure that each Example shows what is happening. Provide a box with the parameters being set. This is easily done by coping the WikiSyntax that calls the Plugin and placing it inside ~ np ~ blocks like this:
{AGENTINFO info='server' } becomes ~ np ~{ AGENTINFO info='server' }~ /np ~

With some Plugins - this just does not work. If it doesn't - try replacing the { character with ~123~. When you do - remember that an all capitalized words are normally converted into links - so you will need to prevent that by placing )) characters in front of the Plugins Name and (( behind it. That means that our example should look something like this:
{AGENTINFO info='server' } becomes ~123~))AGENTINFO)( info='server' }

You might also decide to replace the trailing } character as well - even though it doesn't normally cause a problem. A trailing } character is replaced with ~125~. Our example would now look like this:
{AGENTINFO info='server' } becomes ~123~))AGENTINFO)( info='server' ~125~


Since I had to play fast and loose to get those three examples to display right - here are our three examples as you would use them:
{AGENTINFO info='server' } - using np
{AGENTINFO info='server' }
{AGENTINFO info='server' } - replacing the {
{AGENTINFO info='server' }
{AGENTINFO info='server' } - replacing both { & }
{AGENTINFO info='server' }

Page History
Date/CommentUserIPVersion
18 May 2008 (20:45 UTC)
laetzer85.178.10.628
Current • Source
Lee LaMont Bell Jr.24.117.169.2413
View • Compare • Difference • Source
Lee LaMont Bell Jr.24.117.169.2412
View • Compare • Difference • Source
Lee LaMont Bell Jr.24.117.169.2411
View • Compare • Difference • Source