wiki:DeveloperPage

Version 11 (modified by Peter Johansson, 15 years ago) (diff)

--

Developer information

How to write a plug-in

There is a document on how to write plug-ins 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. Two 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. This makes it problematic to create release tags for individual plug-ins following the usual guidelines for subversion usage. We do not expect to be able to provide complete plug-in releases but have a scheme for tagging of individual plug-ins.

The tags branch will be a shadow directory hierarchy of the trunk branch down to package level. At this level tags are created for the package. For example, in the below structure

baseplugins/branches
baseplugins/tags
baseplugins/tags/se/
baseplugins/tags/se/lu/
baseplugins/tags/se/lu/onk/
baseplugins/tags/se/lu/onk/QPackage-0.1
baseplugins/tags/se/lu/onk/QPackage-0.1.1
baseplugins/tags/se/lu/onk/ReplicateError-1
baseplugins/tags/se/lu/thep/
baseplugins/tags/se/lu/thep/wenni-0.1
baseplugins/tags/se/lu/thep/wenni-0.2
baseplugins/trunk
baseplugins/trunk/se/
baseplugins/trunk/se/lu/
baseplugins/trunk/se/lu/onk/
baseplugins/trunk/se/lu/onk/Qpackage
baseplugins/trunk/se/lu/onk/ReplicateError
baseplugins/trunk/se/lu/thep/
baseplugins/trunk/se/lu/thep/wenni

There are five tags QPackage-0.1, QPackage-0.1.1, ReplicateError-1, wenni-0.1, and wenni-0.2. Tags are created using the following subversion command:

svn copy http://lev.thep.lu.se/repository/baseplugins/trunk/se/lu/onk/QPackage \
         http://lev.thep.lu.se/repository/baseplugins/tags/se/lu/onk/QPackage-0.1 \
         -m "Tagging release 0.1 of se.lu.onk.QPackage."

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.