:author: Bill Erickson
:email: berick@esilibrary.com
:copyright: 2014 Equinox Software
-:duration: 35
+:duration: 40
:data-uri:
:backend: slidy
:max-width: 45em
== Why Are We Talking About This? ==
[role="incremental"]
- * The time has come
- * and gone
- * The XULRunner version (14.0.1) used by Evergreen was released July 2012.
+ * Version 14 of XULRunner, required by Evergreen, was released July 2012.
* As of February, the latest version of XULRunner is version 28.
+ * 14 releases of security fixes, bug fixes, speed improvements, and
+ features we can't use.
== Why Can't We Update XULRunner? ==
image:images/jonah-api.jpg[Used The Documented API]
-Here we see a young Jonah Hill expressing frustration when his
-decision to choose a seemingly reasonable course of action backfires.
-
'*' Consarn ye, XULRunner!
== Why Can't We Update XULRunner? ==
[role="incremental"]
- * We've been treating XULRunner like a development platform, which defines
- features for developers, and then maintains those features.
- * XULRunner is more accurately a test bed for Firefox. As browser
- features evolve to fall in line with other browsers, unwanted features
- are discarded from Firefox and XULRunner.
- * Too bad we are using some of those "unwanted" features.
+ * We've been using XULRunner like a development platform.
+// with published features which are maintained
+ * XULRunner is really a test bed for Firefox.
+// as browser features are discarded, they are removed from XULRunner
+ * Too bad we are using some of those discarded features.
== The Big Lost Features of XULRunner ==
** RFID pad
== What do we do about this? ==
- * The currently proposed solution is a small, standalone service which
- can perform a few basic tasks:
+
+ * The currently proposed solution is a standalone service, which
+ runs on the desktop and can perform a few basic tasks:
** Talking to printers
- ** Writing files
+ ** Reading/Writing files
** Potentially interacting with 3rd-party applications
- * Proof of Concept ("http://git.evergreen-ils.org/?p=working/random.git;a=shortlog;h=refs/heads/collab/berick/hatch[Hatch]")
- using Jetty, a small Java-based web service provider.
- * Java is portable, has flexible printer support, and is easy to code.
+ * The goal is have a small, stable API that requires infrequent updates.
+// as the code stabilizes, the updates will be less frequent
+ * If built correctly, it could potentially be shared and used by other
+ systems, like Koha.
* *note:* Only required by clients that need these features.
+== Staff Client Prototype Project ==
+
+ * 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]
+
== Browser Developer Tools ==
* http://angularjs.org/[AngularJS]
** Bi-directional, streaming, long-lived connections
** Replacement (and then some) for multipart/x-mixed-replace
** http://blog.esilibrary.com/?s=websocket[Blog Series]
+ * 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 Streaming Example ==
XMLHttpRequest requires *102* OpenSRF messages; WebSockets requires *51*.
-== Staff Client Prototype Project ==
-
-image:images/browser-client-patrons.png[Patron Search]
-
-== Staff Client Prototype Project ==
-
- * http://yeti.esilibrary.com/dev/pub/web-staff-log.html[Prototype Dev Log]
- * http://yeti.esilibrary.com/dev/pub/web-staff-report.html[Prototype Report]
- * http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:manifesto[Browser Client Development Manifesto]
-
-== So Let's Build This Thing! ==
+== So Let's Build This Thing ==
Proposed staff client development project, divided into sprints.
*Note:* The final product will be a mix of new Angular UIs and
existing web-based UIs. Only the XUL interfaces being wholly rebuilt.
-== Sprint #1 Funded! ==
+== Sprint #1 Funded ==
Development Partners
* ...
+== Sprint #1 Progress ==
+
+ * http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:dev_notes[Dev Notes]
+ * WebSockets code complete and call for testing [https://bugs.launchpad.net/opensrf/+bug/1268619[LP#1268619]]
+ ** Using WebSockets by default in the staff UI
+ * Proof of concept Print/Store service
+ ("http://git.evergreen-ils.org/?p=working/random.git;a=shortlog;h=refs/heads/collab/berick/hatch[Hatch]")
+ * Display Grids
+
+== Sprint #1 Pending Code, Research, and Questions ==
+
+ * JS integration of print/store server
+ * JS components for keyboard shortcuts
+ * Integrating existing HTML UIs with browser client
+ * Integrating the TPAC with the browser client
+ * Integrating web UIs into XUL to ease integration
+
== Comments and Questions ==
Bill Erickson <berick@esilibrary.com>
-
////
vim: ft=asciidoc
////