Boostnote: Use PouchDB for notes storage

Created on 17 Jun 2017  路  4Comments  路  Source: BoostIO/Boostnote

Hello.
Right now the only way to sync Boostnote between computers is to use something like Dropbox storage. This is still a very manual process and I might not be able / not want to install dropbox in all the computers where I want to use Boostnote.
It would be nice to have a built-in sync mechanism in Boostnote.
PouchDB would be an interesting approach. Its a document store database, compatible with CouchDB that have built-in synchronization capabilities. It is used by Inpad. Boostnote can provide an SaaS service to host the CouchDB server or allow the user to use its own server.

What do you think?

discussion feature request

Most helpful comment

I don't think Boostnote should ever store users notes as it may contain personal information.

I vote against using PouchDB or CouchDB for storage. There are already very good synching tools that could be used with Boostnote (I use Syncthing).

I suggest using plain files, organized in directories with names matching what's set up by the user in the UI.

i.e.: If I have a folder called "Notes", with notes "My Note" and "Some Other Note", I'd expect the following:
/home/myhome/MyBoostnoteDirectory/Notes/{"My Note", "Some Other Note"}

Of course, this may result in conflicts if you allow notes to have the same name. The easy solution is to append the first few characters of the note's UUID, e.g. "My Note-abcdef", "Some Other Note-012345", "My Note-67890a".

This makes it very easy to sync, view and edit notes, even without having Boostnote installed.

All 4 comments

Hi brpaz
Thanks for your proposal!

I think there are two agendas that we should discuss.

1. Who should host server(Boostnote or users)

I think Boostnote should not host a server of data of note.
If we save sensitive data background and out of reach of users, users will be worried about security.
I think saving data by file locally and sharing data by google drive or dropbox at user's own risk is simple and better.
However, I think if users host a own server of data, there are no problem.
So It is not bad to develop function of sharing data by PouchDB.

2. How to host datas(real file or database)

Now, we save data in some real file.
Should we save data in a database?
If we save data in a real file, we can open the file by another note app, and we can share data by google drive or dropbox.

For me this is out of scope for what boostnote does. Currently I have a private bitbucket repo my notes are saved in and after I finish editing a Note I git commit it. This is nice as I also get some content versioning as well. This is also why the current naming of the files and non JSON shape is annoying. Ie I need to look at the content to work out which file it is. Anyway other that's another issue...

I think it is more important to develop the message protocol of a note so that it can be used with a variety of systems. Eg pouch, secure scuttle butt/dat decentralised db, git, Dropbox, etc these can all then be extensions/services

I don't think Boostnote should ever store users notes as it may contain personal information.

I vote against using PouchDB or CouchDB for storage. There are already very good synching tools that could be used with Boostnote (I use Syncthing).

I suggest using plain files, organized in directories with names matching what's set up by the user in the UI.

i.e.: If I have a folder called "Notes", with notes "My Note" and "Some Other Note", I'd expect the following:
/home/myhome/MyBoostnoteDirectory/Notes/{"My Note", "Some Other Note"}

Of course, this may result in conflicts if you allow notes to have the same name. The easy solution is to append the first few characters of the note's UUID, e.g. "My Note-abcdef", "Some Other Note-012345", "My Note-67890a".

This makes it very easy to sync, view and edit notes, even without having Boostnote installed.

Thanks for participating in this discussion!

Boostnote Legacy won't switch away from the file system based storage as it is too ingrained into the current system.

This discussion has helped with Boost Note.next providing both built in support with a DB (with syncing) and a file based solution beside it (will be released soon). So users can choose what works best for them.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

necan picture necan  路  3Comments

gavvvr picture gavvvr  路  3Comments

ryochack picture ryochack  路  3Comments

luong-komorebi picture luong-komorebi  路  3Comments

cyber-arsenull picture cyber-arsenull  路  3Comments