WebDAV for saving single file wiki

I am curious how many people are using WebDAV for hosting and saving their single file wikis? I recently gave it a go and found that saving for local single file wikis was very easy and convenient. Toss a bunch of wikis into a folder served by WebDAV, load them via the associated URL and saving just works.

If you are using WebDAV, what OS and WebDAV solution you are using?

Windows offers WebDAV via IIS. Also there is this thread that offers an interesting light weight solution for WebDAV on OSX and Windows:

https://groups.google.com/g/tiddlywiki/c/I_mc1Jycfhc/m/9rdz3328CQAJ

1 Like

I use webdav for almost everything as I believe that’s the mechanism behind SharePoint and OnedriveForBusiness with the rename (.aspx) tweak.

I’ve mentioned in GG a couple times while helping others that I’m surprised this is not better documented on Tiddlywiki.com as it’s by far the easiest/most convenient system for newbies if the have access to it, and I think even having an empty.aspx download link there would make sense.

(Edit: Adding corporate Windows environments)

Ah interesting. The last time I looked at WebDAV on SharePoint was 10+ years ago and I recall it had some quirks and the implementation wasn’t completely standard. Do you know if this is still true?

I’m using IIS for WebDav and nodejs, because it lets me use port 80. So I can use http://localhost as the main address for my production wikis.

I did create a 3 video series about IIS on a user PC with WebDav: 01 Intro - How to use TiddlyWiki with IIS and WebDAV - YouTube

My video is intended to work for a local network, without connections from outside.


MagoArcade made a step-by-step HowTo video using a “real” IIS server + SSL + WindowsAuth with self-signed certificate. see: TiddlyWiki Install - Windows IIS WebDAV Method - YouTube designed to connect for the internet.


I’m using the same server to start my nodejs version as a service.

Since IIS is a service, it will be started, when the PC is started. So both apps are available, even if I’m not logged in.

@saqimtiaz I do remember hearing years ago that there is a setting or something in SharePoint that can prevent the WebDAV from working transparently, but I haven’t had that experience myself. Maybe someone with more knowledge in that area can chime in.

@pmario great info, thank you for sharing.

My main wikis all run on nodejs but then I have many single file wikis for different purposes that I have been using via TiddlyDesktop. I’ll likely switch to using WebDAV for the convenience of being able to use a standard browser (and associated browser features).

It also occurs to me that it should be pretty easy to write a WebDAV/PUT uploader module for the FileUploads plugin.

Which OS do you use? … There is 1 hickup, that could happen with WebDav servers and the PUT saver. … That’s the ETAG handling. …

Here’s a thread at GG that discusses the problems and near the end are some “solutions” … kind of.
See: https://groups.google.com/g/tiddlywiki/c/a3Ihi9W2hlk/m/jVgJi_7ZAQAJ

@pmario I set up a docker container on Ubuntu for nginx, and WebDAV seems to be working well with the core PUT saver.

Yea, that’s a configuration we did test with, when the PUT saver was changed.

Isn’t IIS and/or apache a really resource-intensive solution?

I seem to recall there is some nodejs or other solution that just runs a small webdav server. Does anyone recollect such a thing?

What’s really needed is an official single-file server for node.

Hi

I use WebDav since about 5 years.

2 Likes

IIS w3wp.exe the IIS worker process needs about 6MByte … See MByte no G!

If I access the node app URL it will be started on demand and node needs about 130MB per process, if used. When the browser tab is closed the node process goes down to about 65MB. After about 10 inactive minutes the process is shut down completely.

So no. IIS isn’t a problem. Node may be if many browser tabs would be started and active at the same time. …

But The browser uses about 1.4GB with 13 processes running. … So I would worry more on that front :wink:

1 Like

The last time I used IIS on Windows it was a bit of a nightmare. Multiple reboots, complicated startup … don’t remember the details. Interesting that it’s only using 6mb.

What about CPU usage?

On Linux, they seem to want a full-blown apache install. So that doesn’t seem user friendly at all.

So, why is TW on nodejs so resource intensive?

0% … If I load the page from nodejs, I do get a 0.1% CPU usage for a very short time. … BUT I do have a relatively beefy PC. Core i9 with 4.5 GHz and 32GB RAM …

I think the most resource intensive element is nodejs itself. …

As Saq wrote, the easiest way will be a nginx setup with WebDav enabled. As we did test the PUT saver I did use a predefined docker container and it worked like a charm. … At least for some short testing. …

For a production setup, I would read a bit more docs.

Perhaps you are thinking of the options outlined here?
https://groups.google.com/g/tiddlywiki/c/I_mc1Jycfhc/m/9rdz3328CQAJ

1 Like

You mean this one: GitHub - hacdias/webdav: Simple Go WebDAV server. from https://groups.google.com/g/tiddlywiki/c/I_mc1Jycfhc/m/fpDmAEpCBwAJ ?

Here is another one written in Go:

I set up ISS/Webdav and it seemed fine, But have not used it now for a few years.

I use Bob.exe for multi-user, I have tiddly Desktop for some legacy but my main activity is using Timimi on FF, Chrome and Edge.

I have delivered to a production environment on top of SharePoint, where I use the check in and out facility for serial edits, in this case I have made a passing use of WebDav to load a wiki into SharePoint with windows explorer.

Rather than WebDav or Node I am inclined to spin up a local server and host independent wikis on top of php and tw-receiver, once operating its trivial to deploy to abundant cpanel hosts.

What ever the platform to allow serial edits and locks on single file tiddlywikis is the most important gap in my mind, Perhaps the file upload plugin could be re-engineered to provide a lock mechaisium to allow serial editing only,. on top of all servers including webdav but also for Timimi users, even on node/bob although somewhat unnecessary.

I’ve been using WebDAV for several months now and it works great for me.

I’m using the rclone utility found at rclone dot org. It is a swiss army knife of syncing local and cloud storage files. It is packed with features (not always a good thing). I like that it is a single file executable that I can just download and run on many platforms including windows, linux and mac.

The rclone serve webdav command has lots of options, but running it can be as simple as:

rclone serve webdav some_directory_containing_tiddlywiki_files

Then point your browser at localhost:8080 and you will see a list of files in that directory. The brilliant code in the webdav saver doesn’t need any special configuration in your tiddlywiki file. It will automatically detect webdav is supported by the server you loaded from and save it back.

With any single file solution, I highly recommend a reliable backup solution. If any blip happens during saving, the entire file can be corrupted.

For that I’m using entr(1) (not available on windows) to trigger an automatic, local git commit whenever my wiki file changes.

I’m using just a single wiki currently (ftlist.html below). I’m using something similar to this crude shell script:

#!/bin/bash

# Launch webdav server as background process
rclone serve webdav  ~/Dropbox/ftlist &

# Watch for changes, display the changes, and commit the changes to git
cd ~/Dropbox/ftlist
echo ftlist.html | entr -s '
  git --no-pager diff -U1 .
  git commit -m "$(date +%Y-%m-%d) tw ftlist autocommit" ftlist.html
'
5 Likes

That is really cool! I already use Rclone on both Windows and Linux. But I didn’t know that it could serve webdav. That’s the kind of light-weight solution that is needed. Most of the other solutions start with “Install docker”, or “Install Apache” and then have a half dozen configurations files, often with no documentation, incomplete documentation, or conflicting documentation.