ACL bug in 2.1rc1?

2004-12-07 Thread Jacob Lund
Hi All!   

I was just playing with the ACL setting in the new rc1 and I found the 
following behaviour:

I took the tomcat-slide bundle as offsett and enabled the JAAS realm. Also I 
mapped slide to the root of the server in the server.xml.

Using the standard users from the default domain.xml and then I change access 
rights on the /files collection:
/roles/user grant /actions/write-acl
/roles/user grant /actions/write-content
/roles/user grant /actions/write-propeties
/roles/user grant /actions/read
/roles/user deny all 

Then I login with john and try to upload a file to the /files collection and i 
get an access denied. The put request returns a 403 write access /actions/write 
denied.

Changing the acl info to:
/roles/user grant /actions/write
/roles/user grant /actions/read
/roles/user deny all 

Now it works fine? Am I misunderstanding something /actions/write and the 
combination of /actions/write-acl, /actions/write-content and 
/actions/write-propeties bee the same?

Thanks
Jacob

Re: AW: version_history table's branch_id column

2004-12-07 Thread Daniel Florey
Sorry, but I've no clue what this branches are for. I've also noticed some 
strange things going on in the Slide core regarding versioning (some temporary 
hidden 0.0 revisions...)
Maybe it's an option for you to listen on acl events and create the appropriate 
folders by calling the MKCOL method triggered by the event?
Cheers,
Daniel

Slide Users Mailing List [EMAIL PROTECTED] schrieb am 07.12.04 
01:54:52:
 
 Thank you very much, Daniel. But could you give me a little more explanation 
 about the
 main branch and the backup branch?
  
 I'm using webdavclient in most places. But there are one or two places where 
 I need to
 create folder inside of the other webdav method, for example, I need to 
 create a folder in
 ACLMethod so that when a folder is assigned to some user, accordingly, a 
 system folder is created at the same time (to server our requirement). This 
 is why we use the slide api directly in this place.
  
 I need to know a little more of the slide's logic in handling the versioning 
 and branch, then
 I can make a decision of what to do in my application.
  
 Thanks.
  
 regards,
  
 Jun
 
 Daniel Florey [EMAIL PROTECTED] wrote:
 Do not use the Slide API directly, but use the webdavclient-library instead.
 You'll run into trouble if you want to use versioning. This is handled in
 the WebDAV-layer...
 Cheers,
 Daniel
 
  -Ursprüngliche Nachricht-
  Von: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]
  Im Auftrag von Gao Jun
  Gesendet: Montag, 6. Dezember 2004 08:44
  An: [EMAIL PROTECTED]
  Betreff: version_history table's branch_id column
  
  Hi,
  
  I've some problem in using slide. When I use propfind on a folder I
  created, I was told that folder doesn't exist. The backend log reads
  02 Dec 2004 02:27:02 5793672 DEBUG [tcpConnection-80-154] httpclient.wire
  -  HTTP/1.1 500 Internal Server Error: No revision descriptor found on
  object MY_FOLDER_NAME[\r][\n]
  
  I created that folder with my own code listed below:
  
  //create the new folder
  SubjectNode collection = new SubjectNode();
  structure.create(slideToken, collection,
  folderName);//slide's original implement
  
  NodeRevisionDescriptor revisionDescriptor = new
  NodeRevisionDescriptor(0);
  // Resource type
  revisionDescriptor.setResourceType();
  
  // Creation date
  revisionDescriptor.setCreationDate(new Date());
  
  // Last modification date
  revisionDescriptor.setLastModified(new Date());
  
  // Content length name
  revisionDescriptor.setContentLength(0);
  
  // Source
  revisionDescriptor.setSource();
  
  // Owner
  String creator =
  ((SubjectNode)security.getPrincipal(slideToken)).getPath().lastSegment();
  revisionDescriptor.setCreationUser(creator);
  revisionDescriptor.setOwner(creator);
  
  // Added for DeltaV --start--
  if( Configuration.useVersionControl() )
  {
  VersioningHelper vHelp =
  VersioningHelper.getVersioningHelper(
  slideToken, token, req, resp, getConfig() );
  
  // Workspace
  vHelp.setWorkspaceProperty( userLinkPath,
  revisionDescriptor );
  }
  // Added for DeltaV --end--
  
  if (isMsProprietarySupport()) {
  
  NodeProperty property = null;
  
  // Is hidden
  property = new NodeProperty(ishidden, 0,
  MICROSOFT);
  revisionDescriptor.setProperty(property);
  
  // Is collection
  property = new NodeProperty(iscollection, 1,
  MICROSOFT);
  revisionDescriptor.setProperty(property);
  
  // Is read only
  property = new NodeProperty(isreadonly, 0,
  MICROSOFT);
  revisionDescriptor.setProperty(property);
  
  // Last accessed
  property = new NodeProperty(lastaccessed,
  (new
  Date()).toString(), MICROSOFT);
  revisionDescriptor.setProperty(property);
  }
  content.create(slideToken, folderName,
  revisionDescriptor, null);
  ...
  
  I found the new folder name has been created in URI table. The odd thing I
  found is
  in the table version_history, the row for this new folder's URI has a
  branch_id which
  is a backup instead of main according to table branch.
  
  I have no idea of what this backup and main mean. Could anybody help
  explain
  and could you see what's the cause of my problem? Thanks a lot.
  
  regards,
  
  Jun
  
  
  -
  Do you Yahoo!?
  Yahoo! Mail - You care about security. So do we.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 __
 Do You Yahoo!?
 Tired of spam?  Yahoo! Mail has the best spam protection around 
 http://mail.yahoo.com 


__
Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
weltweit telefonieren! http://freephone.web.de/?mc=021201


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



history-collection-hack bug

2004-12-07 Thread Jacob Lund
Hi all,
When slide is configured to split the history collection into seperate 
stores  parameter name=historypath/history/${store}/parameter, then 
the history-collection-hack breaks the versioning part of slide.

I have attached an example domain.xml file. When history-collection-hack is 
set to false it works fine.

I tested this with 2.1rc1.
/jacob 
?xml version=1.0?
slide
	namespace name=slide
		definition
			store name=tx
parameter name=tlock-timeout120/parameter
nodestore classname=org.apache.slide.store.txfile.TxXMLFileDescriptorsStore
	parameter name=rootpathstore/metadata/parameter
	parameter name=workpathwork/metadata/parameter
	parameter name=defer-savingtrue/parameter
	parameter name=timeout120/parameter
/nodestore
sequencestore classname=org.apache.slide.store.txfile.FileSequenceStore
	parameter name=rootpathstore/sequence/parameter
/sequencestore
securitystore
	reference store=nodestore/
/securitystore
lockstore
	reference store=nodestore/
/lockstore
revisiondescriptorsstore
	reference store=nodestore/
/revisiondescriptorsstore
revisiondescriptorstore
	reference store=nodestore/
/revisiondescriptorstore
contentstore classname=org.apache.slide.store.txfile.TxFileContentStore
	parameter name=rootpathstore/content/parameter
	parameter name=workpathwork/content/parameter
	parameter name=defer-savingtrue/parameter
	parameter name=timeout120/parameter
/contentstore
			/store
			scope match=/ store=tx/
			store name=tx2
parameter name=tlock-timeout120/parameter
nodestore classname=org.apache.slide.store.txfile.TxXMLFileDescriptorsStore
	parameter name=rootpathstoreh/metadata/parameter
	parameter name=workpathworkh/metadata/parameter
	parameter name=defer-savingtrue/parameter
	parameter name=timeout120/parameter
/nodestore
sequencestore classname=org.apache.slide.store.txfile.FileSequenceStore
	parameter name=rootpathstoreh/sequence/parameter
/sequencestore
securitystore
	reference store=nodestore/
/securitystore
lockstore
	reference store=nodestore/
/lockstore
revisiondescriptorsstore
	reference store=nodestore/
/revisiondescriptorsstore
revisiondescriptorstore
	reference store=nodestore/
/revisiondescriptorstore
contentstore classname=org.apache.slide.store.txfile.TxFileContentStore
	parameter name=rootpathstoreh/content/parameter
	parameter name=workpathworkh/content/parameter
	parameter name=defer-savingtrue/parameter
	parameter name=timeout120/parameter
/contentstore
			/store
			scope match=/history/tx store=tx2/
			store name=files
parameter name=tlock-timeout120/parameter
nodestore classname=org.apache.slide.store.txfile.TxXMLFileDescriptorsStore
	parameter name=rootpathstoref/metadata/parameter
	parameter name=workpathworfk/metadata/parameter
	parameter name=defer-savingtrue/parameter
	parameter name=timeout120/parameter
/nodestore
sequencestore classname=org.apache.slide.store.txfile.FileSequenceStore
	parameter name=rootpathstoref/sequence/parameter
/sequencestore
securitystore
	reference store=nodestore/
/securitystore
lockstore
	reference store=nodestore/
/lockstore
revisiondescriptorsstore
	reference store=nodestore/
/revisiondescriptorsstore
revisiondescriptorstore
	reference store=nodestore/
/revisiondescriptorstore
contentstore classname=org.apache.slide.store.txfile.TxFileContentStore
	parameter name=rootpathstoref/content/parameter
	parameter name=workpathworkf/content/parameter
	parameter name=defer-savingtrue/parameter
	parameter name=timeout120/parameter
/contentstore
			/store
			scope match=/files store=files/
			store name=files2
parameter name=tlock-timeout120/parameter
nodestore classname=org.apache.slide.store.txfile.TxXMLFileDescriptorsStore
	parameter name=rootpathstorefh/metadata/parameter
	parameter name=workpathworkfh/metadata/parameter
	parameter name=defer-savingtrue/parameter
	parameter name=timeout120/parameter
/nodestore
sequencestore classname=org.apache.slide.store.txfile.FileSequenceStore
	parameter name=rootpathstorefh/sequence/parameter
/sequencestore
securitystore
	reference store=nodestore/
/securitystore
lockstore
	reference store=nodestore/
/lockstore
revisiondescriptorsstore
	reference store=nodestore/
/revisiondescriptorsstore
revisiondescriptorstore
	reference store=nodestore/
/revisiondescriptorstore
contentstore classname=org.apache.slide.store.txfile.TxFileContentStore
	parameter name=rootpathstorefh/content/parameter
	parameter name=workpathworkfh/content/parameter
	parameter name=defer-savingtrue/parameter
	parameter name=timeout120/parameter
/contentstore
			/store
			scope match=/history/files 

WebDav LOCK and MOVE question

2004-12-07 Thread Bernd Kühl
Hello,

I want to upload a file to a web server. Several machines maybe try in parallel 
to upload the same file. Therefore locking is needed to allow only one upload. 
Moreover I have to ensure that no other machine downloads the file before the 
complete upload is done. So the algorithm I have in mind goes like this:

0) Check whether the file already exists on the file server. If yes = done
1) Lock non existing temporary file.
2) Upload the bytes to the locked temporary file.
3) Move the temporary file to the destination name.
4) Unlock the lock.

Unfortunately it seems that I'm to dump and/or have not enough knowledge about 
WebDay and the slide WebDav client library to implement the algorithm. Who is 
able to help me?

Thx!

Bernd




-- 
Bernd Wellhöfer VerdiSoft GmbH
Phone: +49 40 280054-24 Süderstraße 77
Fax:   +49 40 280054-50 20097 Hamburg
Email: [EMAIL PROTECTED]Germany




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



auto-version-values

2004-12-07 Thread Stefan Burkard
hi slide-users
ok, because my post about versioning ends up in a huge discussion about 
other things, i make a new one :-)

i'm now a step ahead (thanks to warwick burrows). i set the following in 
domain.xml:
parameter name=auto-versioncheckout/parameter
parameter name=auto-version-controltrue/parameter

when i put a new file in the repository i do a put, and right after 
that, i'm doing about 20 proppatches. finally, i do a manual checkin.

result: 2 (equal) versions in history and a current one in files. i 
guess that i always have the current version in history too, have i?

question: why have i got two equal versions in history? are they created 
on (automatical) checkout and (manual) checkin?

and second question: warwick burrows wrote ... disable auto-versioning 
altogether and do both checkout and checkin yourself...
how can i do this? set auto-version-control to false or auto-version 
to an empty string?

thanks and greetings
stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: history-collection-hack bug

2004-12-07 Thread Oliver Zeigermann
Any idea what the problem with the hack is?

Oliver


On Tue, 7 Dec 2004 12:33:16 +0100, Jacob Lund [EMAIL PROTECTED] wrote:
 Hi all,
 
 When slide is configured to split the history collection into seperate
 stores  parameter name=historypath/history/${store}/parameter, then
 the history-collection-hack breaks the versioning part of slide.
 
 I have attached an example domain.xml file. When history-collection-hack is
 set to false it works fine.
 
 I tested this with 2.1rc1.
 
 /jacob
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: auto-version-values

2004-12-07 Thread Tim Frank
Stefan,
If you leave the auto-version parameter blank, empty, no value then 
NOTHING will happen automatically. I will mention that you should be 
careful with understanding how these parameters work with dumb webdav 
clients such as Windows WebFolders. The dumb behaviour is to 
automatically overwrite whatever is live as there is no 
checkout/checking issued. I would recommend using the checkout option 
for that reason, as a safeguard.

There is a duplicate of the file created in history to allow the 
uncheckout command to function. Uncheckout is like undo. You can 
checkout a file, do 20 changes on it, then decide No, I really don't 
want to save those changes for this version, so you issue the 
uncheckout command to rollback to the last good copy from the history.

Hope that helps.
Tim
Stefan Burkard wrote on 07/12/04 09:23 AM:
hi slide-users
ok, because my post about versioning ends up in a huge discussion about 
other things, i make a new one :-)

i'm now a step ahead (thanks to warwick burrows). i set the following in 
domain.xml:
parameter name=auto-versioncheckout/parameter
parameter name=auto-version-controltrue/parameter

when i put a new file in the repository i do a put, and right after 
that, i'm doing about 20 proppatches. finally, i do a manual checkin.

result: 2 (equal) versions in history and a current one in files. i 
guess that i always have the current version in history too, have i?

question: why have i got two equal versions in history? are they created 
on (automatical) checkout and (manual) checkin?

and second question: warwick burrows wrote ... disable auto-versioning 
altogether and do both checkout and checkin yourself...
how can i do this? set auto-version-control to false or auto-version 
to an empty string?

thanks and greetings
stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Exceptions on MySQL 4.1

2004-12-07 Thread Oliver Zeigermann
As a final hint: set isolation level to read committed!

Oliver

P.S.: Thanks for reporting all this; I am currently working on the
deadlock retry thing...

On Mon, 06 Dec 2004 17:02:56 -0800, Mirko Froehlich
[EMAIL PROTECTED] wrote:
 In that case, I don't think this will solve my issue. Slide actually
 started up fine with MySQL 4.1 for the first time, using the
 MySql41RDBMSAdapter and the new schema. I ran my concurrency test, which
 again failed after less than a minute. Only subsequent startups failed
 due to the schema issues, for some reason.
 
 
 
 -Mirko
 
 On Mon, 2004-12-06 at 16:47, Oliver Zeigermann wrote:
 
  Nono, use the MySql41RDBMSAdapter. That's what worked for me.
 
  Oliver
 
 
  On Mon, 06 Dec 2004 16:37:36 -0800, Mirko Froehlich
  [EMAIL PROTECTED] wrote:
In that case, should I continue to use the MySqlRDBMSAdapter, or should I
   use the MySql41RDBMSAdapter?
  
-Mirko
  
  
  
  
On Mon, 2004-12-06 at 16:25, Oliver Zeigermann wrote:
May be true, I did my tests with the 4.0 schema and it worked just fine. 
   No
   idea what the original problem is. Anyway, use the 4.0 schema even for 4.1
   and it should work. Oliver
  
  
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: history-collection-hack bug

2004-12-07 Thread Jacob Lund
I am looking into it now - i just found out!
It does not throw an exception! I will report back as soon as I have 
something.

/jacob
- Original Message - 
From: Oliver Zeigermann [EMAIL PROTECTED]
To: Slide Users Mailing List [EMAIL PROTECTED]
Sent: Tuesday, December 07, 2004 3:35 PM
Subject: Re: history-collection-hack bug


Any idea what the problem with the hack is?
Oliver
On Tue, 7 Dec 2004 12:33:16 +0100, Jacob Lund [EMAIL PROTECTED] wrote:
Hi all,
When slide is configured to split the history collection into seperate
stores  parameter name=historypath/history/${store}/parameter, then
the history-collection-hack breaks the versioning part of slide.
I have attached an example domain.xml file. When history-collection-hack 
is
set to false it works fine.

I tested this with 2.1rc1.
/jacob
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: WebDav LOCK and MOVE question

2004-12-07 Thread Oliver Zeigermann
What is the WebDAV server you are programming to? Slide? If so, just
upload the file.

Oliver

On Tue, 7 Dec 2004 15:11:42 +0100, Bernd Kühl [EMAIL PROTECTED] wrote:
 Hello,
 
 I want to upload a file to a web server. Several machines maybe try in 
 parallel to upload the same file. Therefore locking is needed to allow only 
 one upload. Moreover I have to ensure that no other machine downloads the 
 file before the complete upload is done. So the algorithm I have in mind goes 
 like this:
 
 0) Check whether the file already exists on the file server. If yes = done
 1) Lock non existing temporary file.
 2) Upload the bytes to the locked temporary file.
 3) Move the temporary file to the destination name.
 4) Unlock the lock.
 
 Unfortunately it seems that I'm to dump and/or have not enough knowledge 
 about WebDay and the slide WebDav client library to implement the algorithm. 
 Who is able to help me?
 
 Thx!
 
 Bernd
 
 --
 Bernd Wellhöfer VerdiSoft GmbH
 Phone: +49 40 280054-24 Süderstraße 77
 Fax:   +49 40 280054-50 20097 Hamburg
 Email: [EMAIL PROTECTED]Germany
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Default max file size?

2004-12-07 Thread Pell, Mike
What is the default max file size allowed?  And more importantly, where is this 
setting?

Can you also point me to some docs that address limiting the amount of disk 
space each user may use?

thanks,

Mike


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

RE: WebDav LOCK and MOVE question

2004-12-07 Thread Bernd Kühl
Hello,

It is Apache/2.0.44 (Unix) DAV/2 mod_webapp/1.2.0-dev. 

Just uploading the file is not good enough since then different server machines 
can do the upload in parallel. Moreover a client machine can fetch the file 
while a [slow] server machine is currently doing the upload. This leads into a 
corrupted file.

Thx,

Bernd

 -Original Message-
 From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, December 07, 2004 3:47 PM
 To: Slide Users Mailing List
 Subject: Re: WebDav LOCK and MOVE question
 
 What is the WebDAV server you are programming to? Slide? If so, just
 upload the file.
 
 Oliver
 
 On Tue, 7 Dec 2004 15:11:42 +0100, Bernd Kühl [EMAIL PROTECTED]
 wrote:
  Hello,
 
  I want to upload a file to a web server. Several machines maybe try in
 parallel to upload the same file. Therefore locking is needed to allow
 only one upload. Moreover I have to ensure that no other machine downloads
 the file before the complete upload is done. So the algorithm I have in
 mind goes like this:
 
  0) Check whether the file already exists on the file server. If yes =
 done
  1) Lock non existing temporary file.
  2) Upload the bytes to the locked temporary file.
  3) Move the temporary file to the destination name.
  4) Unlock the lock.
 
  Unfortunately it seems that I'm to dump and/or have not enough knowledge
 about WebDay and the slide WebDav client library to implement the
 algorithm. Who is able to help me?
 
  Thx!
 
  Bernd
 
  --
  Bernd Wellhöfer VerdiSoft GmbH
  Phone: +49 40 280054-24 Süderstraße 77
  Fax:   +49 40 280054-50 20097 Hamburg
  Email: [EMAIL PROTECTED]Germany
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: WebDav LOCK and MOVE question

2004-12-07 Thread Oliver Zeigermann
So, you still could has a problem while moving the temporary file. 

Bottom line: You try to reimplement transactional features modav does
not seem to have. Maybe then it is not the right choice in the first
place.

Oliver


On Tue, 7 Dec 2004 16:06:49 +0100, Bernd Kühl [EMAIL PROTECTED] wrote:
 Hello,
 
 It is Apache/2.0.44 (Unix) DAV/2 mod_webapp/1.2.0-dev.
 
 Just uploading the file is not good enough since then different server 
 machines can do the upload in parallel. Moreover a client machine can fetch 
 the file while a [slow] server machine is currently doing the upload. This 
 leads into a corrupted file.
 
 Thx,
 
 Bernd
 
 
 
  -Original Message-
  From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
  Sent: Tuesday, December 07, 2004 3:47 PM
  To: Slide Users Mailing List
  Subject: Re: WebDav LOCK and MOVE question
 
  What is the WebDAV server you are programming to? Slide? If so, just
  upload the file.
 
  Oliver
 
  On Tue, 7 Dec 2004 15:11:42 +0100, Bernd Kühl [EMAIL PROTECTED]
  wrote:
   Hello,
  
   I want to upload a file to a web server. Several machines maybe try in
  parallel to upload the same file. Therefore locking is needed to allow
  only one upload. Moreover I have to ensure that no other machine downloads
  the file before the complete upload is done. So the algorithm I have in
  mind goes like this:
  
   0) Check whether the file already exists on the file server. If yes =
  done
   1) Lock non existing temporary file.
   2) Upload the bytes to the locked temporary file.
   3) Move the temporary file to the destination name.
   4) Unlock the lock.
  
   Unfortunately it seems that I'm to dump and/or have not enough knowledge
  about WebDay and the slide WebDav client library to implement the
  algorithm. Who is able to help me?
  
   Thx!
  
   Bernd
  
   --
   Bernd Wellhöfer VerdiSoft GmbH
   Phone: +49 40 280054-24 Süderstraße 77
   Fax:   +49 40 280054-50 20097 Hamburg
   Email: [EMAIL PROTECTED]Germany
  
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
  
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: WebDav LOCK and MOVE question

2004-12-07 Thread Bernd Kühl
Hello,

Yes I have a problem with the move. Please find attached a simple test program. 
The output of the program is 

Empty put temp file status is 201, result is true
Put temp file status is 201, result is true
lock temp file status is 200, result is true
Put temp file status is 423, result is false
Move status is 201, result is true
unlock status is 204, result is true

As you see I get a 423 error status code for the move. Apache logged:

[Tue Dec 07 16:30:42 2004] [error] [client 172.16.8.1] This resource is locked 
and an If: header was not supplied to allow access to the resource.  [423, #0]

I do not understand why no (or the wrong) If: is supplied to the move request. 

Who can help me?

Thx,

Bernd


 -Original Message-
 From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, December 07, 2004 4:18 PM
 To: Slide Users Mailing List
 Subject: Re: WebDav LOCK and MOVE question
 
 So, you still could has a problem while moving the temporary file.
 
 Bottom line: You try to reimplement transactional features modav does
 not seem to have. Maybe then it is not the right choice in the first
 place.
 
 Oliver
 
 
 On Tue, 7 Dec 2004 16:06:49 +0100, Bernd Kühl [EMAIL PROTECTED]
 wrote:
  Hello,
 
  It is Apache/2.0.44 (Unix) DAV/2 mod_webapp/1.2.0-dev.
 
  Just uploading the file is not good enough since then different server
 machines can do the upload in parallel. Moreover a client machine can
 fetch the file while a [slow] server machine is currently doing the
 upload. This leads into a corrupted file.
 
  Thx,
 
  Bernd
 
 
 
   -Original Message-
   From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
   Sent: Tuesday, December 07, 2004 3:47 PM
   To: Slide Users Mailing List
   Subject: Re: WebDav LOCK and MOVE question
  
   What is the WebDAV server you are programming to? Slide? If so, just
   upload the file.
  
   Oliver
  
   On Tue, 7 Dec 2004 15:11:42 +0100, Bernd Kühl
 [EMAIL PROTECTED]
   wrote:
Hello,
   
I want to upload a file to a web server. Several machines maybe try
 in
   parallel to upload the same file. Therefore locking is needed to allow
   only one upload. Moreover I have to ensure that no other machine
 downloads
   the file before the complete upload is done. So the algorithm I have
 in
   mind goes like this:
   
0) Check whether the file already exists on the file server. If yes
 =
   done
1) Lock non existing temporary file.
2) Upload the bytes to the locked temporary file.
3) Move the temporary file to the destination name.
4) Unlock the lock.
   
Unfortunately it seems that I'm to dump and/or have not enough
 knowledge
   about WebDay and the slide WebDav client library to implement the
   algorithm. Who is able to help me?
   
Thx!
   
Bernd
   
--
Bernd Wellhöfer VerdiSoft GmbH
Phone: +49 40 280054-24 Süderstraße 77
Fax:   +49 40 280054-50 20097 Hamburg
Email: [EMAIL PROTECTED]Germany
   

 -
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   
   
  
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

RE: auto-version-values

2004-12-07 Thread Miguel Figueiredo

 Hello Stefan,

 Adding to Tim's response, the propatch commands does not change the file
content, but just it's metadata, witch is also being versioned but in the
associated xml file of versioning, inside the metainfo store. It's pretty
easy to confirm this if your metadata store is a txfilestore.

 Hope this helps,
 Miguel Figueiredo

-Original Message-
From: Tim Frank [mailto:[EMAIL PROTECTED] 
Sent: terça-feira, 7 de Dezembro de 2004 14:38
To: Slide Users Mailing List
Subject: Re: auto-version-values

Stefan,

If you leave the auto-version parameter blank, empty, no value then 
NOTHING will happen automatically. I will mention that you should be 
careful with understanding how these parameters work with dumb webdav 
clients such as Windows WebFolders. The dumb behaviour is to 
automatically overwrite whatever is live as there is no 
checkout/checking issued. I would recommend using the checkout option 
for that reason, as a safeguard.

There is a duplicate of the file created in history to allow the 
uncheckout command to function. Uncheckout is like undo. You can 
checkout a file, do 20 changes on it, then decide No, I really don't 
want to save those changes for this version, so you issue the 
uncheckout command to rollback to the last good copy from the history.

Hope that helps.

Tim

Stefan Burkard wrote on 07/12/04 09:23 AM:
 hi slide-users
 
 ok, because my post about versioning ends up in a huge discussion about 
 other things, i make a new one :-)
 
 
 i'm now a step ahead (thanks to warwick burrows). i set the following in 
 domain.xml:
 parameter name=auto-versioncheckout/parameter
 parameter name=auto-version-controltrue/parameter
 
 when i put a new file in the repository i do a put, and right after 
 that, i'm doing about 20 proppatches. finally, i do a manual checkin.
 
 result: 2 (equal) versions in history and a current one in files. i 
 guess that i always have the current version in history too, have i?
 
 question: why have i got two equal versions in history? are they created 
 on (automatical) checkout and (manual) checkin?
 
 and second question: warwick burrows wrote ... disable auto-versioning 
 altogether and do both checkout and checkin yourself...
 how can i do this? set auto-version-control to false or auto-version 
 to an empty string?
 
 thanks and greetings
 stefan
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: auto-version-values

2004-12-07 Thread Stefan Burkard
Tim Frank wrote:
If you leave the auto-version parameter blank, empty, no value then 
NOTHING will happen automatically. I will mention that you should be 
careful with understanding how these parameters work with dumb webdav 
clients such as Windows WebFolders. The dumb behaviour is to 
automatically overwrite whatever is live as there is no 
checkout/checking issued. I would recommend using the checkout option 
for that reason, as a safeguard.
--- ok, thanks for the advice. additionally i saw that the 
double-version only occurs when i first put in the document. when i put 
in a new version of an existing doc, it just creates ONE new version.

just two other questions:
- what are the consequences for dumb-client-documents that are checked 
out (automatically), but not checked in (manually) again?
- what is the versioncontrol-method for? to activate and disactivate 
version-controlling on a document?

There is a duplicate of the file created in history to allow the 
uncheckout command to function. Uncheckout is like undo. You can 
checkout a file, do 20 changes on it, then decide No, I really don't 
want to save those changes for this version, so you issue the 
uncheckout command to rollback to the last good copy from the history.
--- understand, thanks a lot!
stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: auto-version-values

2004-12-07 Thread Tim Frank
Stefan,
Stefan Burkard wrote on 07/12/04 11:00 AM:
--- ok, thanks for the advice. additionally i saw that the 
double-version only occurs when i first put in the document. when i put 
in a new version of an existing doc, it just creates ONE new version.
Hmm, maybe this wasn't what I thought it was, but I guess that might 
depend on which client you used to create the document. I think I'd only 
ever seen 1 version created myself, but I honestly wasn't paying that 
much attention.

just two other questions:
- what are the consequences for dumb-client-documents that are checked 
out (automatically), but not checked in (manually) again?
The consequence would be that a dumb client would never be able to 
actually create a new version of your document. You would have to 
perform the checking from a smart client. This is normally not a 
problem if you have some sort of CMS/workflow interface to control the 
checkin features. You could leverage the ease of use of web folders or 
the KDE webdav:// protocol for day-to-day updates rather than a clunky 
web interface.

I have had locking issues with dumb clients though, so if something gets 
locked by a smart client after an auto-checkout it will automatically 
get checked-in when the lock is removed again from the smart client. 
This is per the spec, but not always desired program behaviour.

Long and the short of it, use a smart client for all 
checkout/checkin/uncheckout/locking.

- what is the versioncontrol-method for? to activate and disactivate 
version-controlling on a document?
If you don't use the auto-version-control parameter, yes, this is the 
method that would be called to place a resource under version control. 
We had an earlier discussion about how to take a resource out of version 
control and I think the consensus was you couldn't. I think you would 
have to create a new resource that was specifically not under version 
and fill the contents/metadata from the last version.

I have spent quite a bit of time investigating how all of these 
properties work with or against each other. The gist of everything is 
that dumb clients just mess everything up or make things more 
complicated. The only upside is easier use by the end user because you 
can have drag-drop, remote editing, remote saving, etc.

I think you are wading your way through :)
Tim
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


New feature for

2004-12-07 Thread Oliver Zeigermann
Folks,

I have added a new option to internally and transparently repeat a
transaction if it has failed becasue of concurrency confclits. Right
now only tx file and mysql support this experimental feature.

There are two new parameters in the configuration section of
Domain.xml repeat-upon-conflict which enables this feature and
max-retry-repeat which sets the maximum number of repeats, defaults
are false and 1.

E.g. this
parameter name=repeat-upon-conflicttrue/parameter
parameter name=max-retry-repeat5/parameter

enables the repeast feature and sets the maximum number of repeats to 5.

If it is disabled everything should work just as before.

Oliver

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: New feature for internally repeating conflicting requests

2004-12-07 Thread Oliver Zeigermann
Sorry, messed up the subject...


On Tue, 7 Dec 2004 18:11:49 +0100, Oliver Zeigermann
[EMAIL PROTECTED] wrote:
 Folks,
 
 I have added a new option to internally and transparently repeat a
 transaction if it has failed becasue of concurrency confclits. Right
 now only tx file and mysql support this experimental feature.
 
 There are two new parameters in the configuration section of
 Domain.xml repeat-upon-conflict which enables this feature and
 max-retry-repeat which sets the maximum number of repeats, defaults
 are false and 1.
 
 E.g. this
 parameter name=repeat-upon-conflicttrue/parameter
 parameter name=max-retry-repeat5/parameter
 
 enables the repeast feature and sets the maximum number of repeats to 5.
 
 If it is disabled everything should work just as before.
 
 Oliver


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Exceptions on MySQL 4.1

2004-12-07 Thread Oliver Zeigermann
OK, this should work for MySQL now. 

Mirko, do you still have enough patience to try it with the latest CVS head?

Oliver

On Tue, 7 Dec 2004 15:40:15 +0100, Oliver Zeigermann
[EMAIL PROTECTED] wrote:
 As a final hint: set isolation level to read committed!
 
 Oliver
 
 P.S.: Thanks for reporting all this; I am currently working on the
 deadlock retry thing...
 
 On Mon, 06 Dec 2004 17:02:56 -0800, Mirko Froehlich
 
 
 [EMAIL PROTECTED] wrote:
  In that case, I don't think this will solve my issue. Slide actually
  started up fine with MySQL 4.1 for the first time, using the
  MySql41RDBMSAdapter and the new schema. I ran my concurrency test, which
  again failed after less than a minute. Only subsequent startups failed
  due to the schema issues, for some reason.
 
 
 
  -Mirko
 
  On Mon, 2004-12-06 at 16:47, Oliver Zeigermann wrote:
 
   Nono, use the MySql41RDBMSAdapter. That's what worked for me.
  
   Oliver
  
  
   On Mon, 06 Dec 2004 16:37:36 -0800, Mirko Froehlich
   [EMAIL PROTECTED] wrote:
 In that case, should I continue to use the MySqlRDBMSAdapter, or 
should I
use the MySql41RDBMSAdapter?
   
 -Mirko
   
   
   
   
 On Mon, 2004-12-06 at 16:25, Oliver Zeigermann wrote:
 May be true, I did my tests with the 4.0 schema and it worked just 
fine. No
idea what the original problem is. Anyway, use the 4.0 schema even for 
4.1
and it should work. Oliver
   
  
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
 
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Exceptions on MySQL 4.1

2004-12-07 Thread Mirko Froehlich
Absolutely! I'll let you know how it goes. Again, thanks for
implementing these fixes.

-Mirko


On Tue, 2004-12-07 at 09:18, Oliver Zeigermann wrote:

 OK, this should work for MySQL now. 
 
 Mirko, do you still have enough patience to try it with the latest CVS head?
 
 Oliver
 
 On Tue, 7 Dec 2004 15:40:15 +0100, Oliver Zeigermann
 [EMAIL PROTECTED] wrote:
  As a final hint: set isolation level to read committed!
  
  Oliver
  
  P.S.: Thanks for reporting all this; I am currently working on the
  deadlock retry thing...
  
  On Mon, 06 Dec 2004 17:02:56 -0800, Mirko Froehlich
  
  
  [EMAIL PROTECTED] wrote:
   In that case, I don't think this will solve my issue. Slide actually
   started up fine with MySQL 4.1 for the first time, using the
   MySql41RDBMSAdapter and the new schema. I ran my concurrency test, which
   again failed after less than a minute. Only subsequent startups failed
   due to the schema issues, for some reason.
  
  
  
   -Mirko
  
   On Mon, 2004-12-06 at 16:47, Oliver Zeigermann wrote:
  
Nono, use the MySql41RDBMSAdapter. That's what worked for me.
   
Oliver
   
   
On Mon, 06 Dec 2004 16:37:36 -0800, Mirko Froehlich
[EMAIL PROTECTED] wrote:
  In that case, should I continue to use the MySqlRDBMSAdapter, or 
 should I
 use the MySql41RDBMSAdapter?

  -Mirko




  On Mon, 2004-12-06 at 16:25, Oliver Zeigermann wrote:
  May be true, I did my tests with the 4.0 schema and it worked just 
 fine. No
 idea what the original problem is. Anyway, use the 4.0 schema even 
 for 4.1
 and it should work. Oliver

   
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
   
  
  
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


RE: WebDav LOCK and MOVE question

2004-12-07 Thread Warwick Burrows
Bernd,

Slide's WebDAV client creates a lock-null resource when you lock a file that
doesn't exist and that you want to create. This is how the WebDAV standard
deals with two uploads of the same new file at the same time.  When the
second server tries to lock the resource they will be denied with the 423
error code.  So you don't need a temp file (I don't think) as the WebDAV
server creates it for you.

So to do what you want and assuming that all of your clients that are doing
uploads simultaneously will be your DAV clients then you need to:

0) Check whether the file already exists on the file server. 
If yes = done
1) Call webdav client lockMethod on target file (creates lock-null
resource)
2) Call webdav client putMethod to upload bytes to the lock-null
file.
4) Unlock the lock with webdav client unlockMethod on target file.

Try this approach and you should not see the 423 error you're seeing now --
at least if you're using the Slide 2.1 WebDAV client which I am using and
which passes the lock to the server in the request as it is supposed to.

Warwick



 -Original Message-
 From: Bernd Kühl [mailto:[EMAIL PROTECTED] 
 Sent: Tuesday, December 07, 2004 9:34 AM
 To: Slide Users Mailing List; [EMAIL PROTECTED]
 Subject: RE: WebDav LOCK and MOVE question
 
 
 Hello,
 
 Yes I have a problem with the move. Please find attached a 
 simple test program. The output of the program is 
 
 Empty put temp file status is 201, result is true
 Put temp file status is 201, result is true
 lock temp file status is 200, result is true
 Put temp file status is 423, result is false
 Move status is 201, result is true
 unlock status is 204, result is true
 
 As you see I get a 423 error status code for the move. Apache logged:
 
 [Tue Dec 07 16:30:42 2004] [error] [client 172.16.8.1] This 
 resource is locked and an If: header was not supplied to 
 allow access to the resource.  [423, #0]
 
 I do not understand why no (or the wrong) If: is supplied to 
 the move request. 
 
 Who can help me?
 
 Thx,
 
 Bernd
 
 
  -Original Message-
  From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
  Sent: Tuesday, December 07, 2004 4:18 PM
  To: Slide Users Mailing List
  Subject: Re: WebDav LOCK and MOVE question
  
  So, you still could has a problem while moving the temporary file.
  
  Bottom line: You try to reimplement transactional features 
 modav does 
  not seem to have. Maybe then it is not the right choice in 
 the first 
  place.
  
  Oliver
  
  
  On Tue, 7 Dec 2004 16:06:49 +0100, Bernd Kühl 
  [EMAIL PROTECTED]
  wrote:
   Hello,
  
   It is Apache/2.0.44 (Unix) DAV/2 mod_webapp/1.2.0-dev.
  
   Just uploading the file is not good enough since then different 
   server
  machines can do the upload in parallel. Moreover a client 
 machine can 
  fetch the file while a [slow] server machine is currently doing the 
  upload. This leads into a corrupted file.
  
   Thx,
  
   Bernd
  
  
  
-Original Message-
From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 07, 2004 3:47 PM
To: Slide Users Mailing List
Subject: Re: WebDav LOCK and MOVE question
   
What is the WebDAV server you are programming to? Slide? If so, 
just upload the file.
   
Oliver
   
On Tue, 7 Dec 2004 15:11:42 +0100, Bernd Kühl
  [EMAIL PROTECTED]
wrote:
 Hello,

 I want to upload a file to a web server. Several 
 machines maybe 
 try
  in
parallel to upload the same file. Therefore locking is 
 needed to 
allow only one upload. Moreover I have to ensure that no other 
machine
  downloads
the file before the complete upload is done. So the algorithm I 
have
  in
mind goes like this:

 0) Check whether the file already exists on the file 
 server. If 
 yes
  =
done
 1) Lock non existing temporary file.
 2) Upload the bytes to the locked temporary file.
 3) Move the temporary file to the destination name.
 4) Unlock the lock.

 Unfortunately it seems that I'm to dump and/or have not enough
  knowledge
about WebDay and the slide WebDav client library to 
 implement the 
algorithm. Who is able to help me?

 Thx!

 Bernd

 --
 Bernd Wellhöfer VerdiSoft GmbH
 Phone: +49 40 280054-24 Süderstraße 77
 Fax:   +49 40 280054-50 20097 Hamburg
 Email: [EMAIL PROTECTED]Germany

 
 
 
  -
 To unsubscribe, e-mail: 
 [EMAIL PROTECTED]
 For additional commands, e-mail: 
 [EMAIL PROTECTED]


   

 --
---
To unsubscribe, e-mail: 
 [EMAIL PROTECTED]
For additional commands, e-mail: 
 [EMAIL PROTECTED]
  
   
 
   -
   To unsubscribe, 

Idea on final release of Slide 2.1

2004-12-07 Thread Chris O'Connell
Anyone have an idea of when the final release of Slide 2.1 will be available?

Regards,
Chris

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



propfind using webdavclient and mod_dav

2004-12-07 Thread Mirko Froehlich
I ran into a weird issue using the WebDAV client API as well as the
command line tool to access an Apache mod_dav based WebDAV repository.
When I create a WebdavResource for a particular path and enumerate the
child resources using listWebdavResources() or getChildResources(), it
only returns the folder itself, not its children. The command line tool
displays the same behavior.

When I explicitly use a PropfindMethod with a depth of 1, it works fine.
Any ideas?

-Mirko



Slide 2.1rc1 thrid party libraries info

2004-12-07 Thread Gao Jun
Hi,
 
Where could I find detailed version info about all the third party libraries 
which slide 2.1rc1 is depending on? Like jdom, xerces, etc. We need to compare 
those libraries' version info with
those we already have in our application to see whether we should replace them. 
Thanks a lot.
 
regards,
 
Jun


-
Do you Yahoo!?
 Yahoo! Mail - 250MB free storage. Do more. Manage less.

Re: Cluster cache

2004-12-07 Thread James Mason
On Tue, 2004-12-07 at 18:10 -0800, Warwick Burrows wrote:
 Hi James,
  
 I was hoping you could answer some questions about the cluster cache
 design. We would like to go into production with Slide but doing so
 requires the cluster cache implementation -- or no caching at all
 which is not even an option :-)  We need to know the cluster cache
 mechanics so we can cater for them.
  
 - Are the updates (notifications) between servers performed
 synchronously or asynchronously?

They should be asynchronous. Daniel Florey wrote the notification
mechanism, so he can confirm, but I'm pretty sure on this. When a
resource is modified the server sends notifications to all subscribers
that there are events waiting for them. The subscribers (other servers)
then POLL the server and get a list of changed resources. Each
subscriber then removes the resource in the list from their cache.

 - If an update to a server fails will it be retried?

It depends on where the failure is. If a subscriber is unable to POLL a
server, it will retry. In fact, each subscriber periodically POLLs the
server just to be sure it hasn't missed any notifications. The POLL
frequency should be configurable.

  
 Any other design points I should be aware of?

Not that I can think of.

  
 Incidentally I had mentioned that locks could be an issue with the
 cache design in that two lock requests coming in at the same time may
 both return with the lock. It isn't an issue for us though as locking
 is controlled by our DAV applications and the lock information they
 share is stored in a DB. Only one app is guaranteed to get the lock
 and so create a Slide lock. One way to mitigate this problem for other
 clients may be to allow for the lockstore store to be specifically
 configured so that only lock related metadata isn't cached.

ExtendedStore has five (I think) separate caches. You can set the size
of each cache by setting parameters on the store. One of the caches is
for locks. Take a look at the source for ExtendedStore, since I'm not
sure where, if anywhere, the parameters are documented.

-James

  
 Thanks,
 Warwick
  
  


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]