User Tools

Site Tools


Frequently Asked Questions about Evergreen's Features and Technical Infrastructure

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. For a fuller picture of Evergreen's development, see the Evergreen roadmap, which links to wiki pages documenting even more detail about Evergreen's development history.

To learn more about Evergreen, post a message to one of the Evergreen discussion lists or email the developers at IRC users can also stop by channel irc:// for real-time chat (which is also logged at ).

Notable circulation features

First of all, Evergreen has rich, highly flexible 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.

Handy patron-pleasing "preminders" (courtesy notices of due items) help books get back on time.

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.

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 attach 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 these items when they are cataloged.

Evergreen has flexible, customizable, template-based receipt printing, plus support for graphic-enabled receipt printers.

The offline client ensures that circulation doesn't stop during network down-times.

Fine-grained control of bills with groupings and line-items gives front-desk staff and administrators fingertip control of key fiscal information.

Late charges accrue in real-time, so patrons logging in can see what they owe, not just when they return overdue items.

Evergreen can be configured so 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, and also so they can pay off just part of a bill.

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. Buckets 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 allows you to search and retrieve bib records from third-party sources.

Authority validation of MARC records helps cross-reference records.

RSS feeds for record creation and updates enable monitoring cataloging activities through your favorite feed reader.

Notable public 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.

Sidebars for related subjects, authors, and series help patrons tune their search results for improved discovery.

Integration with 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 enrichment-service vendors enables 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 feed-reader such as Google Reader or Bloglines.

"Metarecords" group different formats and editions of the same work together to enable more concise search results.

The user-friendly "My Account" function allows users to renew all or some of their items, change preferences, and even pick friendly user-names for their accounts. A PINES-specific feature is automatic authentication with Galileo when users are logged in.

Notable statistical reporting features

The report builder enables 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.

Features forthcoming in Acquisitions and Serials

See our Evergreen development roadmap for more information.

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.

Supported metadata formats

Input and maintenance

Evergreen stores and indexes metadata in the following metadata formats:

Metadata type Format Evergreen Version
Bibliographic records MARC 21 format for bibliographic data 1.0
Authority records MARC 21 format for authority data 1.0
Serial records MARC 21 format for holdings data (MFHD) 1.6

There are various tools to convert records from other formats to Evergreen's supported formats; for example, for UNIMARC to MARC 21 bibliographic format, USEMARCON.


Evergreen supports exporting its metadata in the following formats:

See SuperCat examples for some more information about displaying metadata in different formats.

Architectural characteristics of Evergreen

Evergreen was designed from the ground up to be flexible and forward-thinking. Its service-oriented architecture facilitates forward development.

Evergreen was designed to meet the needs of very large consortia (though it can easily scale down to smaller libraries and library systems). Native record de-duping, real-time indexing, high indexing capacity, and high transaction capacity 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 systems for groups and users enable administrators to determine 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.

Installing, maintaining, and migrating to Evergreen

If you want to install Evergreen 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.

System requirements

It depends on your needs and your operating system, but for simple evaluation any modern PC with at least 4gb of RAM should suffice for the server. The staff client would also be well suited with a modern 2gb machine. See this wiki page discussing system requirements in more detail.

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.

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.

zzz/evergreen_faq_2.txt · Last modified: 2022/02/10 13:34 by

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.