Home / GitHub Page

Sharing notes or notebooks


#1

Hi there,
looking to get out of “all my stuff are in Google’s server” I discover Joplin to get out from Google Keep.

One feature I miss is the ability to share some notes with my loved one.

I realise that is quite contradictory with the whole encrypted note stuff so I’m opening this discussion.

I was thinking to have an encryption key per notebook so I can create a shared notebook but we need also a way to sync only this notebook.
For this, may be the ability to specify a sync channel per notebook as well so a notebook can be sync into a common account in the cloud?

What you guys think?


#2

Sharing notes and notebooks is a commonly asked features and I agree it would be useful. The way Joplin is architecture at the moment would not make that easy though.

A way to somewhat make it work would be to have multiple Joplin profiles, eg. one for work, another for sharing stuff with family, each syncing to a different target. Obviously it’s not as convenient as having everything in the same app but it would work. To use multiple profile, use the “–profile” flag or use multiple PortableApps versions.


#3

Hi Laurent,

Thanks for your answer!

As a techy guy, I can manage this, but I think it will too much of a hassle for my gf :-/ We’ll wait :wink:


#4

Nextcloud has a fairly easy sharing API available, thus implementing a right click on a note to share that note publicly (could also be protected by a password), should not be too hard.

Of course this will not work, if the notes are E2E encrypted.

Also, this would require using different APIs for all the different synchronization endpoints (Nextcloud, Google Drive, Dropbox, …).

Unfortunately I’m so not a JS guy that I can’t implement this myself. If this project were in Objective-C, Python, or some GUI C/C++ code, I would have already submitted several PRs and helped with other feature requests.
When I have a bit more time, I will look into JS development…

However, this is definitely a feature I’d look forward to as well. :wink:


#5

Yes, most cloud platforms have a way to share files, however the issue is that Joplin’s data is not in a user-friendly format (it’s basically a database meant for performance), so it makes it hard to find the file you want to share, and for the recipient the file will look strange with metadata appended at the bottom.

What I’ve been thinking of is develop a client that will create a user-friendly copy of the data in a folder (called a “Live Folder”), with a folder per notebook, and each .md file named after the note title. The Live Folder will be updated whenever something change in Joplin or whenever one file is modified or added. Those files and folders will be placed in eg. the Dropbox directory on the user’s computer, and Dropbox Sync will take care of syncing that to the cloud. Then it will be possible to share and view the data more easily.

There are quite a few drawbacks to this approach though, which is why I haven’t done it yet. Mainly, it relies on the cloud platform own sync client, it won’t work on mobile, it indeed can’t work with E2EE, and if two clients read/write to the same Live Folder, various conflicts could happen. So basically it’s not sure yet what’s the best way to do all this.


#6

Would this “Live Folder” allow the other person(s) to edit the notes with Joplin on their devices, and have the changes sync back to the first user?

My wish, and I assume it’s the same for @Geobomatic, is to share the actual notebook, so that the other person can also use it through their Joplin app (add/remove notes, add/remove tags freely, … as if the notebook had effectively two owners ). In my case, my partner and I use a shared Evernote notebook, where we can co-edit notes from all our devices.

(If Joplin allows all co-owners to add/remove arbitrary tags, that would put it ahead of Evernote, which lets only the original owner of the notebook add any new tag to notes in a shared notebook.)