cancel
Showing results for 
Search instead for 
Did you mean: 

Can't update doc via WebDav

jones
Champ in-the-making
Champ in-the-making
Hi, I'm using the 1.4 community edition from http://sourceforge.net/project/showfiles.php?group_id=143373&package_id=157460&release_id=434594 (because I wanted to check out some CIFS stuff) on Windows 2000 for the server and MS Office 2003 on XP for the client.

I can create documents in Alfresco via webdav and MS Word just fine. If I'm within the same session, I can even update the document (re-save).  However, after closing the document, then re-opening it, any attempts to save changes just gives me this error is Word, "Word did not save the document.".

Note, that after closing the document, the Alfresco web client indicates that it is not locked anymore.  Then, after opening it in Word, it shows the file as locked.  This is the behavior I would expect to see.  So it appears that that part is working.

I turned on webdav protocol logging and the results are below.  Any ideas?

Thanks.



01:32:37,106 INFO  [admin.patch.PatchExecuter] Checking for patches to apply …
01:32:37,196 INFO  [admin.patch.PatchExecuter] No patches were required.
01:32:37,626 INFO  [service.descriptor.DescriptorService] Alfresco JVM - v1.5.0_06-b05; maximum heap size 63.563MB
01:32:37,626 WARN  [service.descriptor.DescriptorService] Alfresco JVM - WARNING - maximum heap size 63.563MB is less than recommended 512MB
01:32:37,626 INFO  [service.descriptor.DescriptorService] Alfresco started (Community Network): Current version 1.4.Dev (Build54) schema 14 - Installed version 1.4.Dev (Build54) schema 14
01:33:51,883 DEBUG [alfresco.webdav.protocol] WebDAV request PROPFIND on path /alfresco/webdav/Dev%20Team/
01:33:52,524 DEBUG [alfresco.webdav.protocol] PROPFIND took 641ms to execute
01:33:53,005 DEBUG [alfresco.webdav.protocol] WebDAV request PROPFIND on path /alfresco/webdav/Dev%20Team
01:33:53,425 DEBUG [alfresco.webdav.protocol] PROPFIND took 420ms to execute
01:33:54,968 DEBUG [alfresco.webdav.protocol] WebDAV request LOCK on path /alfresco/webdav/Dev%20Team/Alfresco%20WebDav%20Setup.doc
01:33:54,978 DEBUG [alfresco.webdav.protocol] Parsing If header: null
01:33:54,978 DEBUG [alfresco.webdav.protocol] Lock lockToken=null, timeout=180
01:33:54,978 DEBUG [alfresco.webdav.protocol] Locking node:
   user: jones
   path: /Dev Team/Alfresco WebDav Setup.doc
01:33:55,068 DEBUG [alfresco.webdav.protocol] Create lock status=NO_LOCK
01:33:57,531 DEBUG [alfresco.webdav.protocol] LOCK took 2563ms to execute
01:33:58,543 DEBUG [alfresco.webdav.protocol] WebDAV request GET on path /alfresco/webdav/Dev%20Team/Alfresco%20WebDav%20Setup.doc
01:33:58,713 DEBUG [alfresco.webdav.protocol] GET took 170ms to execute
01:35:23,275 DEBUG [alfresco.webdav.protocol] WebDAV request PUT on path /alfresco/webdav/Dev%20Team/Alfresco%20WebDav%20Setup.doc
01:35:23,275 DEBUG [alfresco.webdav.protocol] Parsing If header: (<opaquelocktoken:9f33f5ee-26aa-11db-88c1-6120fed35813:jones>)
01:35:24,817 ERROR [util.transaction.SpringAwareUserTransaction] Transaction didn't commit
org.springframework.transaction.UnexpectedRollbackException: Transaction has been rolled back because it has been marked as rollback-only
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:465)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(TransactionAspectSupport.java:266)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
   at $Proxy18.executeAction(Unknown Source)
   at org.alfresco.repo.rule.RuleServiceImpl.executePendingRule(RuleServiceImpl.java:791)
   at org.alfresco.repo.rule.RuleServiceImpl.executePendingRulesImpl(RuleServiceImpl.java:750)
   at org.alfresco.repo.rule.RuleServiceImpl.executePendingRules(RuleServiceImpl.java:714)
   at org.alfresco.repo.rule.RuleTransactionListener.beforeCommit(RuleTransactionListener.java:61)
   at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:585)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:657)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:482)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:469)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(TransactionAspectSupport.java:266)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:397)
   at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(TransactionUtil.java:178)
   at org.alfresco.repo.transaction.TransactionUtil.executeInUserTransaction(TransactionUtil.java:74)
   at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:131)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
   at java.lang.Thread.run(Unknown Source)
01:35:24,827 ERROR [alfresco.webdav.protocol] Internal Server Error:
org.alfresco.error.AlfrescoRuntimeException: Unexpected rollback of exception:
Transaction didn't commit: Transaction has been rolled back because it has been marked as rollback-only
   at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(TransactionUtil.java:184)
   at org.alfresco.repo.transaction.TransactionUtil.executeInUserTransaction(TransactionUtil.java:74)
   at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:131)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:186)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
   at java.lang.Thread.run(Unknown Source)
Caused by: javax.transaction.RollbackException: Transaction didn't commit: Transaction has been rolled back because it has been marked as rollback-only
   at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:404)
   at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(TransactionUtil.java:178)
   … 20 more
01:35:24,827 DEBUG [alfresco.webdav.protocol] PUT took 1552ms to execute
01:35:26,569 DEBUG [alfresco.webdav.protocol] WebDAV request PROPFIND on path /alfresco/webdav/Dev%20Team
01:35:26,689 DEBUG [alfresco.webdav.protocol] PROPFIND took 120ms to execute
01:35:27,110 DEBUG [alfresco.webdav.protocol] WebDAV request PROPFIND on path /alfresco/webdav/Dev%20Team
01:35:27,240 DEBUG [alfresco.webdav.protocol] PROPFIND took 130ms to execute
9 REPLIES 9

jones
Champ in-the-making
Champ in-the-making
This is completely preventing me from using Alfresco.  Surely I can't be the only one using webdav with MS Word!?  Could someone at least tell me if they're able to update an document in Word using webdav?  Or am I going about it all wrong (I just open the web folder, select the document, open, edit, save)?

Should I try going back to 1.3.1?

Any comments on your experience on doing something similar, positive or negative, would help a lot.

Thanks

kevinr
Star Contributor
Star Contributor
Hi,

I've have tried this on my dev box (latest 1.4 codeline - but i don't think any webdav stuff has changed for a while - certainly not since the ODF release…?) and it works ok for me. I am using Windows XP on the laptop, open the folder as a WebFolder in IE, Edit the doc in Word - then I can edit/save/edit/save/close/edit/save etc. with no problems.

Do you have any rules executing on the folder that the document is in? I'm wondering as the rather cryptic exception may indicate that there is something else going on behind the scenes?

Thanks,

Kevin

jones
Champ in-the-making
Champ in-the-making
Thanks Kevin, you hit the nail on the head.  I had added a rule targeted specifically at the update of Word docs.  I don't know why I didnt' think of that!

Here's the rule:

Rule Type:   update
Name:   Transform Updated Word Docs
Description:   
Apply rule to sub spaces:   Yes
Run rule in background:   No
Conditions:   Name property matches '*.doc'
Actions:   Copies content to 'Test Group' and transforms to 'HTML'


Do you see anything wrong with that?  I'm just checking out Alfresco and in general, I'd like authors to create/manage their docs using MS Office, and have the online users read the docs in HTML.  Does this sound reasonable?  So this rule was supposed to convert a word doc to html every time a change was made.

kevinr
Star Contributor
Star Contributor
Hi,

OK i've spent some time investigating this - I've setup a rule as you describe and edited Word docs in webdav. With the latest code, I am seeing the HTML transformation of the doc correctly generated and overwritten when I save.

Can you try something for me to test it? If you open up the webclient to view the 'Test Group' folder at the same time you are saving from Word, then delete the resulting .html version between each saves and see if it lets you save a second time (i.e. when there is no .html present as you have deleted it). Does this work?

Do you have any further rules running on the 'Test Group' folder? Do you have the appropriate permissions on that folder? Is it the same user who created the initial document that is editing it on the second occasion? As currently having tried your setup I can't reproduce the problem.

Thanks,

Kevin

kevinr
Star Contributor
Star Contributor
…also i noticed this:

01:32:37,626 WARN  [service.descriptor.DescriptorService] Alfresco JVM - WARNING - maximum heap size 63.563MB is less than recommended 512MB

I suggest you give your JVM more memory using the -Xmx512m java cmd option or similar.

Thanks,

Kevin

jones
Champ in-the-making
Champ in-the-making
Hi Kevin,
I'm really sorry I haven't got back to you yet.  I had a major fire drill over here that lasted several days   :shock:
I can tell you that no HTML docs were ever created.  So if I understand your request correctly, then I can't really try out what you suggest.
I created only a single rule and it was only for update (so no, there are no other rules).  So it appears that maybe the problem stems from the actual initial attempt at creating the HTML doc.
I will also adjust the memory settings as you suggest tomorrow to see if that helps.

jones
Champ in-the-making
Champ in-the-making
Ok, I did some more testing and I updated the heap size.  Basically the problem seems to happen be with any transformation rule (I've only tried transformation rules).  I tried transforming to HTML, PDF using inbound or update events.  Any time I apply one of these rules, the save will fail on the event that the transform rule is associated with.  I have OpenOffice 2.03.

So in other words, it seems like it fails whenever it attempts to transform a document.  Any ideas on what would cause this?

Thanks

jones
Champ in-the-making
Champ in-the-making
Any tips on how to troubleshoot this?  Additional logging to turn on, etc.?  Or should I just give up on Alfresco?

kevinr
Star Contributor
Star Contributor
You may need to downgrade OpenOffice:
http://forums.alfresco.com/viewtopic.php?p=4994#4994