From: Bill Erickson Date: Tue, 18 Mar 2014 14:10:48 +0000 (-0400) Subject: eg 2014 browser client presentation X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=8d5ed9722b06c8125ca6e4ce93fa7d37577ceed2;p=working%2Frandom.git eg 2014 browser client presentation Signed-off-by: Bill Erickson --- diff --git a/browser_client.txt b/browser_client.txt index dd4c30dda..5549c1418 100644 --- a/browser_client.txt +++ b/browser_client.txt @@ -2,7 +2,7 @@ :author: Bill Erickson :email: berick@esilibrary.com :copyright: 2014 Equinox Software -:duration: 35 +:duration: 40 :data-uri: :backend: slidy :max-width: 45em @@ -10,29 +10,25 @@ == 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 == @@ -103,16 +99,35 @@ decision to choose a seemingly reasonable course of action backfires. ** 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] @@ -126,6 +141,11 @@ decision to choose a seemingly reasonable course of action backfires. ** 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 == @@ -133,17 +153,7 @@ image:images/XMLHttpRequest_vs_WebSockets_Patron_Search.png[Patron Search] 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. @@ -161,16 +171,32 @@ 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 - //// vim: ft=asciidoc ////