Want to develop for Evergreen or OpenSRF? Great! To get started, please take a look at
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.
Language | Use |
---|---|
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. |
JavaScript | front end; important for both the staff client and the public catalog |
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
Language | Use |
---|---|
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:
Name | Language | Use | Notes |
---|---|---|---|
Dojo | JavaScript | staff and public interfaces | Currently we use Dojo 1.3; help to upgrade us to |