Synchronizing between instances / machines
Hi there,
If we want to synchronize between multiple devices / servers or workstations, which folder would we need to sync to keep the data intact?
I'm considering a situation where someone wants to rework remotely and has no internet access on-site and has Docker on their laptop, they can spin it up after the online copy of templates, reports, findings is synced to the machine then go offline.
Then when they're back online it'll sync back to the master server.
Is there a specific folder?
Hi! The easiest option to do this would be to export your design and to import it locally. After finishing your report, you can export the project and import it to your main installation.
If you (temporarily) want to migrate all data, you would need to transfer the docker volumes sysreptor-db-data and sysreptor-app-data and also sysreptor/deploy/app.env (which holds the secrets for data encryption at rest).
However, it will not be possible to temporarily migrate to two notebooks and then centrally merge the results this way.
Ah fair point because it's encrypted there's no way for it to merge unless we can figure out some merging logic in the app.
Yes, there will be no way to implement the without the SysReptor application, because much data is held in JSON fields in the database, that are encrypted. It might be possible to add a new project, but not to update an existing project.
Can you say what's your use case for having multiple projects/designs/etc. synchronized on multiple instances?
Lets say you're traveling and have no internet access then you can still edit and sync up the file afterwards.
Understood.
Yes, this is currently only possible via exporting and re-importing. The re-import will create a new project with a new project ID. If in the meantime somebody changed the original project, you would need to merge it manually.
Maybe you could technically have two identical instances with the same encryption keys and it’ll sync?
On Thu, 18 May 2023 at 16:45, Aron Molnar @.***> wrote:
Understood.
Yes, this is currently only possible via exporting and re-importing. The re-import will create a new project with a new project ID. If in the meantime somebody changed the original project, you would need to merge it manually.
— Reply to this email directly, view it on GitHub https://github.com/Syslifters/sysreptor/issues/31#issuecomment-1552737188, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA3N7UR4SPZOKZIK6XCIHJLXGXOUHANCNFSM6AAAAAAYGAU6GE . You are receiving this because you authored the thread.Message ID: @.***>
We might implement this in the future as a professional feature. It's for sure more complex than it seems at first sight, especially the GUI where we would need to handle conflicts.
Concurrent editing maybe? Hmmm
On Thu, 18 May 2023 at 22:24, Aron Molnar @.***> wrote:
We might implement this in the future as a professional feature. It's for sure more complex than it seems at first sight, especially the GUI where we would need to handle conflicts.
— Reply to this email directly, view it on GitHub https://github.com/Syslifters/sysreptor/issues/31#issuecomment-1553143007, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA3N7USROF2DQWWCGMFA4GTXGYWILANCNFSM6AAAAAAYGAU6GE . You are receiving this because you authored the thread.Message ID: @.***>
This is also on our roadmap but probably will not help if one machine does not have internet connection.