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

Reply via email to