User Tools

Site Tools


newdevs:landscape

This is an old revision of the document!


New Developers Working Group

The Landscape of Evergreen

Work in Progress

Tools

Git: Git is a software version control system designed to track software code changes. Evergreen's code changes are tracked at https://git.evergreen-ils.org/. Git is almost always used from a command line interface, but there is a free 'Git for Windows' application that offers basic functionality (https://git-scm.com/download/win).

Launchpad: Launchpad is the bug / wish list tracker that the Evergreen community uses. See: https://bugs.launchpad.net/evergreen

Text Editor: Any plain text editor can be used. Notepad++ (available from https://notepad-plus-plus.org/) is a simple open-source code editor. Visual Studio Code Editor is free code editor available from Microsoft (https://code.visualstudio.com/) that has the advantage of a built-in console so that you can update and compile code, plus view console output when testing the code, in the same window.

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: https://angular.io/

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.

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. The web client uses the Bootstrap library (https://getbootstrap.com/. The older AngularJS pages use Bootstrap 3 and the newer Angular pages use Bootstrap 4.

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: https://www.w3schools.com/html/html_intro.asp

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/

TypeScript: TypeScript is a superset of JavaScript that gets compiled into standard JavaScript. See: https://www.typescriptlang.org/

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.

newdevs/landscape.1558391357.txt.gz · Last modified: 2022/02/10 13:34 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.