This is an old revision of the document!
Table of Contents
General information
Names of variable, functions
Code styles
PHP specification
SQL specification
The manifest
Manifest in general
Blocks of manifest
<extension>
<id>
<title>
<version>
<description>
<author>
<minversion>
<maxtestedon>
<note>
Install
Uninstall
Type
<dependencies>
<dependency>
<install> and <uninstall>
<hooks>
Parameter "priority" in the tag <hook>
Idea of work extensions
Install extensions
Uninstall extensions
Upgrade extensions (EXT_CUR_VERSION)
Work of extensions on PunBB (hooks)
Including files
Language files
Javascript and CSS
PHP
$ext_info
Steps of development
- Create the idea of extension
- Create the wiki article for the extension and write the general idea and the specification there.
- The page url must be http://punbb.informer.com/wiki/punbb13:<extension_id>, e.g. http://punbb.informer.com/wiki/punbb13:pun_pm.
- You may also start the discussion in Forums to ask users to add their feature requests to the specification.
- Add the ticket to the Trac (or just start a text file, if you have no Trac). List the main tasks to complete the extension.
- //To be invented:// Create the automatic test (e.g. using pun_admin_simpletest) for all the features in your task-list.
- Code them all! Follow your task-list and strike out done.
- Commit your changes to the SVN separately: one feature or one bug fix is one commit. Do not commit multiple changes simultaneously.
- BTW: Use SVN or other VCS. (I personally prefer Bazaar.)
- Add the documentation to the wiki article.
- Extension usage.
- Extension customization and integration.
- Publish extension in the extension repository (as soon as it passed all the automatic tests).
- Third-party developers may propose their extensions to be reviewed and published in the repository.
- Release the extension in Forums.