User Tools

Site Tools


Frequently Asked Questions about Evergreen's Features and Technical Infrastructure

Also see:

  • Frequently Asked Questions about Evergreen
  • Frequently Asked Questions about Open Source
  • The Evergreen/Open Source Glossary
  • The Evergreen Roadmap

About Evergreen

Evergreen—the powerful, consortial-quality open-source library software—is rich with many features, with a “moving target” of exciting developments. Like the other Evergreen FAQs, this FAQ about Evergreen’s features and infrastructure only touches on some of the most common questions we hear from people interested in Evergreen. To learn more about Evergreen, post a question to one of our discussion lists [link], stop by our public IRC channel openils-evergreen, or send a message to the core developers [link].

1. Notable circulation features First of all, Evergreen has terrific policy control. Customizable circulation rules can define privileges based on library, patron, item, and bibliographic information. This allows for far more flexibility than what's possible with a simple "matrix.” The at-a-glance patron summary prevents needless switching between multiple windows. Library-defined statistical categories for patrons allow you to define arbitrary fields and field entries to record patron information at any level of the organization hierarchy. You're not pigeon-holed into using the hard-coded fields that Evergreen provides by default, and you never have to abuse or overload fields (for example, by putting special codes into zip code or birth date fields). These custom fields do not clutter interfaces for branches where they do not apply. Notes and alert fields for patrons: You can annotate patron accounts with an unlimited number of notes, or set an alert message field that halts the circulation process on patron retrieval. You can even send notes that patrons can see when they’re logged in. Lost cards: you don’t need to re-register patrons or clone patron records to assign a replacement card to a patron, so you won’t lose statistics and account history. Through group management, you can link patron accounts (for example, to associate family members). This then enables other useful functions, such as associating one address with all family members. You can circulate non-cataloged and pre-cataloged materials without resorting to creating "fake" or brief records. Circulation statistics stay with an item when it is cataloged. Evergreen has flexible, customizable, template-based receipt printing, plus support for graphic-enabled receipt printers. Fine-grained control of bills with groupings and line-items means that late charges are applied as they accrue, rather than calculated as they display. Patrons can pay off one bill, several, or all of them. Evergreen can even be configured so patrons can “run a tab” (pre-pay) on their accounts. 2. Notable cataloging features Through library-defined statistical categories for items, you can define arbitrary fields and field entries to record item information at any level of the organization hierarchy. You're not pigeon-holed into using the fields that Evergreen provides by default, and you never have to abuse or overload fields (such as a copy-level Item Type or a generic catch-all field). These fields may be made visible in the online catalog, and they do not clutter interfaces for branches where they do not apply. Unlimited notes for annotating items. These notes can be made visible in the online catalog. "Buckets" for grouping and sharing related items and bibliographic records. These allow you to track and work with your materials in arbitrary ways and more easily collaborate with others. Record-merging preview in bibliographic buckets allows for side-by-side comparison of MARC records before merging, to help you choose the lead record and to prevent accidental merges. Batch Creation of Volumes/Copies across multiple branches to facilitate central cataloging and reduce errors. Powerful mechanisms for moving volumes and copies within and across records and volumes allows for batch movement to specified targets. Customizable label printing based on templates allows you to customize the layout when you want to and forget about it when you don’t. Z39.50 client for record import and overlay allows you to search and retrieve records from 3rd party sources. Authority Validation of MARC records helps cross-reference records. RSS feeds for record creation so you can monitor cataloging activities through your favorite feed reader.

3. Notable catalog (OPAC) features A clean, uncluttered interface which sorts results through strong, effective relevance-ranking. The "Did you mean?" feature corrects typos and misspellings, so they don’t stand in the way of good search results. Related Subject, Author, and Series sidebars help patrons tune their search results for improved discovery. Integration with common web browsers, news aggregators, and search engines through RSS feeds, unAPI, OpenSearch semantics, and multiple XML and library formats for exporting data. Push booklists, search results, and new-book announcements through your patrons’ favorite blogs and RSS readers. Plug-in support for "Added Content" vendors for providing enriched content such as jacket cover images and book reviews. “Bookbags" allow patrons and librarians to collect and share lists of items. Bookbags have static URLs and dynamic content — keep them private, make them public, add them to social bookmarking tools or pop them in a feedreader. "Metarecords" group different formats and editions of the same work together to enable more concise search results. "My Account" allows users to renew all or some of their items, change preferences, and even pick a friendly username for their accounts. A PINES-specific feature is automatic authentication with Galileo ( when users are logged in.

4. Notable statistical reporting features The GUI-based report builder allows for point-and-click access to all fields in the database for constructing reports. Because both the database and the data schema are open source, there are no licensing fees for direct SQL access to the database.

5. Features forthcoming in Acquisitions and Serials See our roadmap [link] for more information. 6. The languages used in Evergreen The business logic of Evergreen is written primarily in Perl and PostgreSQL, with a few optimized sections rewritten in C. The catalog interface is primarily JavaScript with XHTML, and the staff client user interface is written in Mozilla XUL (XML + JavaScript). The user interface for most new staff client functionality is being built with the Dojo JavaScript framework. Python is used for the internationalization build infrastructure and for the EDI piece. 7. General architectural features in Evergreen Evergreen was designed from the ground up to be flexible and forward-thinking. Its service-oriented architecture facilitates forward development. Evergreen was designed for large consortia (though it can easily scale down to smaller libraries and library systems). Native record de-duping, indexing load, and transaction load were engineered into Evergreen from the ground up. Flexible representation of the organization hierarchy allows you to go as deep or as wide as needed with expressing tree-like relationships between physical and political locations. Fine-grained permission system for groups and users allows administrators to set their own balance between ease of use and strict control and accountability. Permissions may also have a depth associated with them that determines where in the organization hierarchy that they apply. Separation of orthogonal information: As much as possible, we try to eliminate the overloading of concepts and fields, to obviate the need for such things as fake users, fake records, and the conflation of locations and statuses. This eases administration and statistical reporting, as well as software development. 8. Installing, maintaining, and migrating to Evergreen If you want to install it on your own, installation instructions are available on the Evergreen wiki. You can also turn to the Evergreen volunteer community with your questions. There are several discussion lists and a public IRC channel. Or you can elect to have a vendor install Evergreen, migrate your data, and handle training, upgrades, and support. Finally, for hands-off peace-of-mind, a vendor can host Evergreen and support it for you. Evergreen currently runs almost unaltered from its Subversion layout, but there is a proposal for a more flexible system to take advantage of the independent and replaceable nature of certain software components. 9. System requirements It depends on your needs, but for simple evaluation any modern PC with at least 512mb of RAM should suffice for the server. The staff client would also be well suited with a modern 512mb machine. There is a wiki-page discussing system requirements in more detail. 10. Clustering options (load balancing, failover, etc.) The OpenSRF framework is inherently cluster-friendly, allowing the ad-hoc addition of inexpensive commodity hardware when system load dictates. The PINES implementation currently uses approximately 25 servers in production, and machines are added and removed on a regular basis as needed. Evergreen uses PostgreSQL, the most advanced and robust Open Source RDBMS available, as its back-end data store. In order to provide load balancing for the Evergreen database, PINES has implemented Slony-I with PGPool as a clustering solution. Other clustering solutions exist for PostgreSQL, and may make sense in other environments. In order to provide load balancing and high-availability at the OPAC and Staff Client level, PINES has implemented a Linux Virtual Server environment with five independent mini-clusters. This allows live updates of the entire system with no perceived downtime or interruption in service. 11. Windows and the Evergreen Server The staff client runs natively on Windows (as well as Macintosh and Linux), but currently the server can only run on Windows via a virtualized Unix-guest OS (using, for example, VirtualBox or VMware). However, since Evergreen is open source software, it's conceivable that a developer could generalize the POSIX network sockets used by OpenSRF to work with Win32 network sockets.

faqs/faq_2.txt · Last modified: 2022/02/10 13:34 (external edit)

© 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.