[OPEN-ILS-DEV] Server-side OPAC development project: an introduction
Bill Erickson
erickson at esilibrary.com
Fri Mar 4 11:43:43 EST 2011
Hi All,
As some of you may know from various IRC discussions, etc., Equinox (ESI) is
partnering with the King County Library System to build a server-side (i.e.
non-Javascript driven) Template Toolkit OPAC. The purpose of this project
is to re-architect the OPAC with a set of web development tools that will
allow us to manage the logic of data retrieval and display on the server
instead of in the client to provide a faster and more consistent OPAC
experience. This work will improve OPAC rendering across browsers as well
as have a significant impact on overall performance, particularly for users
on slower networks. This approach has the additional benefit of using a
platform which will make the OPAC more accessible and customizable to a
wider group of developers and users. While the core requirement of the
project is to provide KCLS with a drop-in OPAC replacement, there is, in my
opinion, a clear opportunity here for wider adoption of the new architecture
by the Evergreen community at large.
The Architecture
We are replacing all of the Javascript data retrieval and display logic with
mod_perl and Template Toolkit (http://template-toolkit.org/), which is an
open source template processing system that is fast, flexible, and highly
extensible. The mod_perl code is responsible for retrieving and packaging
data, then passing it off (through the blood-brain barrier, so to speak) to
the template environment, which is responsible for display. All in all,
it’s pretty standard web development stuff and I look forward to discussing
the architecture further for anyone that’s interested.
What’s the current status of the project?
ESI recently built a proof of concept (PoC) using a modified copy of the new
KCLS skin. (We removed all but the most trivial JS, sliced up the HTML
templates to better suit Template Tookit, and began the process of moving
inline CSS to external CSS files for general cleanliness and render speed).
A version of the PoC has been pushed to the KCLS development server at
http://devcatalog.kcls.org/eg/opac/home for testing. (Note, this is not
intended to be a full-featured, bug-free environment. It’s there to test
our basic assumptions about performance and rendering. Please be nice to
KCLS’ servers).
We continue to add new features to the code, which lives in an an ESI Git
branch:
http://git.esilibrary.com/?p=evergreen-equinox.git;a=shortlog;h=refs/heads/opac-tt-poc
The branch is kept up-to-date with Evergreen trunk and is trivial to install
over an existing trunk install. I can put a how-to on the wiki for anyone
that is interested.
Why would the community want to use the code?
The obvious and immediate benefits are that the code will address the issues
of performance and rendering mentioned above. What’s more, the templates
should be easier to navigate and customize, given the separation of data
retrieval and display and the lack of external Javascript driving the
display. Template Toolkit also has a nice feature that allows for
overriding individual templates, which will be a great tool for building
local skins, especially if the templates are designed from the outset with
that in mind.
What now?
ESI will continue adding features to this new OPAC. To provide the best
long-term flexibility, we will develop with the assumption that it could be
merged into Evergreen at some point.
As a community, we should decide if this new architecture is a good path for
Evergreen in general. This doesn’t have to happen today, but deciding
earlier gives us more flexibility and clearer goals in the short term. Then
we devise a plan for fostering the two projects in a way that allows them to
grow together.
I look forward to your questions.
Thanks
-b
--
Bill Erickson
| VP, Software Development & Integration
| Equinox Software, Inc. / Your Library's Guide to Open Source
| phone: 877-OPEN-ILS (673-6457)
| email: erickson at esilibrary.com
| web: http://esilibrary.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://libmail.georgialibraries.org/pipermail/open-ils-dev/attachments/20110304/aafdd992/attachment-0001.htm
More information about the Open-ils-dev
mailing list