wiki:DeveloperPage

Version 15 (modified by nicklas, 6 years ago) (diff)

Fixing links

Developer information

How to write a plug-in or extension

There is plenty of information for the developer available on the BASE web site. This document together with studies of how others have written plug-ins is what is available. The BASE mailing lists are also useful sources for plug-in writers; search them for information and/or post new questions.

How to name my plug-in

In order to make sure that unique names are used we use the convention to add domain information to the name. Some examples:

How to document my plug-in

The minimum amount of documentation should be installation information, instruction for setting up a configuraion if needed, and contact information. To convince users to use the plug-in describe your fancy algorithm and, if applicalble, add citation information. Also, send us information on which file we should link to in the plug-in list.

New to subversion

We have put together a short introduction to subversion usage html or pdf with some rules on svn usage. Please read the document, and set up a proper configuration file for subversion (see item 2.1.5 and Appendix F in the notes).

Package release tags

All plug-ins share a common subversion repository. Each project has been assigned a location in this repository, for example /plugins/base2/net.sf.basedb.affymetrix. This is the root directory of the project. Inside each project you can find the /trunk, /tags and /branches folder. The main development should take place in the /trunk. Released versions should be tagged in the /tags directory.

Tags are created using the following subversion command:

svn copy http://baseplugins.thep.lu.se/svn/path/to/project/trunk \
         http://baseplugins.thep.lu.se/svn/path/to/project/tags/0.1 \
         -m "Tagging release 0.1 of the project."

Branches can be treated correspondingly.

robots.txt

The web page indexing robots are killing the web server since the robots index every revision of the source. There is a RobotsTxt file with information to well behaved robots. The contents of RobotsTxt is the same traditional robots.txt, and the RobotsTxtPlugin plug-in will serve a http://baseplugins.thep.lu.se/robots.txt to the robots.