Julian Reschke | 1 May 14:32
Picon
Picon

Re: How to do a MoveMethod with locks

Stephen Martin wrote:
> I'm having trouble making a moveMethod request on a resource that I have 
> locked. My research leads
> me to believe that I have to also lock the destination of the move which 
> I have done but when I try
> to perform the move I get an error. I suspect that I have to somehow add 
> the lockToken for the
> destination to the moveMethod request.

No, you don't need to lock the destination. What made you think you need 
to do that?

> ...

Best regards, Julian
Julian Reschke | 1 May 14:39
Picon
Picon

Re: How to do a MoveMethod with locks

Stephen Martin wrote:
> In answer to my own question, I discovered that the If: header seemed to 
> be incorrect or at least
> unacceptable to mod_dav/mod_svn. There are two forms of this header, one 
> that includes the
> URL of the request and one that does not. The rfc is unclear (at least 
> to me) on which of these forms is required
> for MOVE, but providing the URL made it work for me when the source file 
> for the MOVE was locked. I've
> attached a patch, that modifies WebdavResource to provide the longer 
> form of the header.

The RFC does not require a specific form. Please check out 
<http://greenbytes.de/tech/webdav/draft-ietf-webdav-rfc2518bis-18.html#rfc.section.10.4>.

You are now using the Tagged-list variant, which should be completely 
equivalent to the No-tag-list variant, as long as the Request-URI and 
the thing you put into the tag refer to the same resource. So if this 
makes a difference with a WebDAV server, it may be a bug in that server 
(can you provide traces?).

Best regards, Julian
Julian Reschke | 1 May 14:41
Picon
Picon

Re: User-Agent information within Store implementation

Padmanabhan_Sheeba <at> emc.com wrote:
> Hi,
> 
> Is there any way I can get the "user-agent" information of the request
> within my Data Store implementation.  I couldn't find a way where this
> information is passed in to the store implementation. I want to extend
> the data store to use our own repository and would like to handle files
>>from certain clients in a special way.... and would like to get the
> client information at this point... Any suggestion?
> 
> Any help would be greatly appreciated.
> 
> Thanks
> 
> Sheeba Padmanabhan 

Using the "User-Agent" header smells like a very bad design decision. 
Maybe you could elaborate why you think you need that?

Best regards, Julian
Padmanabhan_Sheeba | 1 May 14:57

RE: User-Agent information within Store implementation

Hi Julian,

Thank you so much for the reply... 

One of the use cases is the way we store the data fork and resource
forks into our repository... Sometimes we use to create an apple double
file out of it before sending it off to the repository.. So we need to
know the request is from MacOS...

The other one is - in some cases the session handling within our
repository need to be different for some clients...  

So If I am not using the 'user-agent' info, is there any other way to
figure out the client info within the data store implementation?

Thank you so much,

Sheeba 

-----Original Message-----
From: Julian Reschke [mailto:julian.reschke <at> gmx.de] 
Sent: Tuesday, May 01, 2007 8:42 AM
To: Slide Users Mailing List
Subject: Re: User-Agent information within Store implementation

Padmanabhan_Sheeba <at> emc.com wrote:
> Hi,
> 
> Is there any way I can get the "user-agent" information of the request
> within my Data Store implementation.  I couldn't find a way where this
(Continue reading)

Stephen Martin | 1 May 17:14

Re: How to do a MoveMethod with locks

Yes I've discovered that but i would like to inorder to reserve the name.

Julian Reschke wrote:
> Stephen Martin wrote:
> 
>> I'm having trouble making a moveMethod request on a resource that I 
>> have locked. My research leads
>> me to believe that I have to also lock the destination of the move 
>> which I have done but when I try
>> to perform the move I get an error. I suspect that I have to somehow 
>> add the lockToken for the
>> destination to the moveMethod request.
> 
> 
> No, you don't need to lock the destination. What made you think you need 
> to do that?
> 
>> ...
> 
> 
> Best regards, Julian
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: slide-user-unsubscribe <at> jakarta.apache.org
> For additional commands, e-mail: slide-user-help <at> jakarta.apache.org
> 
Stephen Martin | 1 May 17:19

Re: How to do a MoveMethod with locks

I can not get this to work without adding the url to the If header, the 
server always responds with a 424 error. Experimenting with cadaver in
debug mode, i found that it likes the tagged version. I've also 
discovered that in order to do the move when both the source and the 
destination are locked, the If: header needs both lock tokens provided 
in the tagged version. Unfortunately the way that the slide code is 
organized, there seems to be no easy way to augment this header for the 
destination.

The requirement for the tagged version of the header maybe a bug in 
mod_dav/mod_svn I don't know.

Julian Reschke wrote:
> Stephen Martin wrote:
> 
>> In answer to my own question, I discovered that the If: header seemed 
>> to be incorrect or at least
>> unacceptable to mod_dav/mod_svn. There are two forms of this header, 
>> one that includes the
>> URL of the request and one that does not. The rfc is unclear (at least 
>> to me) on which of these forms is required
>> for MOVE, but providing the URL made it work for me when the source 
>> file for the MOVE was locked. I've
>> attached a patch, that modifies WebdavResource to provide the longer 
>> form of the header.
> 
> 
> The RFC does not require a specific form. Please check out 
> <http://greenbytes.de/tech/webdav/draft-ietf-webdav-rfc2518bis-18.html#rfc.section.10.4>. 
> 
(Continue reading)

Belinda Randolph | 1 May 17:38
Picon
Picon
Favicon

Slide 3.0

Just curious, when is Slide 3.0 expected to be released?
-Belinda

Belinda Randolph
Architecture & Systems Engineering Group (3861)
Instrument Software Systems (386)

Phone: (818) 354-3579
Location: 169-325
Mail Stop: 168-414

NOTE: All personal and professional opinions presented herein are my 
own and do not, in any way, represent the opinion or policy of JPL.
Julian Reschke | 1 May 17:41
Picon
Picon

Re: User-Agent information within Store implementation

Padmanabhan_Sheeba <at> emc.com wrote:
> Hi Julian,
> 
> Thank you so much for the reply... 
> 
> One of the use cases is the way we store the data fork and resource
> forks into our repository... Sometimes we use to create an apple double
> file out of it before sending it off to the repository.. So we need to
> know the request is from MacOS...

But that's a matter of MIME type, not user agent, right?

> The other one is - in some cases the session handling within our
> repository need to be different for some clients...  

It shouldn't.

> So If I am not using the 'user-agent' info, is there any other way to
> figure out the client info within the data store implementation?

Best regards, Julian
Julian Reschke | 1 May 17:43
Picon
Picon

Re: How to do a MoveMethod with locks

Stephen Martin wrote:
> I can not get this to work without adding the url to the If header, the 
> server always responds with a 424 error. Experimenting with cadaver in
> debug mode, i found that it likes the tagged version. I've also 
> discovered that in order to do the move when both the source and the 
> destination are locked, the If: header needs both lock tokens provided 
> in the tagged version. Unfortunately the way that the slide code is 
> organized, there seems to be no easy way to augment this header for the 
> destination.
> 
> The requirement for the tagged version of the header maybe a bug in 
> mod_dav/mod_svn I don't know.

You need the tagged-list form when you need to provide a lock token 
which is not for the Request-URI, which of course is the case if yiu 
lock the target folder...

Best regards, Julian
Stephen Martin | 1 May 18:33

Re: How to do a MoveMethod with locks

Julian Reschke wrote:

> 
> You need the tagged-list form when you need to provide a lock token 
> which is not for the Request-URI, which of course is the case if yiu 
> lock the target folder...
> 

Is there anyway to do this using the WebdavResource API? I can't see it.

Gmane