User Tools

Site Tools


New Developers Working Group

Scripting and Markup Languages Used in Evergreen


Angular: Angular is the JavaScript framework that new Evergreen development uses for the web client. It supercedes AngularJS and uses TypeScript. See:

AngularJS: AngularJS (aka Angular 1) was the precursor to Angular. It was also JavaScript framework, but the developers of the AngularJS framework decided to rework it to use TypeScript, so pages that were coded in AngularJS are decidedly different than pages coded in Angular even though they are both descended from JavaScript.

AsciiDoc: AsciiDoc is a plain text format for creating documentation. Evergreen uses it to write the official Evergreen documentation and release notes that get included with the software.

Bootstrap: See CSS below.

CSS: Cascading Style Sheets are used (along with HTML) to develop the look and feel of Evergreen's user interfaces in the OPAC and staff client. See The web client uses the Bootstrap CSS library ( The older AngularJS pages use Bootstrap 3 and the newer Angular pages use Bootstrap 4. A new version of the public-facing OPAC developed with Bootstrap was made available with Evergreen version 3.6.

Dojo: The Dojo Toolkit set of JavaScript libraries was used throughout the XUL client. Dojo-based scripts are currently being deprecated as they are replaced with Angular scripts.

HTML: HTML is used for much of the basic page structure in both the OPAC and the staff client, along with CSS for display, and either Perl Template Toolkit or Angular for the content. See:

JavaScript: Some components, such as the Evergreen self-check interface, use traditional JavaScript coding. The newer Angular pages are written using TypeScript, but are compiled into JavaScript.

JSON: JavaScript Object Notation is used throughout Evergreen.

Perl: Much of the core business logic underlying Evergreen is built in Perl. If you are editing Perl files directly on the server, they are located under: usr/local/share/perl/[version number]/openils/www. If you are making changes to package into a Git branch, the files are located under: \Open-ILS\src\perlmods\lib\OpenILS\WWW\.

Perl Template Toolkit: Most of the OPAC and current staff client pages are built in Perl Template Toolkit (TT2), which blends HTML and CSS with some simple Perl code to create the web pages. See: If you are editing TT2 files directly on the server, they are located under: /openils/var/templates/. If you are making changes to package into a Git branch, they are under: \Open-ILS\src\templates\.

PostgreSQL: Evergreen uses the open-source PostgreSQL database. See:

TypeScript: TypeScript is a superset of JavaScript that gets compiled into standard JavaScript. See:

XML: XML (Extensible Markup Language) is used in several locations, including the Evergreen Fieldmapper (fm_IDL.xml) and the Kids' Catalog configuration file (kpac.xml),

XUL: The original staff client was built on XULRunner, a Mozilla-based runtime environment. It is often referred to as "the XUL client" (pronounced like Zuul, the Gatekeeper of Gozer), and is no longer utilized by Evergreen. (However, there are still some components that have not been converted to Angular.)

newdevs/landscape/code.txt · Last modified: 2021/03/09 16:51 by tmccanna

© 2008-2017 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a member of Software Freedom Conservancy.