From: Bill Erickson Date: Wed, 19 Feb 2014 19:32:42 +0000 (-0500) Subject: eg 2014 browser client presentation X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=b4eba198756659ef134c4f5b8f583573d23cbdc8;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 1a7c0dc5c..51fa9fa50 100644 --- a/browser_client.txt +++ b/browser_client.txt @@ -24,7 +24,7 @@ decision to choose a seemingly reasonable course of action backfires. '*' Consarn ye, XULRunner! -== What's Wrong with XULRunner? == +== Why Can't We Update XULRunner? == [role="incremental"] * We've been treating XULRunner like a development platform, which defines @@ -39,19 +39,34 @@ decision to choose a seemingly reasonable course of action backfires. [role="incremental"] * Remote XUL ** Gives XULRunner the power to read UI templates from the server - ** Template changes do not require desktop application updates + ** Changes to server-hosted template files are applied to the client + without the need for desktop application updates. + ** "Support for remote XUL has long been a potential security concern; + support for it was disabled in Gecko 2.0." -- + https://developer.mozilla.org/en-US/docs/Remote_XUL[Remote XUL Docs] * E4X (ECMAScript for XML) ** Used by MARC Editor + ** "E4X, an ancient JavaScript extension, has been removed. Implemented + only in Gecko, it never got significant traction (bug 788293)." -- + https://developer.mozilla.org/en-US/docs/Site_Compatibility_for_Firefox_21[Firefox 21 Site Compatibility] * multipart/x-mixed-replace messages ** Streaming responses + ** "Support for the multipart property and multipart/x-mixed-replace + responses has been removed from XMLHttpRequest. This was a + Firefox-only feature that was never standardized." -- + https://developer.mozilla.org/en-US/docs/Site_Compatibility_for_Firefox_22[Firefox 22 Site Compatibility] + == What do we do about it? == [role="incremental"] * We have a significant amount of work to do, regardless of how we proceed. * Why not take this opportunity to improve our basic building blocks? + * After some lively debate amongst the developers and community members, + we have decided now is the time to move toward a browser-based staff + client. -== Enter: The Browser == +== What's So Great Web Browsers? == [role="incremental"] * Remote updates @@ -64,19 +79,31 @@ decision to choose a seemingly reasonable course of action backfires. ** Real-time holds pull list on an iPad? ** Running reports in the browser built into your refrigerator? * Much of the staff client is already developed as individual web pages. - * Browser Features are publicly documented and di + * Browser Features are designed, documented, and implemented by a diverse + groups of people and standards bodies (w3c, etc.) * Browser support for a given feature is a good litmus test for long-term viability. * Good support for assistive technologies, like screen readers, etc. * Existing, proven tools for local template customization and translations. - * Deep links to resources (patrons, items, etc.) + +== What's So Great Web Browsers? == + +[role="incremental"] + * We can keep our multi-tabbed interfaces + * It's easy to create deep links to specific resources (e.g. patrons) == What Challenges Come with Using a Browser? == +[role="incremental"] * Seemlessly printing to different printers * Secure file storage ** offline transactions ** workstation registrations + * The solution is a small, standalone service which can perform a few + basic tasks. + ** This service will only be required on machines with special printing + needs, machines that perform/upload offline transactions, and + machines where the workstation name has to be locked down. == Browser Developer Tools == @@ -85,6 +112,8 @@ decision to choose a seemingly reasonable course of action backfires. == AngularJS == +AngularJS is JavaScript development framework project from Google. + == Bootstrap CSS == == Staff Client Prototype Project == @@ -97,7 +126,7 @@ image:images/browser-client-patrons.png[Patron Search] * 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] -== Future Development == +== Additional Components / Development == * WebSockets * https://bugs.launchpad.net/evergreen/+bug/1251394 @@ -109,9 +138,7 @@ image:images/browser-client-patrons.png[Patron Search] == WebSockets Streaming Example == -Patron Search via XMLHttpRequest vs WebSockets. - -https://docs.google.com/a/esilibrary.com/drawings/d/1zt3S0vaaRBLj2fmPKhQjFUZ0tpA9cWsjpwqD-8LHnvY/edit +image:images/XMLHttpRequest_vs_WebSockets_Patron_Search.png[Patron Search] == WebSockets Streaming Example ==