Why are the notes not simply stored as files in the first place? Would this not be much easier than constant exporting/importing to various providers?
Why are the notes not simply stored as files in the first place? Would this not be much easier than constant exporting/importing to various providers?
It's when exporting them or syncing them that all the app entities (notes, but also notebook metadata, tags, etc.) are converted to plain text files. One advantage of this is that the notes are not locked into an obscure format - it shouldn't take more than 1h to create a script that read and convert these text files to any other format.
Whether that approach is a good idea is a different question than it being possible.
I personally feel the only truly non obscure format are plain text files and it should be possible to use hierarchies, tags etc. with a combination of folders and front matter on the files itself. But I am a bit extreme in this, since I just don't like to migrate my notes yet again and have to install app after app on every device I need to access them. I was quite taken with projects like grav, that can provide functionality with just markdown files. But I haven't investigated to far on performance, especially not on mobile.
And you are right of course, that SQLite is quite preferable to most propitiatory cloud storage solutions.
Zim uses plain text files and folders. You can have images, tags, link to other notes, links to the filesystem...
Maybe I am not using it with enough files for it to be a problem, but I cant say that it is slow.
:config sync.target 2
Then you can specify the directory where the files should go with: :config sync.2.path /path/to/synced/dir/
Currently there's no config screen to do this in the desktop app, but it's possible to enable by changing the settings directly in the SQLite database (in the "settings" table).Not open-sourced yet but will be very soon
That's also why having a local SQLite is useful because you can more easily compare your local state to what they have.
I do have a local database store, but the Windows Store app is written in JS so I'm using NeDB which is basically just a mongo style interface for a JSON file. At the moment I really only use it to track recently opened files.
On other platforms I'll probably use SQLite, but I won't be storing the data in there, just the metadata (access times, paths, previews, wordcounts etc)
As one dev to another I have to say I love what you've built in Joplin. I love the name, I love the terminal app idea (Why didn't I think of that!) - its really a great achievement. You've built for multiple platforms and here I am hijacking the thread to peddle my half-built markdown-editor-with-a-file-list =D
(1) https://play.google.com/store/apps/details?id=com.ttxapps.dr...