eg 2016 slides collab/berick/eg2016
authorBill Erickson <berickxx@gmail.com>
Thu, 21 Apr 2016 14:09:34 +0000 (10:09 -0400)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Apr 2016 14:09:34 +0000 (10:09 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
back-to-future.adoc
browser-client-angular.adoc

index b2cce5e..04b2138 100644 (file)
 
 == Staff Client Evolution
 
-* XUL Client
-* Browser Client
-
-== XUL Client Deprecation
+== XUL Client
 
  * TODO image
 
index 9265058..ce7ab03 100644 (file)
 * Local CSS via Template Toolkit
  ** Open-ILS/src/templates/staff/css/
 
-== I18N / L10N
-
-* TT2
+== I18N : In-Template Strings
 
 [source,html]
 ------------------------------------------------------------
 <div>[% l('Renew Items') %]</div>
+<div>[% l('Welcome To [_1]', '{{lib_name}}') %]</div>
+------------------------------------------------------------
+
+[source,js]
+------------------------------------------------------------
+$scope.lib_name = some_org.name();
 ------------------------------------------------------------
 
-* AngularJS / egStrings
+== I18N : Dynamic Strings
 
 [source,html]
 ------------------------------------------------------------
 <script><!-- typically in index.tt2 -->
 angular.module('egCoreMod').run(['egStrings', function(s) {
   s.RENEW_ITEMS = "[% l('Renew Items?') %]";
-  s.NUM_HOLDS = "[% l('Number of Holds: [_1]', '{{hold_count}}') %]"
+  s.WELCOME_MSG = "[% l('Welcome To [_1]', '{{lib_name}}') %]";
 }]);
 </script>
 ------------------------------------------------------------
@@ -52,42 +56,57 @@ angular.module('egCoreMod').run(['egStrings', function(s) {
 egAlertDialog.open(egCore.strings.RENEW_ITEMS);
 
 $scope.some_label = egCore.strings.$replace(
-    egCore.strings.NUM_HOLDS,
-    {hold_count : count}
+    egCore.strings.WELCOME_MSG,
+    {lib_name : some_org.name()}
 );
 ------------------------------------------------------------
 
 == Network Communication
 
-WebSocket - https://en.wikipedia.org/wiki/WebSocket
-
-* Bi-directional data streams
-* Persistent Connections
-* Cross-origin support
+WebSocket -- Persistent, full-duplex streams.
 
 == Scripting
 
 * AngularJS - https://angularjs.org/
  ** Open-ILS/web/js/ui/default/staff/
 
+[source,html]
+------------------------------------------------------------
+<div>{{hold_count}}</div>
+------------------------------------------------------------
+
+[source,js]
+------------------------------------------------------------
+$scope.hold_count = array_of_holds.length;
+------------------------------------------------------------
+
 == Scripting: Build and Deploy
 
 * Bower - http://bower.io/
- ** JavaScript distribution mechanism
+ ** Dependency Manager
 * Jasmine - https://jasmine.github.io/
  ** AngularJS testing framework.
 * PhantomJS - http://phantomjs.org/
- ** Browser-less (server-side) JS unit test engine.
+ ** Browser-less (server-side) JS engine.
 * Grunt - http://gruntjs.com/
- ** Coordinates all of the above.
+ ** Building and testing
 * Node.js - https://nodejs.org/en/
- ** Each of the above are Node.js packages or dependencies.
+ ** Runs Grunt and Bower
+
+== Browsers can do Most Of The Things.
 
-== Printing / External Storage
+  * Seemlessly printing to multiple printers
+  * Secure/external file storage
+    ** offline transactions
+    ** workstation registrations
+  * Interacting with 3rd-party services running on the desktop.
+    ** RFID pad
+
+== Hatch 
 
- * Hatch
   ** Current Repo: http://git.evergreen-ils.org/?p=working/random.git
    *** Branch collab/berick/hatch2
   ** Future Repo: http://git.evergreen-ils.org/?p=working/Hatch.git
  * http://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:hatch:who_needs_it[Who Needs Hatch?]
 
+