Hello Sven, thank you very much again for your help and sorry for the late reply. Up to now I didn't have a chance to check back on this issue.
On Mon, Oct 14, 2013 at 11:49 AM, Sven Van Caekenberghe <[email protected]>wrote: > Hi Manfred, > > On 13 Oct 2013, at 23:56, Manfred Kröhnert <[email protected]> > wrote: > > > Hello Sven, > > > > I had some time to look further into this issue. > > > > On Thu, Oct 10, 2013 at 9:08 PM, Sven Van Caekenberghe <[email protected]> > wrote: > > Manfred, > > > > On 10 Oct 2013, at 20:17, Manfred Kröhnert <[email protected]> > wrote: > > > > > Hi again, > > > > > > the webdav share is located on an OwnCloud instance. > > > It is possible to get a directory listing of the specific directory > with the following ZnClient request: > > > > > > ZnClient new username: 'X' password: 'Y'; get: ' > https://owncloud.server.de/remote.php/webdav/monticello' > > > > Excellent, that means that it fundamentally works ! > > > > Maybe you can try the same for accessing an actual .mcz file, just to be > sure. > > > > If I add a '/MyPackage-MK.1.mcz' to the URL and inspect the result it > shows a big ByteArray instance. > > Which should mean that the file can get accessed remotely via WebDAV. > > Great: so this means that there is no fundamental problem at the HTTP or > Zn level. > > > > In a Pharo 2.0 image do the following steps: > > > > > > * MonticelloBrowser: select package > > > * MonticelloBrowser->'+Repository' > > > * add location: ' > https://owncloud.server.de/remote.php/webdav/monticello' username: 'X' > password: 'Y' > > > * MonticelloBrowser->'Open' > > > > > > * ProgressBar with the following name shows up: > > > 'Loading all file names from > https://owncloud.server.de/remote.php/webdav/monticello' > > > It gets interrupted by a PreDebugWindow with title > > > 'MCRepositoryError: Could not access > https://owncloud.server.de/remote.php/webdav/monticello: > ZnHttpUnsuccessful: 404 Not Found' > > > > > > Opening the Debugger gives the following stacktrace > > > > > > MCHttpRepository>>loadAllFileNames in Block: [:exception | (exception > className beginsWith: 'Zn...etc... > > > BlockClosure>>cull: > > > ... > > > ZnClient>>execute > > > > Have a look at MCHTTPRepository>>#loadAllFileNames and notice how a > query parameter is added, maybe that is the culprit ? Also, a trailing > slash is added, that could be a problem for the server as well. > > > > What I found out is that line 11 of MCHTTPRepository>>#loadAllFileNames > is apparently causing the problem: > > > > queryAt: 'C' put: 'M;O=D'; "legacy that some servers maybe expect" > > > > > > When I access the following URL with ZnClient it returns a 404 error > (does not exist): > > > > ZnClient new username: 'X' password: 'Y'; get: ' > https://owncloud.server.de/remote.php/webdav/monticello/?C=M%3BO%3DD' > > > > This 404 is the exception which is thrown and caught by the debugger. > > I took the query from the http client request which I inspected in the > debugger. > > > > When the 'queryAt:...' line is commented out the contents of the > repository is shown when I choose 'Open' on the specific repository in > MonticelloBrowser. > > Maybe this is an issue with the WebDAV implementation of OwnCloud > (version 5.0.10 in this case). > > Like the comment says: this is something weird from the past, I do not > know what it means. Maybe the time has come to just remove it. Yes, this could be the case. But I wont vote for it since I don't have any experience in this area ;-) > > The next strange thing here is that all entries in the opened browser > are prefixed with 'remote.php/webdav/monticello/'. > > And they are all marked in a bold font which means completely new to the > system if I remember correctly. > > Then I checked the MD5 sums of the .mcz files and the ones from the > package cache have a different checksum than the one on the webdav share. > > Although I used the MonticelloBrowser 'Copy' action. > > The repository listing has to be correct, also in its use of naming and > URLs. This is a correct one: http://mc.stfx.eu/ZincHTTPComponents/ - note > the simple name and relative URL. But such a relative URL can only work if > the base URL of the page ends with /. Monticello can work on WebDAV but it is not written specifically for it. > Maybe there are others out there who can help you better how to configure > your server. > > You could also have a look at ZnMonticelloServerDelegate, which is an > implementation of a very simple Monticello repository server in Pharo. You > should be able to understand the simple protocol from that code. > I see. The listing I get from the OwnCloud server looks a bit different. More like a general Directory listing with additional information like size, type, and modification date arranged in a table. It might be that the complete path behind the server domain is used in my case and not stripped down to the last part of the URL. If I get a chance to do so I'll check this myself. No need for you to dive in. For now I found a different way to synchronize my packages without this server. Best, Manfred
