Skip to content

[FEATURE] Multi-device synchronization of Wispar database #248

@ShaoweiCheng

Description

@ShaoweiCheng

Is your feature request related to a problem? Please describe.
I would like a more convenient way to sync the Wispar database (excluding downloaded papers) across multiple devices (such as Android eReaders, iPads, and cellphones). The main goal is to keep the record of hidden publications consistent across devices.

Currently, my workaround (e.g., between two devices A & B) is as follows:

  1. On device A, export the database and save it to the local drive. (On iPad, this is not possible due to permission restrictions.)
  2. On device A, use another app (e.g., OneSync) to sync the local database file with a cloud drive.
  3. On device B, sync the database file from the cloud drive and save it to the local drive.
  4. Import the synced database file into Wispar on device B.

Since all of this must be done manually each time I switch devices, it is inconvenient. Furthermore, if I forget to perform the sync, the hidden publication record may become inconsistent across devices.

Describe the solution you'd like
I would like Wispar to provide an option that allows users to store the latest database file directly in a cloud drive (e.g., Google Drive, Dropbox, OneDrive), and use the cloud drive’s API to read and write the database file. This would make synchronization much more convenient.

When the “save database in cloud” option is enabled, the following features are suggested:

  1. Startup sync: On startup, Wispar should attempt to read a fixed database file from a user-defined cloud drive path to update the local database. If this fails, it should fall back to the local database.
  2. Manual upload: During runtime, provide a manual option (e.g., within the Wispar icon in the top-right corner) to upload the database file to the cloud drive.
  3. Scheduled backup: Allow users to set a custom interval (e.g., every 30 minutes) for automatically backing up the database file to the cloud.
  4. Exit sync: On program exit, Wispar should automatically upload the latest database file to the cloud before closing.
  5. Conflict handling: Implement measures to prevent multi-device conflicts (e.g., check the modification time of the database in the cloud drive and the local copy; if the cloud version is newer, overwrite the local database, and if the local version is newer, upload it to the cloud).

Describe alternatives you've considered
I haven’t considered other alternatives, but if there is a simpler way to automatically sync hidden publication records across devices, I would be glad to use it.

Additional context
none.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions