Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
eg_developer_overview [2017/03/22 09:11] – Mark one service as removed (with LP and release note links), and add another removed one for posterity rjs7 | eg_developer_overview [2018/04/25 14:21] – [Evergreen Developer Overview] rjs7 |
---|
- OpenSRF, forming the backend communication layer for Evergreen. Primarily dealt with via Perl modules, but also including C. | - OpenSRF, forming the backend communication layer for Evergreen. Primarily dealt with via Perl modules, but also including C. |
- PostgreSQL Database, both in database design and stored procedures. Most stored procedures are written in SQL, PL/pgSQL, or Perl. | - PostgreSQL Database, both in database design and stored procedures. Most stored procedures are written in SQL, PL/pgSQL, or Perl. |
- Template Toolkit/JavaScript/Dojo/AngularJS, for OPAC and Staff Client development. The staff client is currently a XULRunner application (XML/XHTML/XUL), but a browser-based client (written mostly in AngularJS) is [[faqs:evergreen_roadmap:2.12|expected to be released]] with Evergreen 2.12. | - Template Toolkit/JavaScript/Dojo/AngularJS, for OPAC and Staff Client development. The staff client is a browser-based client (written mostly in AngularJS) beginning with Evergreen 3.0 (Fall 2017). The former XUL client will be removed in Evergreen 3.2 (Fall 2018). |
| |
See also the [[https://docs.google.com/drawings/d/17aNEr8vLen5wBjCAP4NPnjL7fYT3VxK6_9wVArR9VII/edit?usp=sharing|Evergreen Technical Diagram]]. | See also the [[https://docs.google.com/drawings/d/17aNEr8vLen5wBjCAP4NPnjL7fYT3VxK6_9wVArR9VII/edit?usp=sharing|Evergreen Technical Diagram]]. |
* open-ils.cstore (C) | * open-ils.cstore (C) |
* CStore is a database search and retrieval service, and the default target for the CStoreEditor Perl class. It does not check or require authentication tokens. It can be used to perform complicated queries via json_query calls. | * CStore is a database search and retrieval service, and the default target for the CStoreEditor Perl class. It does not check or require authentication tokens. It can be used to perform complicated queries via json_query calls. |
| * open-ils.ebook_api (added in 2.12) |
* open-ils.fielder (Perl, Public) | * open-ils.fielder (Perl, Public) |
* Currently unused(?) service for loading FieldMapper information. | * Currently unused(?) service for loading FieldMapper information. |
* <del>open-ils.ingest</del> [[https://bugs.launchpad.net/evergreen/+bug/1187029|Removed in 2.6]], [[http://docs.evergreen-ils.org/2.6/_miscellaneous.html|release notes]] | * <del>open-ils.ingest</del> [[https://bugs.launchpad.net/evergreen/+bug/1187029|Removed in 2.6]], [[http://docs.evergreen-ils.org/2.6/_miscellaneous.html|release notes]] |
* Handles ingest of bibliographic records. Replaced by database triggers and stored procedures. | * Handles ingest of bibliographic records. Replaced by database triggers and stored procedures. |
| * open-ils.hold-targeter (added in 2.12) |
* open-ils.justintime (Perl, XML-RPC) | * open-ils.justintime (Perl, XML-RPC) |
* Action/Trigger revalidator for use with things like external telephony. | * Action/Trigger revalidator for use with things like external telephony. |
* open-ils.pcrud (C, Public) | * open-ils.pcrud (C, Public) |
* PCrud is a database search and retrieval service that checks and requires authentication tokens to control access to information. Unlike CStore it cannot "flesh" data at this time, requiring individual calls to retrieve data across links. | * PCrud is a database search and retrieval service that checks and requires authentication tokens to control access to information. |
* <del>open-ils.penalty (Perl)</del> [[https://bugs.launchpad.net/evergreen/+bug/1312308|Removed in 2.9]], [[http://docs.evergreen-ils.org/2.9/_remove_open_ils_penalty_service.html|release notes]] | * <del>open-ils.penalty (Perl)</del> [[https://bugs.launchpad.net/evergreen/+bug/1312308|Removed in 2.9]], [[http://docs.evergreen-ils.org/2.9/_remove_open_ils_penalty_service.html|release notes]] |
* A wrapper around the OpenILS::Utils::Penalty module for calculating patron penalties. | * A wrapper around the OpenILS::Utils::Penalty module for calculating patron penalties. |
* open-ils.permacrud (Perl, Public) | * open-ils.permacrud (Perl, Public) |
* A Perl authentication checking wrapper around CStore calls. | * A Perl authentication checking wrapper around CStore calls. |
| * See bug [[https://bugs.launchpad.net/evergreen/+bug/1680566|Remove open-ils.permacrud service]] |
* open-ils.reporter (Perl, Public) | * open-ils.reporter (Perl, Public) |
* The Staff creation and query service for the reports system. | * The Staff creation and query service for the reports system. |
===== Staff Client ===== | ===== Staff Client ===== |
| |
Work on a browser-based staff client is [[dev:browser_staff:dev_sprints|in process]]. Circulation features were released as a preview with Evergreen 2.8(?), and the full browser client is [[faqs:evergreen_roadmap:2.12|expected to be released]] with Evergreen 2.12 in Spring/Summer of 2017. XUL interfaces are being converted to AngularJS, while Dojo interfaces are being embedded in the new client with hopes to convert them to Angular later on. | The Evergreen browser-based (or "web") staff client is now the main client, and the XUL client will be removed from Evergreen releases as of version 3.2 (expected Fall 2018). Circulation features were released as a preview with Evergreen 2.8(?), and the full browser client was released with Evergreen 3.0 in October 2017. XUL interfaces have been converted to AngularJS, while most Dojo interfaces have been embedded in the web client with hopes to convert them to AngularJS eventually. (NOTE: We are making plans to upgrade from [[dev:browser_staff:angular5|AngularJS to Angular 5]].) |
| |
The full Staff Client is currently a XULRunner application built on the XULRunner 3 series, which is equivalent to the Firefox 3 series. The staff client is a combination of local and remote XUL pages, JavaScript, and the OPAC itself. It is compatible with both the JSPAC and the TPAC, and also loads a number of interfaces that work like the JSPAC and/or TPAC. Some of these interfaces can be easily used outside of the staff client itself, others expect to be loaded from within it. | Development for the web Staff Client can involve AngularJS, JavaScript, (X)HTML, and OPAC development. Perhaps all at the same time, depending on your goals. |
| |
Development for the Staff Client can thus involve XUL, JavaScript, (X)HTML, and OPAC development. Perhaps all at the same time, depending on your goals. | The old Staff Client was a XULRunner application built on the XULRunner 3 series, which is equivalent to the Firefox 3 series. It was a combination of local and remote XUL pages, JavaScript, and the OPAC itself. |
| |
===== External Code - SIPServer ===== | ===== External Code - SIPServer ===== |