mattermost / focalboard

Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
https://www.focalboard.com
Other
20.91k stars 1.84k forks source link

Feature Idea: Sync contents between application instances #345

Open mblennegard opened 3 years ago

mblennegard commented 3 years ago

Summary: Sync contents between application instances.

Maybe this is solved with the server edition, but I understand the server edition more about being able to create multiple users and such. My use case is more along the lines of being a single user, so still only personal use, but being able to use the same database instance on both my desktop computer, multiple laptops etc.

How important this is to me and why: High. For me, this is absolutely essential for this type of application.

Use cases:

  1. Being able to switch between computers.
  2. Pave the way for mobile apps as requested by issue #160.

Additional context / similar features: I see this could be implemented in a couple of different ways.

chenilim commented 3 years ago

Thanks @mblennegard! In theory, backing up the db and files to a sync service (like OneDrive, etc.) should work for casual synching. I haven't tested it, but from past experience the files and (especially) DB quickly create a lot of merge conflicts when actively used on two or more clients.

I think the best solution for a single-user sync across devices is to run Personal Server. That's what the server was built to handle. It might take a bit of work, but the server should run perfectly fine on the free-tiers of most cloud services (e.g. AWS EC2) - more than enough for a single user.

Appreciate other folk's input - has anyone seen live synching work well over OneDrive, Dropbox, etc.?

mblennegard commented 3 years ago

@chenilim Yeah, it is my experience as well that sync services usually cause quite a lot of conflicts.

foldedpaper commented 2 years ago

I have just discovered Focalboard and catching up on its current state, so apologies in advance if this topic has been covered somewhere else since it was last touched, but I wanted to add a point about what mblennegard says here:

Perhaps storing the focalboard.db and files folder, as mentioned here for backups, in a synced folder, e.g. Dropbox, OneDrive, Google Drive etc. would be enough? If so, then simply adding an option in the settings for specifying the location of these files would be enough.

Being able to set a location for the database and files folder would be helpful for working offline, and I'm not sure if the Personal Server would work as a solution. If the database could be held in a sync folder, it could be taken offline, worked on using the desktop app, and then re-synced when back online.

VaZark commented 2 years ago

Regarding the issue of handling conflicts can it be handled by using Version control? Tools like darcs and pijul specifically target managing the data as blocks of changes. It can be used to maintain local changes on top of the central/main instance and add them to the main copy later.