4 ms·
Since I can't test it right now: Does this use some kind of database to store the notes? The readme talks about syncing, including to the file system. Why are
by Grumbledour 9y ago
Since I can't test it right now:
Does this use some kind of database to store the notes?
The readme talks about syncing, including to the file system.
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?
- roryisok 9y agoThat's exactly what I just built for myself. Flatnote, on the windows store (and soon on mac/Linux/mobile) is a rich-edit note app which stores files as .md files in the file system. Sync is handled by just putting your notes folder in Dropbox
- florianletsch 9y agoWhere can I follow your project? I currently use QOwnNotes on Linux which does exactly that, but would be keen to try some alternatives, in particular if you're working on a mobile version.
- roryisok 9y agoHere's a very basic page you can follow http://roryok.com/flatnote/ http://roryok.com/flatnote/ Not open-sourced yet but will be very soon
- laurent123456 9y agoThat's interesting, I've tried to use plain text files at the beginning too but it didn't quite work. Also if I'm not mistaken on mobile Dropbox sync is not built-in so you'll need to implement it on top of their API (including conflict handling) which is probably the most difficult part in any app like this. That's also why having a local SQLite is useful because you can more easily compare your local state to what they have.
- roryisok 9y agoYou're right, when I build mobile I'll have to build my own sync to dropbox, but there are plenty of libraries for that. Hopefully one that already does conflict handling =( 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
- Grumbledour 9y agoOn Android, I use Dropsync[1] to make certain Dropbox folders behave more like on desktop and synchronize in the background. Works great with my markdown note files and also ensures my notes are always available offline. (1) https://play.google.com/store/apps/details?id=com.ttxapps.dropsync https://play.google.com/store/apps/details?id=com.ttxapps.dr...
- kleptako 9y agoboostnote[1] also does this [1] https://boostnote.io/ https://boostnote.io/
- laurent123456 9y agoHi, I'm the author of this app. The notes on each client are stored in an SQLite database for performance reason. If they were stored directly as text files it would be slow to query them, it would be very hard to make it work on mobile (and even slower), and you wouldn't be able to easily create relations between notes and tags, notes and notebooks, resource links, etc. 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.
- maxerickson 9y agoYou can use a database for queries without treating it as the canonical data store. Whether that approach is a good idea is a different question than it being possible.
- sbarre 9y agoThis is why open source is great. You should fork the project and prove your hypothesis to us instead of FUD-sniping in the thread. ;-)
- icebraining 9y agoThere's no FUD in that comment.
- Grumbledour 9y agoThanks for the info! 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.