Evergreen 2.0: what doesn't it have? ==================================== :author: Dan Scott :copyright: 2011 Laurentian University :backend: slidy :data-uri: :max-width: 45em :icons: :duration: 60 This talk is licensed under a http://creativecommons.org/licenses/by-sa/2.5/ca/[Creative Commons, Attribution, Share Alike license]. image::images/cc_by_sa_360.png[] Evergreen's code is licensed under the http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General Public License, version 2] or later. Evergreen release timeline -------------------------- [width="80%",cols="2,5",options="header"] |=========================== |Release |Date |1.0 |September 2006 |1.2 |July 2007 |1.4 |January 2009 |1.6.0 |November 2009 |1.6.1 |June 2010 |2.0 |January 2011 |=========================== Steady pace of releases featuring enhancements over time; so what's _not_ in 2.0? Configurable - Blessing / Curse ------------------------------- Before you ask, almost everything in Evergreen is configurable; too configurable, perhaps... image::images/administration_local.png[] Public catalogue features ------------------------- * Added content (cover images, reviews, etc) from many sources: ** OpenLibrary (default, cover images, tables of content) ** ChiliFresh (reviews) ** ContentCafe (reviews) ** Syndetic (cover images, reviews, author biographies, notes) ** Google Books (full or partial previews) ** Amazon (cover images) * Improved faceting: ** Displays record counts for each facet ** Selection is ANDed to current search ** Facets derived predictably from records returned in search results Public catalogue - Basic search ------------------------------- image::images/opac_basic_results.png[] Public catalogue - Advanced search ---------------------------------- * Search with truncation operators ("child*") * Search with Boolean operators (AND, OR, NOT) image::images/opac_advanced.png[] ifndef::backend-slidy[] * Exact phrase searching: '''"quote text"''' * NOT operator by prefixing word or phrase with hyphen: '''-notgonnaincludeme''' * Search specific indexes by prefixing index name: '''title:who has seen the wind''' * Search more granular indexes by prefixing index name and subindex: '''author|personal:margaret atwood''' * Limit search to specific shelving locations * Specify MARC item type / format characteristics in excruciating detail * Search specific tag/subfield combinations endif::backend-slidy[] Public catalogue - Features (2) ------------------------------- * Display of arbitrary MARC data (_BibTemplate_) in search results and record details image::images/opac_reset_password.png[float="right"] * Patrons can update their own contact information, reset their passwords * Call number browse normalized to per-library classification scheme (Dewey and LC supported out of the box) * **Missing**: a full-featured catalogue suitable for low-bandwidth connections or Internet Explorer ** There is agreement in principle amongst developers that addressing this is a high priority * **Missing**: significant social features such as patron-generated reviews, ratings ** There is some exploratory code in this area outside of 2.0; see http://coffeecode.net/archives/237-Standard-Social-Sharing-and-Aggregation-on-the-Go-Access-2010-presentation.html[this Access 2010 presentation] ifndef::backend-slidy[] ** Current catalogue is an Ajax dream/nightmare ** Makes many requests, which can take a long time to complete over a low-bandwidth connection ** Internet Explorer has a terrible time managing memory in JavaScript and quickly slows to a crawl (or crashes Windows entirely) ** ... Development team hopes to rewrite the catalogue to be bandwidth/mobile/Internet Explorer-friendly endif::backend-slidy[] Cataloguing - Authorities ------------------------- * Categories of authorities: ** Author: 100‡a, 110‡a, 111‡a ** Subject: 148‡a, 150‡a, 151‡a, 155‡a ** Title: 130‡a ** Topic: 150‡a * Changes to an authority propagate to linked bibliographic records * A http://svn.open-ils.org/trac/ILS/browser/trunk/Open-ILS/src/support-scripts/authority_control_fields.pl[script] is available to link bibliographic records against authorities Importing authorities --------------------- * Authorities in MARC or MARCXML format can be imported via the MARC Batch Import/Export tool * Duplicate authorities are prevented by default image::images/staff_client_vandelay_import.png[] Managing authorities -------------------- image::images/authority_manager.png[] Editing an authority record --------------------------- * **Actions -> Edit** opens the authority record in a MARC editor: image::images/authority_edit.png[] Editing an authority record: result ----------------------------------- image::images/authority_edit_result.png[] Merging authority records ------------------------- * **Action -> Merge** enables you to merge two or more authority records * Linked bibliographic records get linked to the master authority record image::images/authority_merge.png[] Controlling fields manually --------------------------- * Fields in bibliographic records that are controlled by an authority record will be linked via a $0 subfield per MARC rules * Right-clicking a field in the MARC Editor triggers an alphabetical browse of available authority records, including 4xx and 5xx matches * Ability to create an authority record on the fly * **Missing**: linkage between authority records (5xx) Browsing authority records -------------------------- * The classic MARC editor offers an authority browser on controllable fields image::images/authority_browse.png[] Cataloguing - Serials --------------------- image::images/serials_options.png[float="right"] * Not just one, but two user-friendly interfaces for predicting and receiving serials ** And one raw MFHD interface for the hardcore * Procedure: 1. Create a _subscription_ 2. Add the _captions and patterns_ for the serial 3. Add a _distribution_ with a copy attribute template 4. Create one issuance for that combination of subscription and distribution 5. Generate predictions starting from that issuance 6. Receive the issues Serials - Enumeration wizard ---------------------------- image::images/serial_pattern_enumeration.png[] Serials - Chronology wizard ---------------------------- image::images/serial_pattern_chronology.png[] Serials - Frequency wizard ---------------------------- image::images/serial_pattern_compress_frequency.png[] Serials - Predictions --------------------- * Once you have a pattern, you can generate predictions! image::images/serial_generate_predictions.png[] Serials - Check in ------------------ * Once you have predicted issues and created a copy template, you can receive serials image::images/serials_receiving.png[] Serials - Missing in action --------------------------- Some important functionality is still missing in action: * Serials claiming has not yet been implemented * Display of records with hundreds of barcoded issues is a problem (Art Rhyno has provided a https://bugs.launchpad.net/evergreen/+bug/491594[workaround]) * Placing holds on specific issues is only available to staff by default; see also display of records with hundreds of barcoded issues Cataloguing - Flat-text MARC editor ----------------------------------- * Switch between flat-text MARC editor and classic editor on the fly image::images/marc_editor_flat_text.png[] Cataloging - Classification and call numbers -------------------------------------------- * Configurable classification scheme defines default call number selection per library (Dewey, LC, and generic out of the box) * Spine labels ** Configurable call number prefix & suffix per shelving location ** Configurable font and label sizes per library Copy location editor -------------------- image::images/copy_location_editor.png[] Spine label editor ------------------ image::images/spine_label.png[] Circulation - Patron registration --------------------------------- * Register a patron in a single screen (seven screens prior to 2.0!) image::images/patron_editor.png[] Circulation - Rules ------------------- image::images/circulation_policy_editor.png[float='right'] * Staff client interface for defining duration and fine rules based on criteria including: ** item circulation modifier ** item type, format, videorecording format ** owning library ** circulating library ** reference state ** type of patron ** age of patron Circulation - Multi-item sets ----------------------------- * **Missing**: ability to catalogue multiple items as a single set (for example, _Play harmonica today!_ consisting of a book, CD, and harmonica) ** Current workaround is to assign just a single barcode to the complete set * Some support, via **Mark Missing Pieces** at check-in (albeit for only a single barcode) ** Changes item status to ''Damaged'' ** Prints an item slip ** Prints a notification letter ** Adds a note to the patron's record ** Item remains checked out to patron's account until resolved Circulation - Mark Missing Pieces --------------------------------- image::images/mark_missing_pieces.png[] Circulation - Missing pieces (confirm and note) ----------------------------------------------- image::images/mark_missing_pieces_ok.png[] image::images/mark_missing_pieces_note.png[] Circulation - Missing pieces patron note ---------------------------------------- image::images/mark_missing_pieces_patron_notes.png[] Circulation - Bound-withs ------------------------- * The inverse of the multi-part item is two or more separate works bound together in a single item. For example: ** Collections of pamphlets in a single bound volume ** _tête-bêche_ - popular for Canadian bilingual governement documents ** Thousands of books on a single e-reader * **Missing**: Evergreen currently provides no support for separate bibliographic records that can be linked to a single barcode Circulation - Hard due dates ---------------------------- * Most loan durations are expressed as an interval of time ("2 weeks", "4 hours") * Academics needed a way to set "End of term" due dates, so now hard due dates enable you to ** Set a _ceiling_ for regular loan durations ** Or set due dates for all affected items to the hard due date image::images/circ_hard_due_dates.png[] Circulation - Holds ------------------- * Optional first-in, first algorithm (**new**) vs. classic "minimize transit distance" algorithm * Patrons can: ** See estimated wait time, hold queue details ** Cancel and recreate holds ** Change pickup location before the hold is ready for pickup ** Place holds on on-order items ** Create holds from bookbags (_KCLS skin?_) * Staff can: ** Add custom notes to hold slips ** Force a patron to the front of the queue (for example, if the held item was damaged) * System can be configured to disallow holds for items that are on the shelf Circulation - Notifications --------------------------- * Out of the box, email, print, and telephone notification is supported (Asterisk PBX server not included) * Pre-defined events that trigger notification include: ** Holds are available or expiring ** Pre-overdue reminders ** Items are overdue or marked as lost ** Password resets ** Self-checkout receipts ** Results of a patron request (ordered, received, cancelled, rejected) Circulation - Other ------------------- * Booking * Sets of items * Transaction logging (who accepted payment for what?) * Merge patrons * Delete patrons (anonymizing all transaction history) * Amnesty mode * Built-in self-check supports credit card payments (Canadian usage unknown) * Backdated check-ins retain actual check-in time as well as backdate * **Missing**: Academic reserves ** But see http://svn.open-ils.org/trac/ILS-Contrib/wiki/SyrupReserves[Syrup] for a reserves system implemented by the University of Windsor Acquisitions ------------ * In preview mode since 1.6.0, acquisitions has been unleashed in 2.0.0: ** Funding sources and funds ** Multiple currencies and exchange rates ** Provider (vendor) management Acquisitions - Funding sources ------------------------------ image::images/funding_sources.png[] Acquisitions - Funds -------------------- image::images/funds.png[] Acquisitions - Providers ------------------------ image::images/acquisitions_providers.png[] Acquisitions - Ordering ----------------------- * There are a number of ways of ordering in Evergreen: ** Manually creating selection lists and invoices ** Generating an EDI ORDERS message (the provider's ORDRSP can be used to update price and status information) ** Using the provider's selection interface and loading their MARC order records * EDI has been tested so far with: ** Baker & Taylor ** Brodart ** Midwest Tapes ** Ingram * **Missing**: Good (any?) documentation on how to use most of the advanced features in acquisitions Integration ----------- * Z39.50 client for copy cataloguing * SRU and Z39.50 server interfaces for external clients * SIP server support for self-checkout and authentication * OpenURL support: ** http://coffeecode.net/archives/194-SFX-target-parser-for-Evergreen-and-some-thoughts-about-searching-identifiers.html[Basic SFX target parser] ** Cached SFX lookups for electronic resource display in search results (post-2.0 but available now) * **Missing**: ability to delegate authentication to an external service (LDAP, OpenID, Shibboleth, etc) Documentation ------------- * Team co-led by Robert Soulliere at Mohawk College has produced http://docs.evergreen-ils.org/[a solid draft for 1.6.0] ** Full HTML and PDF versions available * Staff client supports separate help page for each staff client interface * **Missing**: ** 2.0 documentation ** Actual help content Support channels ---------------- * A number of commercial companies offer support, hosting, and custom development services * The http://evergreen-ils.org/listserv.php[mailing lists] are quite active for general questions, some technical support. In the past year: ** http://markmail.org/search/?q=list%3Aorg.georgialibraries.list.open-ils-general+date%3A20100101-[1,717] general messages ** http://markmail.org/search/?q=list%3Aorg.georgialibraries.list.open-ils-dev+date%3A20100101-[1,103] development-oriented messages * The http://evergreen-ils.org/irc.php[Internet Relay Channel] is a good source of hardcore technical support * http://pines.georgialibraries.org/evergreen2011/[Third annual conference] is being held in Atlanta, Georgia in April 2011 Independence and governance --------------------------- * Development team features a more diverse mix of active committers: ** Currently 4/9 from outside of Equinox (arguably 2/7) * Increasing quantity of patches contributed by, and bugs opened and answered by, the community * Community has self-organized into a number of ad-hoc teams / committees: ** Developer team ** Communications / Web team ** Documentation team ** Reports committee ** Conference committee * Governance committee was struck at the 2010 Evergreen Conference ** Currently working on forming a fiscal sponsorship agreement with the http://sfconservancy.org[Software Freedom Conservancy] ** Has also held healthy debates about how the governance committee should renew itself, what membership means, etc