= Developer information = == How to write a plug-in == There is a document on [http://base.thep.lu.se/chrome/site/doc/development/index.html#plugins 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 [http://base.thep.lu.se/wiki/MailingLists 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: * [wiki:se.lu.onk.ZTest se.lu.onk.ZTest] * [wiki:se.lu.thep.affymetrix se.lu.thep.affymetrix] == 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 [PluginDownload plug-in list]. == New to subversion == We have put together a short introduction to subversion usage [http://www.thep.lu.se/~jari/documents/subversion_guidelines/index.html html] or [http://www.thep.lu.se/~jari/documents/subversion_guidelines/subversion_guidelines.pdf 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 baseplugins/tags/se/lu/onk/QPackage/QPackage-0.1 baseplugins/tags/se/lu/onk/QPackage/QPackage-0.1.1 baseplugins/tags/se/lu/onk/ReplicateError baseplugins/tags/se/lu/onk/ReplicateError/ReplicateError-1 baseplugins/tags/se/lu/thep/ baseplugins/tags/se/lu/thep/wenni baseplugins/tags/se/lu/thep/wenni/wenni-0.1 baseplugins/tags/se/lu/thep/wenni/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/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 [http://trac-hacks.org/wiki/RobotsTxtPlugin RobotsTxtPlugin] plug-in will serve a http://baseplugins.thep.lu.se/robots.txt to the robots.