= A Browser-Based Evergreen Staff Client =
:author: Bill Erickson
:email: berickxx@gmail.com
-:date: Evergreen SRE Conference, Oct 9, 2014
+:date: South East Regional Evergreen Conference, Oct 9, 2014
:duration: 40
:data-uri:
:backend: slidy
== What's all this, now? ==
-[role="incremental"]
* XULRunner is the framework on which we built the Evergreen staff client.
* "XULRunner is a Mozilla runtime package that can be used to bootstrap
XUL+XPCOM applications that are as rich as Firefox and Thunderbird."
== Why Can't We Update XULRunner? ==
-[role="incremental"]
* We've been using XULRunner like a development platform with a stable
API and set of rules.
* "XULRunner is a delivery vehicle for the XUL toolkit, which is not a
== The Big Lost Features of XULRunner ==
-[role="incremental"]
* Remote XUL
** Gives XULRunner the power to read UI templates from the server
** Changes to server-hosted template files are applied to the client
* Bonus: Much of the staff client is already developed as individual web
pages.
-== What Challenges Come with Using a Browser? ==
-
-[role="incremental"]
- * Seemlessly printing to multiple printers
- * Secure file storage
- ** offline transactions
- ** workstation registrations
- * Interacting with 3rd-party services running on the desktop.
- ** RFID pad
-
-== What do we do about this? ==
-
-[role="incremental"]
- * Buid a small, standalone service ("shim"), which runs on the desktop.
- ** Talking to printers
- ** Reading/Writing files
- ** Potentially interact with 3rd-party applications
- * The goal is have a small, stable API that requires infrequent updates.
- * Only required by clients that need these features.
- * could also be run as a shared service,
- accessible over the local network to workstations and mobile
- devices, so each can print (and maybe more) to a single instance.
- * If built correctly, it could used by other systems, like Koha.
-
-== Staff Client Prototype Project ==
-
- * Build a sample application so the community could test the look
- and feel.
- * Interfaces
- ** Patron Search
- ** Checkout
- ** Items Out
- ** Items on Hold
- ** Checkin
- ** Record Buckets
- * http://yeti.esilibrary.com/dev/pub/web-staff-log.html[Prototype Dev Log]
- * http://yeti.esilibrary.com/dev/pub/web-staff-report.html[Prototype After-Action Report]
- * http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:manifesto[Browser Client Development Manifesto]
-
-== Staff Client Prototype Project ==
-
-image:images/browser-client-patrons.png[Patron Search]
-
== Development Components ==
* http://angularjs.org/[AngularJS]
* http://getbootstrap.com/css/[Bootstrap CSS]
** Mobile-friendly CSS with a rich feature set.
** http://expo.getbootstrap.com/[Beautiful and inspiring uses of Bootstrap]
-
-== Development Components ==
-
- * Java / http://www.eclipse.org/jetty/[Jetty] for the Print and Storage
- service
- ** Java is portable and has flexible printer support.
- ** Jetty is a small "Servlet Engine and HTTP Server".
- ** Browser can communicate directly with Jetty over HTTP / WebSockets.
* WebSockets
** Bi-directional, streaming, long-lived connections
** Replacement (and then some) for multipart/x-mixed-replace
== Sprint #1 Report ==
* Completed July 2014.
+ * Included in Evergreen 2.7 as a preview
* http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:dev_notes[Dev Notes]
* WebSockets code pending release in OpenSRF 2.4
* Proof of concept Print/Store service
("http://git.evergreen-ils.org/?p=working/random.git;a=shortlog;h=refs/heads/collab/berick/hatch[Hatch]")
+== Sprint #1 Demo ==
+
+https://webby.evergreencatalog.com/eg/staff/
+
== Comments and Questions ==
Bill Erickson <berickxx@gmail.com>
+=== Slides ===
+
+http://git.evergreen-ils.org/?p=working/random.git;a=shortlog;h=refs/heads/collab/berick/eg_srec_2014
+
+
////
vim: ft=asciidoc
////