forked from Maultasche/knockout.observableStorage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
30 lines (25 loc) · 2.09 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
- Create an example app to test and demonstrate the persist functionality. Place in examples directory.
- Add example of custom storage persistence to a node.js server (advanced option)
- Provide display of the current server storage value
- Allow the user to change the server storage value through the observable
- Not sure how the values should be stored on the server.
- Session storage associated with a cookie?
- Provide authentication via Google or Github?
- Not sure how long the values will last
- Values should continue to persist for a while and across windows/tabs, although the
details of this may vary depending on implementation
- Allow the user to initiate a change that bypasses the observable and directly changes
the value on the server via an API call. The observable should update itself when the underlying storage is changed. We'll probably have to do this by pushing an event over a web socket connection. We'll have to figure out how to establish a web socket connection.
- Add AMD functionality (see pull request in knockout.localStorage)
- Be sure to credit the submitter of that pull request
- Create automated tests in test directory
- Karma?
- Jasmine?
- Cucumber?
- Create build process
- Gulp with gulpfile in root directory
- Produces a minified version that is placed in the root directory
- Adds a header with copyright, github repository, author, and related information to the minified version
- Revise readme to provide good documentation discussing how to use this functionality, giving examples of each type of storage. If node.js example is done, discuss how that works and point to the example.
- Discuss issues encountered while implementing, particularly the "storage updated -> storage change event -> observable updated -> observable updated event -> update storage -> storage change event" cycle. We solve this by temporarily unsubscribing from the observable updated event when a storage change event occurs.
- We also save ourselves some unnecessary work if a storage change event occurs and the new value is the same as the value in the observable.