laverna icon indicating copy to clipboard operation
laverna copied to clipboard

Feature Request: WebDAV for storage

Open MrDrMcCoy opened this issue 10 years ago • 18 comments

This is by far the sexiest self-hostable notes service. However, it's of little use to those of us that are trying to take our entire cloud private if it depends on Dropbox for permanent storage. Would it be possible to add support for WebDAV as a storage backend so that users of OwnCloud, Funambol, Pydio, etc. can use Laverna with our own backends?

MrDrMcCoy avatar Jun 04 '14 17:06 MrDrMcCoy

@nakedhitman I agree that WebDAV support would be a nice option, however there is already the capability to self-host your storage using RemoteStorage. If you visit their webpage, they share the code for setting up a self-hosted server using a variety of different languages (node.js, C, PHP, Ruby, etc).

andtheWings avatar Jun 04 '14 17:06 andtheWings

@andtheWings I actually looked at that already. While I'm more than willing to set up my own RemoteStorage server, I have been able to find exactly zero documentation on their website for setting up the server portion of the service. If you would be so kind as to point me to said documentation, I will go about my merry way and preach the good news of how to replace Evernote with a self-hosted Laverna/RemoteStorage server. Short of that, Laverna is useless to me.

MrDrMcCoy avatar Jun 04 '14 18:06 MrDrMcCoy

It looks like the Node.js and C implementations have pretty good documentation on their Github readme files.

andtheWings avatar Jun 04 '14 18:06 andtheWings

Digging further into their Github repos, I found they have a nicely-documented "starter kit". I will play with that tonight and report my findings.

MrDrMcCoy avatar Jun 04 '14 18:06 MrDrMcCoy

@nakedhitman Is RemoteStorage an acceptable alternative to WebDav? How did your tinkering with the starter kit go?

andtheWings avatar Jul 13 '14 16:07 andtheWings

Point is many of us will have something like ownCloud already. WebDAV gives the flexibility to support many of our existing cloud storage services. I would not want to create yet another storage service just for note taking.

Danie10 avatar Aug 17 '14 10:08 Danie10

I think actually this whole syncing data to some storage might be against the philosophy of laverna being an unhosted app. But still, considering people running laverna on an own server of any kind, saving notes to local storage would be nice, so that you can basically access your notes from anywhere.

1337sup3rh4x0r avatar Aug 20 '14 16:08 1337sup3rh4x0r

+1 For WebDav.

KDocProf avatar Aug 25 '14 02:08 KDocProf

+1 for WebDAV to be sync'ed with ownCloud

jasonhoekstra avatar Sep 21 '14 23:09 jasonhoekstra

+1 For general WebDAV. Although remoteStorage support exists at some degree, most hosting and self-hosting services support only WebDAV.

uda avatar Oct 18 '14 21:10 uda

+1 for Webdav.

gnotaras avatar Jun 03 '15 04:06 gnotaras

cool UI, +1 for webdav

dedeibel avatar Jun 08 '15 20:06 dedeibel

+1 webdav... we should't (ever) fiddle with the storage over HTTP...

With those projects, DAV shouldn't be too much problem https://github.com/aslakhellesoy/webdavjs https://github.com/sara-nl/js-webdav-client https://github.com/mikedeboer/jsDAV

RemoteStorage C implementation (why do we need run another http server?) stores data on people's home directories.

PHP implementation uses your own http server but needed rewrite rules (only for apache as far as I see), and a separate webfinger implementation.

darkphase avatar Oct 31 '15 15:10 darkphase

I wanted to implement it on my own, but I gave up because soon I grew convinced JavaScript is a terrible language and I want to keep my sanity a little longer.

Anyway, here are some of my findings, hopefully they will help someone implement this functionality:

  • the simplest way to access WebDAV is most likely https://github.com/perry-mitchell/webdav-fs
  • with WebDAV, it is possible to get notified by the WebDAV server about changes in files using the SUBSCRIBE method with Call-back header, but the server does not have to implement it
  • webdav-fs does not seem to support callbacks, so it would be required to periodically check for changes. In conjunction with the fact we cannot rely on working notifications, this seems to be a good start anyway
  • I'm convinced that for someone who actually knows JavaScript it would be easy to modify the dropbox module to use webdav-fs, as that already contains periodical checks of the changes on the server side and it handles access credentials, too

stativ avatar Jul 11 '16 19:07 stativ

Ah, just saw this comment! :) This library by @perry-mitchell must be what they did to integrate Nextcloud and Buttercup as I mentioned in https://github.com/Laverna/laverna/issues/635 cc @sallar @brantje

@wwebfor @wwwredfish let us know how we could help that Laverna can use Nextcloud as sync server. :)

jancborchardt avatar Jun 02 '17 13:06 jancborchardt

Hi! We are using our own modules (open source) for integrating WebDAV: https://github.com/perry-mitchell/webdav-fs + https://github.com/sallar/dropbox-fs + https://github.com/perry-mitchell/any-fs built for this purpose in https://github.com/buttercup/buttercup :) Let me know if we can help

sallar avatar Jun 02 '17 13:06 sallar

There’s also now a great blog by @perry-mitchell on how to Connect your web app to Nextcloud with WebDAV-fs. :)

jancborchardt avatar Sep 23 '17 10:09 jancborchardt

Hello there, Please report to https://github.com/Laverna/laverna/issues/971#issuecomment-411423965 which explain the state of this project.

Have a nice day/night, Cheers, Nissar

funilrys avatar Aug 08 '18 15:08 funilrys