-
Notifications
You must be signed in to change notification settings - Fork 3
Feature: Database Load/Save/Synchronize Persist with Multiple Apps #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ket types 'mcall', 'msend', 'state', 'xtran'
…e, but need to do actual forwarding now
…tran' message type. add 'msig' packet type.
…) which broke Send echo rejection. Made netSendNoEcho test more robust
…address at times, due to use of this.seqlog[] instead of s_uaddr
…t of debugging. Clarify netCall, netSend as netCallHndlr, netSendHndlr
…, cleanup package.json in #dev-unisys route
… a NETSYNC lifecycle phase
… UNISYS or SETTINGS, depending on the type of app
… reflect path that would be ordinarily returned by module.id
… confirm communication and async callback works
…w NC_DBG.inc flag set in index.ejs
…ile), ACD loads data from database
…have ReturnTransaction() invoked on them (possible mem leak of unresolved promises?)
…atabase is empty.
… as a starting point for fresh installs
…abase is empty. (Remove extra 'let')
…nisys-dataserve * commit '6c94729c1e877dbd2113f930fd83c4b46199dd93': ds-unisys-dataserve: push the runtime/netcreate.json default database as a starting point for fresh installs
|
to test:
|
|
One additional note: Running ncPushDatabase on Safari does not seem to update the database. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WHAT'S NEW
You can now:
We do not yet have support for sessions, but this should be pretty straightforward to implement once we discuss and approve a design for sessions is approved. The preliminary design document is in located in the wiki.
TESTING
The goal is to experience the multi-app networked database features, using it as a springboard for refining features as well as continuing to gather feedback/report bugs. To test, try the following:
(1) RUN TWO INSTANCES
localhost:3000*** CLIENTS - http://192.168.1.182:3000) then use Chrome on another computer on the same LAN to access it.(2) EDIT DATA
(3) INSPECT DATABASE
build/runtime/netcreate.json(4) LOAD A FRESH SET OF DATA
http://localhost:3000/#dev-dbon the host machine, or select DEVELOPER/DATABASE TESTS from the dropdown menu on the upper rightCMD-OPT JncPushDatabase('empty.json')in the console and press ENTERCMD-Rto reload the databuild/runtime/netcreate.jsonto see how it changedncPushDatabase()build/app/assets/dataKNOWN ISSUES
REACT ERRORS and GUI BUGS - With recent updates to the REACT GUI library, a lot more warnings are being thrown in the console. Will need to confer with Ben to see if these were already in the build prior to this work, and figure out what to do about them.
MULTIPLE DATABASE WRITES - Each client sends a database update of the same data, because of the way that I patched-in to the existing demo by "shadowing" some internal message calls. Thus, when one instance updates a node, the 'SOURCE_UPDATE' message is captured by the database layer and forwarded to the server. UNISYS also forwards 'SOURCE_UPDATE' to all connected apps, so those instances ALSO respond and THEIR database layers push the same data to the server. This is obviously not the way it should work, but it was the quickest way to make the demo happen without trying to rewrite the existing demo. Again, will need to confer with Ben to replace the current approach that's in use.
NEXT STEPS
It might be useful to write a reference for how to think about UNISYS' features for researchers. Because it's an asynchronous and sequential messaging system that works without explicit endpoint addressing, it can be used to model complex interactions fairly easily with a handful of basic concepts.