* Nested Routing and Lazy Loading
* Integrated i18n
* Use of TypeScript
-* Service Workers Module
+* Native Service Workers Module
+* Expressive component interactions / data binding
+* Route-reuse for components.
* Integrated ReactiveX library for JavaScript (RxJS).
-* Template Reference Variables
-* Expressive component interactions
* ng-cli Command line tool for compiling, testing, building.
== Nested Routing and Lazy Loading
-* ng5 code operates a single application
-* App-specific modules and templates are loaded on demand.
-* No longer need startup.js and env.js
+* Routers and resolvers all the way down.
+* Code for lazy-loaded modules is retrieved by the browser on demand.
+* Apps can have many modules and still load quickly.
== Integrated I18N
+
+[source,html]
+----------------------------------------------------------------------
+<h1 i18>Hello i18n!</h1>
+<h1 i18n="Section welcome header">Hello i18n!</h1>
+<h1 i18n="page header|Section welcome header">Hello i18n!</h1>
+
+<eg-confirm-dialog
+ i18n-dialogTitle
+ i18n-dialogBody
+ dialogTitle="Workstation Exists"
+ dialogBody='Workstation "{{newName}}" already exists. Use it anyway?'>
+</eg-confirm-dialog>
+----------------------------------------------------------------------
+
+== Integrated I18N
+
+* ng xi18n
+* https://en.wikipedia.org/wiki/XLIFF -- default format
+* PO files not supported, but XLIFF
+** http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/xliff2po.html
+
+== I18N XLIFF Sample
+[source,xml]
+----------------------------------------------------------------------
+<trans-unit id="ac0e8358232537233600051cfca69a2e0e1ba1d7" datatype="html">
+ <source>
+ Welcome to Webby, <x id="INTERPOLATION" equiv-text="{{name}}"/>
+ </source>
+ <context-group purpose="location">
+ <context context-type="sourcefile">app/welcome.component.ts</context>
+ <context context-type="linenumber">2</context>
+ </context-group>
+ <note priority="1" from="description">Home page welcome message</note>
+ <note priority="1" from="meaning">welcome</note>
+</trans-unit>
+----------------------------------------------------------------------
+
== More I18N On the Horizon
[quote,ocombe,https://github.com/angular/angular/issues/11405]
resolved at runtime, and maybe *code translations* if we have the time
(otherwise it'll come soon after).
-== Skipping Template Toolkit
+== Template Toolkit?
* Mixing ng5 i18n and TT no-go.
* Lets us return to standard ng5 structure.
* Org unit template overlays possible using ModRewrite
== RxJS
+* Promises are now supported by default in major browsers.
+** No "notify" support
+* rxjs.Observabbles handle data streams
+* Observables not observered are not executed!!
+
== TypeScript
== TypeScript Fun: Interfaces
* https://getbootstrap.com/
* New ng-bootstrap supports Bootstrap v4 only.
-* Bootstrap v4 is a "reboot" of v3.
* Panels, Thumbnails, and Wells replaced with "Cards"
* Expanded utility classes!
* No more glyphicons -- licensing issues.
* https://angular.io/tutorial
* Build a plain ng5 app
* Option for expanding beyond staff UI's
-* Using ng5 services in the ng1 browser client.
+* Test using ng5 services in the ng1 browser client.
== Intermission: New App Demo
* Mixing ng5 and EGWeb problematic
** Path resolution issues (TT2 vs. html)
-* Mixing Bootstrap 3/4 problematic
+* New Ang5 components must be Bootstrap-3 comatible.
* Ties new project to /eg/staff
* Documentation assumes a single-app upgrade.
* ng5 shell requires global adoption before we benefit from shared code.
* Shared components have to be BS3 compatible
* ng1 client must also load and run ng5
-* Running 3 types of apps at once: ng1, ng1+ng5, and ng5
== Shared Parallel Schematic
* /eg/staff remains pure ng1
* Code and interfaces migrate wholesale to /eg2/ over time.
** Starting with core services & components
+* No services are downgraded
* Conceptually simple
== Unshared Parallel: Challenges
== IMHO
-* Use Parallel migration without sharing code
+* Use Parallel migration without downgrading services
* Start by migrating Dojo / iframe interfaces
* Follow the Angular style guide.