Want to develop for Evergreen or OpenSRF? Great! To get started, please take a look at
- new developer wishlist where a group of us are identifying what documentation needs to be developed to support new developers(some of the drafts of documentation being developed are here too)
For more technical details, read on.
Evergreen is an OpenSRF application, so in principle you can write an OpenSRF binding for any language you want (although we will be both seriously impressed and laugh at you if you create a BASIC binding). However, in practice, Evergreen makes use of just a few languages, and for the sake of maintaining your code and understanding it, please consider sticking with one of the following.
|Perl||business logic; the vast majority of OpenSRF methods used by Evergreen are written in Perl. Note that this is Perl 5, not Perl 6.|
|PL/pgSQL and PL/Perl||search code and some business logic|
|HTML and CSS||public catalog and staff client|
Languages that are used for specific purposes include
|C||core OpenSRF code; can be considered for middle-layer OpenSRF services if speed is important enough|
|XUL||staff client layout|
Languages that are supported (partially or wholly) by OpenSRF but are not really in use by Evergreen include Java and Python.
Evergreen makes use of the following frameworks: