News for hackers. Stuff that matters.
Re:Joplin – A note-taking and to-do app with builds for desk... by Grumbledour on Thursday November 30, 2017 @07:31AM (#15815220)
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?

Re:Joplin – A note-taking and to-do app with builds for desk... by laurent123456 on Thursday November 30, 2017 @08:12AM (#15815419)
Hi, 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.

Re:Joplin – A note-taking and to-do app with builds for desk... by brute on Thursday November 30, 2017 @09:36AM (#15815961)
> 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.

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.

Re:Joplin – A note-taking and to-do app with builds for desk... by gh02t on Thursday November 30, 2017 @09:45AM (#15816038)
I think Zim uses a two level approach, storing text files but also keeping an index database for doing full text search.
Re:Joplin – A note-taking and to-do app with builds for desk... by Grumbledour on Thursday November 30, 2017 @09:19AM (#15815829)
Thanks 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.

Re:Joplin – A note-taking and to-do app with builds for desk... by maxerickson on Thursday November 30, 2017 @08:22AM (#15815470)
You 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.

Re:Joplin – A note-taking and to-do app with builds for desk... by sbarre on Thursday November 30, 2017 @08:28AM (#15815521)
This is why open source is great. You should fork the project and prove your hypothesis to us instead of FUD-sniping in the thread. ;-)
Re:Joplin – A note-taking and to-do app with builds for desk... by icebraining on Thursday November 30, 2017 @10:07AM (#15816267)
There's no FUD in that comment.
Re:Joplin – A note-taking and to-do app with builds for desk... by exitplanetary on Thursday November 30, 2017 @10:18AM (#15816367)
Hi, I wonder if it convenient to ask questions here, but I can not figure out how to sync with local filesystem, could you help?
Re:Joplin – A note-taking and to-do app with builds for desk... by laurent123456 on Thursday November 30, 2017 @12:22PM (#15817487)
Hi, from the CLI app, you would need to set the sync target to the file system with:

    :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).
Re:Joplin – A note-taking and to-do app with builds for desk... by roryisok on Thursday November 30, 2017 @08:07AM (#15815402)
That'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
Re:Joplin – A note-taking and to-do app with builds for desk... by laurent123456 on Thursday November 30, 2017 @08:20AM (#15815458)
That'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.

Re:Joplin – A note-taking and to-do app with builds for desk... by roryisok on Thursday November 30, 2017 @08:54AM (#15815678)
You'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

Re:Joplin – A note-taking and to-do app with builds for desk... by Grumbledour on Thursday November 30, 2017 @09:37AM (#15815970)
On 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.dr...

Re:Joplin – A note-taking and to-do app with builds for desk... by kleptako on Thursday November 30, 2017 @08:24AM (#15815492)
boostnote[1] also does this

[1] https://boostnote.io/

Re:Joplin – A note-taking and to-do app with builds for desk... by florianletsch on Thursday November 30, 2017 @08:09AM (#15815406)
Where 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.
Re:Joplin – A note-taking and to-do app with builds for desk... by roryisok on Thursday November 30, 2017 @08:50AM (#15815650)
Here's a very basic page you can follow

http://roryok.com/flatnote/

Not open-sourced yet but will be very soon