Progressive Saving
of Work in Progress
John Papa
@john_papa
Slide 2
Slide 2 text
@john_papa
http://johnpapa.net
Blog:
http://jpapa.me/cc-ng-z
Live demo:
Slide 3
Slide 3 text
It’s All About the WIP
Slide 4
Slide 4 text
Saving is Easy
Slide 5
Slide 5 text
Life
Happens
Slide 6
Slide 6 text
Close the Browser by Accident
Slide 7
Slide 7 text
Juggling Too Many Workflows At One Time
Slide 8
Slide 8 text
We Have
Some
Options
Slide 9
Slide 9 text
Some Are
Clearly
Better Than
Others
Slide 10
Slide 10 text
Option A: You Leave, You Lose Changes
Slide 11
Slide 11 text
Option B: You Can’t Leave!
Slide 12
Slide 12 text
Option C: Auto-Save as User Types
What if the
Data is
Invalid ?
What if the
Data is
Incomplete
?
This may not work out so well
Slide 13
Slide 13 text
Option D: Give Up?
Slide 14
Slide 14 text
What Do You Do?
Slide 15
Slide 15 text
Use WIP
Slide 16
Slide 16 text
Save WIP
Automatically
What Stories Should We Handle ?
Get WIP
Cancel WIP
Listen for
Changes
Tell the User
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
Breeze
Import/Export
API’s
Key Technical Features
Angular
Directives
HTML5 Local
Storage
Angular
Services
Slide 19
Slide 19 text
How Do We Know When to Stash?
Listen to breeze
Broadcast a
custom message
Slide 20
Slide 20 text
How Do We Export an Entity ?
Stash all WIP
Serialize entity,
changes and state
Slide 21
Slide 21 text
How Do We Import an Entity ?
Return the newly
imported entity
Grab the stashed
WIP
Import the WIP
into Breeze
Slide 22
Slide 22 text
Update the asterisk
and counter
How Do We Tell the User ?
Slide 23
Slide 23 text
The WIP data
Who tells the
directive when
WIP changes
WIP directive
How Do We Tell the User ?
Slide 24
Slide 24 text
How Do We Interact with WIP ?
Slide 25
Slide 25 text
Angular and Breeze WIP Library
http://jpapa.me/ng-z-wip
Slide 26
Slide 26 text
Enjoy it!
Slide 27
Slide 27 text
Pluralsight Courses
Angular Fundamentals - Joe Eames/Jim Cooper
http://jpapa.me/ngfundps
Build Angular and Breeze Apps Part 1 and 2
John Papa
http://jpapa.me/spangz and http://jpapa.me/
spangz2
Slide 28
Slide 28 text
@john_papa
http://johnpapa.net
Blog:
http://jpapa.me/cc-ng-z
Live demo: