[OPEN-ILS-DEV] Evergreen API

Mike Rylander mrylander at gmail.com
Mon May 14 14:27:15 EDT 2012


On Mon, May 14, 2012 at 1:59 PM, Jeff Davis <jdavis at sitka.bclibraries.ca> wrote:
> On 2012-05-14 08:30AM, Mike Rylander wrote:
>> Better documentation would indeed be ideal, but (to use your example)
>> the functionality to do things like extracting a specific substring
>> from the leader and then searching on that (in the OPAC or SQL-ish
>> sense) is available today, purely via configuration (see: MARC Record
>> Attributes and MARC Search/Facet Fields, along with indexing
>> normalizers -- not simple for the uninitiated, but absolutely
>> possible).  Now, whether a catalog search API is the right tool for
>> the job of statistical reporting when there is an RDBMS behind the
>> catalog is an entirely different question -- one that I personally
>> would answer with "no".
>
> I'm not taking a position on the larger question of what the API should
> look like, but it's worth noting that both of these approaches require
> sysadmin-level access to Evergreen.  Not everyone who wants to do
> statistical reporting will necessarily have direct database access or
> the ability to change how the system is configured.

[Jeff, I know you're aware of the following, but for the general
benefit of those that may not be...]

Well, sure, but you have to define indexed fields in Solr (using
administrative access) in order to use the API, too.  That's fairly
analogous to defining Record Attributes or Index Definitions in
Evergreen, I think.  As for the general query API of Solr, there are a
couple analogs in Evergreen.  There's the QueryParser syntax(1) for
direct search of bib data, and separately, for all data (including
bib, but there's way more than just bib data in Evergreen, of course)
there are the open-ils.fielder (see: the new flattener functionality
in 2.2) and open-ils.pcrud services (2)(3)(4).  Both of those are
pretty well documented.

(1) http://evergreen-ils.org/dokuwiki/doku.php?id=documentation:technical:search_grammar
(2) http://evergreen-ils.org/dokuwiki/doku.php?id=documentation:technical:jsongrammar
(3) http://evergreen-ils.org/dokuwiki/doku.php?id=documentation:technical:jsontutorial
(4) http://git.evergreen-ils.org/?p=Evergreen.git;a=blob_plain;f=docs/TechRef/Flattener/design.txt

> One reason to have
> an API is to permit people to develop applications on top of the system
> without requiring that level of access.

Absolutely!  Again, I think we're in agreement about ideals -- it's
the definition of API where I think we're slightly off.  That said,
end user documentation may go quite a long way to moderating the
perception of a lacking API of any definition, IMO.

-- 
Mike Rylander
 | Director of Research and Development
 | Equinox Software, Inc. / Your Library's Guide to Open Source
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  miker at esilibrary.com
 | web:  http://www.esilibrary.com


More information about the Open-ils-dev mailing list