User Tools

Site Tools


Some questions which aren't frequently asked (yet), but have been asked

I read on your website that someone used Evergreen in their personal/home library. How would I go about doing that?

While this is possible, there are a few things to consider:

  1. Evergreen will likely be overkill for your needs, but can be fun to play with.
  2. Evergreen runs on Linux, so when it comes to system maintenance (performing upgrades, applying patches, backing up data, etc.), it would help to have some familiarity/comfort with the Linux command line.
  3. Evergreen was built by and for professional librarians, who have specialized jargon, workflows, and legacy data formats. For example, metadata for your items would be stored in "bibliographic records" in a format known as MARC. Data in MARC is designated by tags and subfield codes. A title might be signified by tag 245, yet in the library world there are different types of titles, each designated by a different tag or combination of tags and subfields. That said, you could learn just enough to get things to display in your catalog and ignore everything else (though it might horrify a library cataloger), or better, search public servers via Evergreen's "Z39.50" client and download existing bibliographic records and use those in lieu of hand-entering your data.
  4. There are single libraries that use Evergreen, but Evergreen was built for handling multiple libraries at once, and you can see that in the prevalence of library selector menus. In general, Evergreen is meant to manage complex libraries, and that calls for some complexity and overhead in turn, things which might not be needed in an application targeting more modest use cases.
  5. Items in Evergreen are typically barcoded, though you could just enter their titles if you don't need to track them physically.

Disclaimers aside, probably the first thing you should do is download the staff client and connect to one of the demo servers. There is documentation and tutorials. Play around and see if it might work for you. For running your own server, check out the download and installation instructions.

I was wondering what kind of programming skills are needed to develop the Evergreen ILS. What languages do you have to know and/or what software or other applications do people use to customize this ILS?

Evergreen 2.1 and earlier (circa 2011):

The current OPAC makes heavy use of Javascript (including AJAX) and XML/HTML/CSS. A newer OPAC in development will be moving away from Javascript and toward Perl Template Toolkit for server-side processing. There's also some XSLT being used in places. The current staff client uses the same sort of technology as the current OPAC, but also throws in Mozilla specific technologies such as XUL and XPCOM, and a Javascript library called Dojo. The Evergreen middle layer uses a lot of Perl for the business logic, but also uses C for some services and infrastructure. Certain obscure components revolving around Evergreen may also use Python and Ruby. At the database level we're using PostgreSQL, including stored procedures (in PGSQL, SQL, and Perl) and triggers. Understanding MARC can also be helpful.

See the page for developing code.

Wow--that's a lot to know...I'm guessing that some people focus on certain aspects of development then, or do most people know how to use most if not all of the tools/languages/programs you listed?

The former.  There are just a handful of "core" developers that have deep and wide understanding of Evergreen, and they funnel contributions from others in the development community into what becomes the "official" Evergreen.  People with different skillsets are found in that dev community; some are expert programmers just learning Evergreen, others are novice programmers helping out with bite-sized problems, and yet others help out in ways not involving "coding" at all, whether with IT expertise, library domain knowledge, testing, documentation, leadership or advocacy (for whatever goal).

Would you be able to recommend a path to start learning more?

A disclaimer: you don't have to be a programmer or have programming staff to use Evergreen, and there are other avenues for getting customization done (such as hiring folks, or an Evergreen company, within the community to do work for you, or contributing in other ways such that folks want to help you in kind–even simply opening bug reports can instigate change). In general, we like to encourage adoption of useful features into stock Evergreen as opposed to encouraging local customizations that never leave their original libraries (and for changes that don't or won't make it into Evergreen proper, it's still useful to sharethem with others).

That said, probably the best thing to do is to start by installing Evergreen (a useful learning experience in and of itself). That can be found here:

Play with the software in the roles of admin, staff, and patrons, and find something that gives you an itch to fix or improve.  Create a Launchpad ticket describing the problem and mention that you plan on working on it (assign it to yourself).  Then ask folks on the OPEN-ILS-DEV mailing list, or on the #evergreen IRC channel, how you might do that.  Folks may point you to the exact file that you'd want to tinker with, and give you pointers on how to test changes.  You don't have to be a master of Perl or Javascript before you dip your toes in the water, but some familiarity with programming in general won't hurt.

If you need to remain anonymous (maybe for fear of retaliation from your current library vendor), there are ways to do that and still participate in the community.  You can ask at for advice in that regard.  In general though, it'd be nice if you just said Hi and introduced yourself on the dev mailing list and/or in IRC.

Launchpad is our public bug tracker; you'll want to create an account for it:

Our mailing lists can be found here:

Information on the IRC chat here:

faqs/feedback_questions.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.