setting up webdav on 3.7.4 stable (svn)

Author Message

Michael Zeidler

Tuesday 24 January 2006 3:54:45 pm

Hello,

I try to setup webdav. I can use cadaver to access the webdav-service on my installation (stable 3.7 svn-branch).

$ cadaver http://webdav.myhost.org
dav:/> ls
Listing collection `/': succeeded.
Coll:   web                                    0  Jan 18 15:44

I can also browse into the siteaccess 'web' by authentication:

dav:/> cd web
Authentication required for eZ publish WebDAV interface on server `webdav.myhost.org':
Username: admin
Password: 
dav:/web/> ls
Listing collection `/web/': succeeded.
Coll:   Content                                0  Jan 18 15:44
Coll:   Media                                  0  Jan 18 15:44
        info.txt                              97  Dec 13 15:54
dav:/web/>

But when I try to get into the Content-folder my problem appears:

dav:/web/> cd Content
Could not access /web/Content/ (not WebDAV-enabled?):
Did not find a collection resource.
dav:/web/>

Here the logs to the last webdav-command:

2006-01-25 02:02:35 : Requested URI is: /web/Content/ [webdav.php]
2006-01-25 02:02:36 : start path: /web/Content/ [CS:currentSitePath]
2006-01-25 02:02:36 : indexdir: web/Content/ [CS:currentSitePath]
2006-01-25 02:02:36 : site web: web/Content/ [CS:currentSitePath

Due to the logs nothing special can be noticed. I also can retrtieve the folders 'Content' and 'Media' inside the administration-backend at the countrary to the webdav-access. It seems that the current log-output lacks my issue presented here.

-------------------------------------------------------------------------------------------
join #ezpublish on irc.freenode.org

Michael Zeidler

Tuesday 24 January 2006 4:09:07 pm

I also had to alter ./kernel/classes/webdav/ezwebdavcontentserver.php in line 943 (svn 3.7 stable) from:

if ( preg_match( "#^/" . preg_quote( $site ) . "(.*)$#", $path, $matches ) )

to

if ( preg_match( "#^" . preg_quote( $site ) . "(.*)$#", $path, $matches ) )

to get webdav partly running so that i can browse into the 'web'-folder due to the variables $path and $site:

$site = 'web'  
$path = 'web/Content/'

otherwise i cant browse into the 'web'-folder and in the webdav log appears:

no valid site was found..

look at the complete function:

function currentSiteFromPath( $path )
    {
        $this->appendLogEntry( "start path: $path", 'CS:currentSitePath' );

        $indexDir = eZSys::indexDir();

        // Remove indexDir if used in non-virtualhost mode.
        if ( preg_match( "#^" . preg_quote( $indexDir ) . "(.+)$#", $path, $matches ) )
        {
            $path = $matches[1];
        }

        $this->appendLogEntry( "indexdir: $path", 'CS:currentSitePath' );

        // Get the list of available sites.
        $sites = $this->availableSites();

        foreach ( $sites as $site )
        {
            $this->appendLogEntry( "site: '$site'  path: '$path'", '<-- SEAWOLF -->' );
            
            // Check if given path starts with this site-name, if so: return it.
            //SEAWOLF if ( preg_match( "#^/" . preg_quote( $site ) . "(.*)$#", $path, $matches ) )
            if ( preg_match( "#^" . preg_quote( $site ) . "(.*)$#", $path, $matches ) )
            {
                $this->appendLogEntry( "site $site: $path", 'CS:currentSitePath' );
                return $site ;
            }
        }

        $this->appendLogEntry( "no valid site was found..", 'CS:currentSitePath' );
        return false ;
    }

-------------------------------------------------------------------------------------------
join #ezpublish on irc.freenode.org

Michael Zeidler

Wednesday 25 January 2006 2:03:13 pm

Could at least someone acknowledge if the svn 3.7 stable svn webdav functionality runs without problems on his installation?
Thank very much.

-------------------------------------------------------------------------------------------
join #ezpublish on irc.freenode.org

Björn Dieding@xrow.de

Wednesday 25 January 2006 8:33:01 pm

WAVE here

I have no problems on win32, win64 and suse 9.3_64

With client webdrive and IE

Looking for a new job? http://www.xrow.com/xrow-GmbH/Jobs
Looking for hosting? http://hostingezpublish.com
-----------------------------------------------------------------------------
GMT +01:00 Hannover, Germany
Web: http://www.xrow.com/

Łukasz Serwatka

Thursday 26 January 2006 12:07:18 am

Hi SEAwolfx,

Same here, works fine on SUSE 10.0 and Konqueror 3.4.2.

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

Michael Zeidler

Thursday 26 January 2006 2:00:15 am

Thanks ;)

What do you think about my hack? Why don`t you both need this? What values for $site and $path were assigned on your installation? According the original preg_match() as prestented above I guess your variables look like this?

$site = 'web'  
$path = '/web/Content/' 

If so, where do I further have to look for the right values?

-------------------------------------------------------------------------------------------
join #ezpublish on irc.freenode.org

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.