Closed kaidatavis closed 6 months ago
So I would like to bring to attention to start a discussion when we would like to save information for the session.
Personally I think we should make SenseMap save the entire session information upon closing SenseMap as Data at that point is the most complete.
The potential problem is that SenseMap may not get a chance to save the data, which will then be lost.
For example, if user closes/quits chrome, which also closes SenseMap, is it always guaranteed that SenseMap has the chance to save all the data before it gets shut down? In a less likely event when Chrome or the OS freezes, all the data will be lost.
I don't see any particular benefit to wait until there is more data. Instead, this can cause an user delay as he/she needs to wait for a relatively larger amount of data being sent to the server. Whereas when data is saved as they generate, user probably won't notice any delay because of the small amount each time.
True, I understand your point, I was thinking how do we deal with incomplete nodes, what if the node is still loading as it shows at times in the console.
But it just occurred to me that we don't really care whether nodes are loading or not when getting their information. The Loading aspect was only important for history map.
Update:
Points of Discussion:
True, I understand your point, I was thinking how do we deal with incomplete nodes, what if the node is still loading as it shows at times in the console. But it just occurred to me that we don't really care whether nodes are loading or not when getting their information. The Loading aspect was only important for history map.
This is a good point. It is probably better to wait until a page is fully loaded before sending the information to server. Currently, a node can be updated a few times, for title, favcon, redirection, etc. It will be too many server communications if each of these update is sent separately.
I commented line 18 in rest api sensemap model to make the api work again.
Need to find what the error is and fix it. Just removing this line may cause problem for API uses it.
Currently, a node can be updated a few times, for title, favcon, redirection, etc.
That is why I was thinking sending all at the end would be a better solution. Currently I am sending nodes to the DB every time a node gets pushed to the Node array.
Need to find what the error is and fix it. Just removing this line may cause problem for API uses it.
Remember when you asked shaz in the meeting last few minutes to add "visibility" ? thats why it had an error. I think it is just a syntax issue.
I currently stumbled upon a minor issue. Every time i push a node to a session ID it does not add it to the session with the corespondig session id, but rather to the first session. I do believe this is an API related mistake. Could anyone look into this with me.
Also @kaimdx , How exactly do i manipulate the fields of future nodes. In example adding "visibility" to them ?
@kaimdx I also talked to Professor Dr Jaap Boeender, is there any chance we could put SenseMap public ally on GitHub ?
I think this would finally qualify @HumzahJavid and myself to use it for one of our modules (which means we having more time to work on it)
That is why I was thinking sending all at the end would be a better solution. Currently I am sending nodes to the DB every time a node gets pushed to the Node array.
I misunderstood that you meant saving the nodes when a whole session is complete. Yes, it will be a good time to send a node to server when the node's loading is complete. Currently in browserProvenance
line 124 sets the 'complete' status for a tab/node. You can trigger a new event/message there to invoke the node saving, such as dispatch.tabCompleted(node)
How exactly do i manipulate the fields of future nodes. In example adding "visibility" to them ?
by adding a new attribute/field visibility
to the node
object and set its value as true
or false
?
is there any chance we could put SenseMap public ally on GitHub ?
I have been thinking about this as well, and it is possible. Let's discuss this at the meeting on Monday.
Update:
Points of Discussion:
I would really appreciate any help given with me solving the "user interactivity" issue for loading, as I am clueless right now
@RedayY Thanks for the update. Let's discuss these at the meeting today. I added the discussion points to today's meeting wiki page.
Can you create such meeting from next week on? Just copy the template from Meeting Minutes template https://github.com/Vis4Sense/SenseMapExtension/wiki/Meeting-Minutes-template and add anything you want to discuss.
And then add a link on the sidebar https://github.com/Vis4Sense/SenseMapExtension/wiki/_Sidebar/_edit
Pushed current state of SaveLoad to rebuild-Login.
PS: No API key in code 👍
Still need to decide what happens to the tabs that are already open when a session is loaded. Currently this causes a conflict because 1) nodes for such tabs can have the same nodeID as the nodes from the saved session, and 2) SenseMap is not aware which node has its URL open in a tab and which doesn't.
Commit 630e88e92f4ca9482b6611849ada709b1abb0126 now uses UUID for node id (https://www.npmjs.com/package/uuid), so it is very unlikely that two nodes will have the same Id.
Save the historyMap.model
to the database instead of nodes
and tree
.
For the discussions related to the development of the Save, Pause, and Load Sessions in SeneseMap.