wiki:DeveloperInformation

Version 17 (modified by jari, 10 years ago) (diff)

Fixes ticket::886

Developer information

Documentation needed for the BASE developer is available through BASE documentation developer information and BASE Java API documentation. There is two versions of the API docs, the latest stable BASE release and the bleeding edge trunk BASE. Non-core programmers should use the latest stable release. We also have the trunk version of the BASE documentation automatically regenerated regularly, html and pdf.

Development plan

The development plan is available in the Roadmap section above.

Code examples

We have create code examples, showing how to create plug-ins and a simple web service client. The packages contains source code and compiled classes. For more information about how to run and use the test code, see the README file in the respective package. These packages are only tested against the latest release of BASE (i.e., they may or may not work with earlier releases).

For more information about developing plug-ins see the Plug-in developer chapter of the BASE documentation. For more information about developing web services see the Web services chapter.

I want to contribute

Please send an email to the basedb-devel@… mailing list! If you are not subscribed to the list, you should first register your email address. Tell us what you want to do, download the source using subversion and hack away. There is a growing list of ideas for future development in BASE.

From the Subversion book: If you think that your work is usable for the rest of the community, you should donate your changes to the project After making your modifications to the source code, compose a clear and concise log message to describe those changes and the reasons for them. Then, send an email to the developers list containing your log message and the output of svn diff (from the top of your Subversion working copy). If the community members consider your changes acceptable, someone who has commit privileges (permission to make new revisions in the Subversion source repository) will add your changes to the public source code tree. Recall that permission to directly commit changes to the repository is granted on merit - if you demonstrate comprehension of Subversion, programming competency, and a "team spirit", you will likely be awarded that permission.

Release procedure

ReleaseProcedure -- instructions on how to perform a new release

Test data

We have a repository for core developers only with BASE test data. This data is needed for running some of the test programs in BASE, the tests will compile without access to the data. The reason to have this restriction is that some data is proprietary and we cannot disclose it. Core developers should use this command in their base working copy root directory:

svn checkout http://lev.thep.lu.se/repository/basetestdata/trunk/ testdata

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.