New Developers Working Group
Scripting and Markup Languages Used in Evergreen
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: The web client uses the Bootstrap CSS library (https://getbootstrap.com/). 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. If you would like to work on upgrading parts of the interface to a newer Bootstrap version, please refer to this Bootstrap 3--5.2 migration guide for a consolidated reference to class and function name changes.
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 https://developer.mozilla.org/en-US/docs/Web/CSS and CSS Grid.
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: https://www.w3schools.com/html/html_intro.asp
OpenSRF: Messaging architecture based on XMPP (jabber) that is used to transmit information within Evergreen. See: https://journal.code4lib.org/articles/3284
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: http://www.template-toolkit.org/. 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: https://www.postgresql.org/
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.)