[INTRO] WebDav PUT saver plugin which allows server side compression

284 views
Skip to first unread message

PMario

unread,
Mar 19, 2019, 6:56:26 AM3/19/19
to TiddlyWiki
Hi folks,

I did just release a WebDav PUT saver plugin, which has a slightly different behaviour than the core.

This plugin is BETA at the moment. -> Please test and give feedback here or at github [1].

  • This plugin takes precedence over the core WebDav saver if installed!
  • WebDav-lm uses "last-modified" and "if-unmodified-since" HTTP header infos, to detect if a file has been overwritten.
    • It allows server side compression -> Main reason why I did create it.
  • I did test it with IIS (Internet Information Service) server with win10
    • FireFox, Edge and IE 11 worked

PS - If you USE it: Support it :)

Have fun!
mario


PMario

unread,
Jul 18, 2019, 3:27:29 AM7/18/19
to TiddlyWiki
Hi folks,

In a different thread MagoArcade posted some links to a blog and a video he made, creating an internet facing WebDav setup.

My initial videos about WebDav are step-by-step instructions, how to install IIS for the local network for windows 10. His videos show "the second step", how to get it working with the internet using a "real" IIS server.


MagoArcade's stuff

Martin

unread,
Aug 23, 2019, 6:51:56 AM8/23/19
to TiddlyWiki
Hi Mario,

i have tried to save my TW5 via webDAV to a QNAP-NAS and i always got the "file changed on server" failure. Now i have tried your webdav-lm and it works, but only once. This means: after loading the TW5 i can save it once and from the second save on i get the "file changed on server" failure again. When i reload the TW5 i can save once again and so on.
Do you have an idea what i can do to fix this?

Thanks
Martin

PMario

unread,
Aug 24, 2019, 4:34:24 AM8/24/19
to tiddl...@googlegroups.com
Hi Martin,

That's strange. .. On the server side, is there any "copy or move" action going on, after the save?

That's the only way I can think of, which may be a problem. ...

The plugin checks for the "last-modified" and "If-Unmodified-Since" header info, from the server. ... So you can check the server settings. ... Can you point me to the QNAP webDav description on the net?

-m

Daimon Eu

unread,
Nov 11, 2019, 4:01:00 PM11/11/19
to TiddlyWiki
Mario,

I struggle with the same problem shared by Martin.

Server: Apache/2.4.25 (Raspbian) using the stock dav module
Client: latest Firefox with no extensions apart from uBlock.

The first save goes through (it does not contain the If-Unmodified-Since header).

On the second I receive the "modified" error and I can't save anymore until I reload the wiki.

I can provide you with request and response headers and relevant server configuration in case you want to look into this.

I've disabled gzip compression and I confirm the stock Webdav saver is working fine without it.

Cheers.

David Gifford

unread,
Nov 11, 2019, 9:45:08 PM11/11/19
to TiddlyWiki
Added to the toolmap but mention that it is in beta

PMario

unread,
Nov 12, 2019, 6:09:53 AM11/12/19
to TiddlyWiki
On Monday, November 11, 2019 at 10:01:00 PM UTC+1, Daimon Eu wrote:

Server: Apache/2.4.25 (Raspbian) using the stock dav module
Client: latest Firefox with no extensions apart from uBlock.

uBlock should not have any impact. I use it since several years and had no problems with any site so far.
 
The first save goes through (it does not contain the If-Unmodified-Since header).

On the second I receive the "modified" error and I can't save anymore until I reload the wiki.

I can provide you with request and response headers and relevant server configuration in case you want to look into this.

It would be interesting, in which context you use the Apache server. Is it a stand alone configuration on the rasp-pi or do you use an other "framework" eg: NextCloud or something similar.

I do have several raspberry pi's, so I may be able to test your configuration.

I'll have to have a look, with which version we did the tests. I did the development for IIS, apache and nginx configurations quite some time ago. ... So may be a new test needs to be done.
 
I've disabled gzip compression and I confirm the stock Webdav saver is working fine without it.

That's right.

have fun!
mario

Daimon Eu

unread,
Nov 12, 2019, 8:45:45 AM11/12/19
to TiddlyWiki
It's a stand-alone Apache server, with a name based virtual host configuration and SSL enabled.

I'm attaching the vhost configuration file and a relevant session I captured with the HTTP Header Live extension for Firefox. I obfuscated the domain name for privacy.

As one can see from the log, after I reloaded the page the Last-modified header was still the same as the one that caused the second PUT request to fail the precondition check. It's really baffling.

Cheers.
001-tiddly_vhost.conf
HTTPHeaderLive.txt

Petruschka

unread,
May 2, 2020, 4:21:26 AM5/2/20
to TiddlyWiki
Hello PMario,

Thanks for offering us this plugin which made anyone's scope for action larger instead smaller!

Could you may explain to me, which advantages or possibilities motivated you to write and share your WebDav Plugin? I am eager to know!

Best Wishes


PS Maybe you can made me "use it" so I can donate to your paypal offering!

PMario

unread,
May 2, 2020, 5:10:27 AM5/2/20
to TiddlyWiki
On Saturday, May 2, 2020 at 10:21:26 AM UTC+2, Petruschka wrote:
Hello PMario,

Thanks for offering us this plugin which made anyone's scope for action larger instead smaller!

You are welcome!
 
Could you may explain to me, which advantages or possibilities motivated you to write and share your WebDav Plugin? I am eager to know!

It all started with this PR: https://github.com/Jermolene/TiddlyWiki5/pull/3230 and https://github.com/Jermolene/TiddlyWiki5/pull/3073, which implemented an improved WebDav PUT saver for the core TW. ... The problem is, that it seems to work with most settings, except if you enable server-side compression.

That was the reason, to create this plugin. I should allow users to enable server-side compression and be able to use the WebDav saver. ...

BUT as you can see on some responses to the thread here, there are also problems with if-modified ....

The whole process seems to be very brittle, if server and client settings aren't matched. It's really hard, to replicate server configuration problems, because you have to rebuild a user setup and hope, that it will create the same problems. ...
 
I personally would try it with some server side changes, described at: https://groups.google.com/d/msg/tiddlywiki/a3Ihi9W2hlk/jVgJi_7ZAQAJ and https://groups.google.com/d/msg/tiddlywiki/a3Ihi9W2hlk/svKIX51FAgAJ from Daimon Eu.

It seems he found a solution for an Apache setup with WebDav + compression enabled, which uses the TW default PUT saver.

So the plugin described here, may be usable for other configurations.

PS - If you like it: Support it ;)

have fun!
mario

Reply all
Reply to author
Forward
0 new messages