wiki:DeveloperPage

Version 8 (modified by Jari Häkkinen, 18 years ago) ( diff )

--

Developer information

How to write a plug-in

There is documentation on how to write plug-ins 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 should adopt to the convention to att domain information to the name. A few 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 descibe 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'. These are created in the same way as tags are created in subversion:

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://base.thep.lu.se/robots.txt to the robots.

Note: See TracWiki for help on using the wiki.