User Tools

Site Tools


newdevs:landscape

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
newdevs:landscape [2019/05/16 10:59] – created tmccannanewdevs:landscape [2019/05/21 18:17] tmccanna
Line 1: Line 1:
-=== New Developers Working Group ===+**New Developers Working Group**
 ====== The Landscape of Evergreen ====== ====== The Landscape of Evergreen ======
  
-//Coming Soon Introduction to the components//+ 
 +===== 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]] 
 + 
 +**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.  
 + 
 +**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/]] 
 + 
 +**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. 
 + 
 + 
 +---- 
 + 
 + 
 +===== File Locations ===== 
 + 
 +The files in a git repository are organized in a different hierarchical tree structure than the files that have already been installed on a running server. So, both locations are listed below as either 'Git' or 'Installed.' This is not a comprehensive list of file locations, but merely a list of locations where commonly customized or referred to files are located. 
 + 
 +==== OPAC ==== 
 + 
 +**Page Templates** 
 +  * Git: \Open-ILS\src\templates\opac\ 
 +  * Installed: /openils/var/templates/opac/ 
 + 
 +**Images**\\ 
 +  * Git: \Open-ILS\web\images\ 
 +  * Installed: /openils/var/web/images/ 
 + 
 +**CSS**\\ 
 +  * Git: \Open-ILS\src\templates\opac\css\ 
 +  * Installed: /openils/var/templates/opac/css/ 
 + 
 +==== KPAC ==== 
 + 
 +**Configuration File** 
 +  * Git: \Open-ILS\examples\kpac.xml.example 
 +  * Installed: /openils/conf/kpac.xml.example 
 + 
 +**Page Templates** 
 +  * Git: \Open-ILS\src\templates\kpac\ 
 +  * Installed: /openils/var/templates/kpac/ 
 + 
 +**Images** 
 +  * Git: \Open-ILS\web\images\kpac\ 
 +  * Installed: /openils/var/web/images/kpac/ 
 + 
 +==== Web Staff Client ==== 
 + 
 +**Page Templates** 
 +  * Git: \Open-ILS\src\templates\staff\ 
 +  * Installed: /openils/var/templates/staff/ 
 + 
 +**CSS** 
 +  * Git: \Open-ILS\src\templates\staff\css\ 
 +  * Installed: /openils/var/templates/staff/css/ 
 + 
 +**AngularJS** 
 +  * Git: \Open-ILS\web\js\ui\default\staff\ 
 +  * Installed: /openils/var/web/js/ui/default/staff/ 
 + 
 +==== Self-Check ==== 
 + 
 +**Page Templates** 
 +  * Git: \Open-ILS\src\templates\circ\selfcheck\ 
 +  * Installed: /openils/var/templates/circ/selfcheck/ 
 + 
 +**JavaScript** 
 +  * Git: \Open-ILS\web\js\ui\default\circ\selfcheck\ 
 +  * Installed: /openils/var/web/js/ui/default/circ/selfcheck/ 
 + 
 +==== Perl Modules ==== 
 + 
 +  * Git: \Open-ILS\src\perlmods\lib\OpenILS\ 
 +  * Installed: /user/local/share/perl/[version number]/OpenILS/ 
 + 
 +==== Field Mapper ==== 
 + 
 +  * Git: \Open-ILS\examples\fm_IDL.xml 
 +  * Installed: /openils/conf/fm_IDL.xml 
 + 
 +==== Virtual Host Configuration File ==== 
 + 
 +  * Git: \Open-ILS\examples\apache_24\eg_vhost.conf.in 
 +  * Installed: /etc/apache2/eg_vhost.conf  
 + 
 + 
 + 
 + 
  
  

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.