splitbrain / dokuwiki-plugin-sync

Sync DokuWiki namespaces with a remote wiki on request
http://www.dokuwiki.org/plugin:sync
17 stars 17 forks source link

plugin lists files that have no differences AND fails to push some files, reporting "transport error - HTTP status 403" #71

Open artcarlson opened 8 months ago

artcarlson commented 8 months ago

I have a dokuwiki with a hosted version (remote) and a version on my laptop (local). I installed the synchronization plugin locally and was synching the two installations weekly. I ran in to some connection problems with the hosting site and was distracted by other things for a few months, so I ended up with a lot of differences. Now I am having trouble getting the installations back into synch.

When I try to synchronize everything (several hundred pages), the plugin lists all the pages with an equal sign (no suggestion in which direction files should be synced). For almost all the files, the list also shows the same file size for the local and remote version of each page, and the difference view is blank, although the time stamps are generally different. If I tell the plugin to copy all the files to the remote from the local wiki, it claims to do that (although it takes hours), stumbling over only a few files. But, when I try to synch again, it still lists all the files, as though it finds some difference in all of them that isn't removed by pushing the files.

If I ask the plugin to synchronize just one namespace, then it no longer lists all the files, but only the ones that are really different. However when I ask it to push the local version, it does that for some of the files, but returns errors on several others: "push failed: namespace:filename transport error - HTTP status 403".

In short, I have two problems. One is that the plugin, when asked to synch all namespaces, list all files, even when there are no differences. The second is that some files fail to synchronize with a 403 error.

(Actually there is a third problem, but that can perhaps be left for later. There are several jpg images in the local version and not in the remote version, and the plugin recognizes that. However, the synchronization fails with the message, "dokuwiki\Exception\FatalException: Maximum execution time of 30 seconds exceeded. An unforeseen error has occured. This is most likely a bug somewhere.")

Thanks for the help, Art Carlson

artcarlson commented 7 months ago

I think I half-way understand the 403 problem (but only half-way). I think it has nothing (directly) to do with synchronization. It is rather that there are certain strings, like "xhtml" and some involving quotation marks and exclamation marks that both installations are perfectly happy to store, but that induce an error when transmitted from one installation to the other. Although I somehow managed to edit the files to contain these strings (usually by cut-and-paste), whenever I try to edit these files, even entering edit mode and then canceling without making any changes, I induce an error. So this part of the problem does not actually originate with the synchronization plugin.

(I still have no idea why the synchronization plugin, in some modes, does not recognize when the remote and local versions of a page are identical.)