Wiki App Submission Guidelines
Terminology
- Wiki App Name - This is the informal name given to the Wiki Application. Give some thought to this name, as it is how the collection of topics will become known as. It is a good convention to name any additional topics that are part of the application with the WIki App Name as a prefix. For example, if you were to choose the name
MyApp as the Wiki App Name, you should name additional topics like this: MyAppForm, MyAppTopicViewTemplate etc. This also helps avoid name clashes with other Wiki app topics in this web.
- Overview Topic - When you add a Wiki App to this web, an additional topic called
AppNameOverview (where AppName would be the name you have chosen above) is created. This overview topic does not constitute part of the Wiki App, but acts as a portal to the application, giving users an overview of what the application does, and what it is made up of. For example, in the overview topic you would provide details such as:
... An overview of what the application does
... The topics which make up the Wiki App
... Any extensions required to use the Wiki App
The overview topic will also provide a option for users to try out the Wiki App on this Foswiki install, and a facility for a user to download the application for use on their local install.
- Description - A quick one liner overview of the Wiki App. This will appear on the list of Wiki Apps on the home page
Adding a Wiki App
Once you have chosen a Wiki App Name, and confirmed that it does not clash with topics of the same name for other Wiki Apps, you can add the Wiki App using the form on
WebHome
Once you have added the Wiki App via the form, you should edit the overview topic and fill out some details about the Wiki App:
-
Application Overview - Here you should provide an outline of the function of the Wiki App, and what it demonstrates.
-
Application Topics - There are two preference settings you must fill out:
-
MANIFEST - Here you list the topics that actually make up the Wiki Application. You will create these topics in the next step, but for now it is enough to simply list the topics. You can always edit this list again at a future date.
Try to prefix the topic names with the name of the Wiki App as described above.
-
COMMENT_TEMPLATE_TOPIC - If your Wiki App uses CommentPlugin to create custom forms, then these should be added to a single AppNameUserCommentsTemplate topic. You should set this preference setting to AppNameUserCommentsTemplate (where AppName is replaced with your own Wiki App Name). If you do not use CommentPlugin forms, simply leave this setting blank.
-
Required Extensions - If your Wiki App requires any extensions (such as a plugin or skin - see Extensions) then you must list them using the preference setting REQUIRED_EXTENSIONS.
Remember that not all of these extensions may be available on this Foswiki installation, which will affect whether the application can be showcased or not. The WikiAppInstallerPlugin checks this, and if any of the extension you list are missing then the user will not be provided with a link to test the Wiki App. You can define the extensions in any of the following formats:
- SomePlugin - Just the extension name
- Extensions.SomePlugin - A link to the extension topic in the Extensions web - This is the preferred method if submitting to http://foswiki.org
- System.SomePlugin - A link to the extension topic in the System web
- %SYSTEMWEB%.SomePlugin - A link to the extension topic in the System web (using the SYSTEMWEB macro)
Developing/Testing your Wiki App
While you can develop and test your application in the Sandbox web of foswiki.org, it is usally best to develop and test new applications on your local foswiki install. In either case, when you are ready to upload your application, simply follow the steps above to create the overview topic, and then copy the topics that make up your application into this web.
Example 1
You are adding a simple Wiki App you are going to name
MyCalendar which will consist of a single topic called
MyCalendar which will showcase an exciting new way to use the
CalendarPlugin extension.
You have added the Wiki App via the form on the
WebHome topic and are now in the
MyCalendarOverview topic. You should now do the following:
- Update the MANIFEST preference with the
MyCalendar topic name
- Leave the COMMENT_TEMPLATE_TOPIC blank as you are not using CommentPlugin forms
- Update the REQUIRED_EXTENSIONS preference variable with the the value
Extensions.CalendarPlugin
- Create the topic
MyCalendar. You should copy in the raw text of the topic (use "view wiki text" to view the raw text). Don't forget to attach any file attachments your application requires.
- Test drive the Wiki App in your personal sandbox by clicking on the
Test this Wiki Application in your personal Sandbox web button
Example 2
You are adding a more complex Wiki App called
ProjectManagement, which will consist of multiple topics
ProjectManagementForm,
ProjectManagementDashboard etc.. The application uses a number of extensions including
Foswiki:Extensions/ActionTrackerPlugin,
Foswiki:Extensions/WorkFlowPlugin and
Foswiki:Extensions/CommentPlugin. You have added the Wiki App via the form on the
WebHome topic and are now in the
ProjectManagementOverview topic. You should now do the following:
- Update the MANIFEST preference with the various topic names
ProjectManagement, ProjectManagementDashboard, ProjectManagementUserComments etc..
- Update the COMMENT_TEMPLATE_TOPIC with a value of
ProjectManagementUserComments as you are adding custom forms
- Update the REQUIRED_EXTENSIONS preference with the the value
Extensions.ActionTrackerPlugin, Extensions.WorkFlowPlugin, Extensions.CommentPlugin
- Create the various topics you defined in the MANIFEST above, copying in the raw text of the topics. Don't forget to attach any file attachments your application requires.
- Test drives will not be possible unless all the required extensions are not installed on this Foswiki install.