To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=29152





------- Additional comments from [EMAIL PROTECTED] Tue Jan 22 11:18:57 +0000 
2008 -------
kso: Thank you for looking at this!  Yes, I plan to separate the patch a bit 
so that it's easier to understand.  But at least few answers now ;-)

Generally, most of what the patch does is that it adds support for 
XActiveDataStreamer sinks, because that is the only way [I found ;-)] to be 
able to have the document open for all the time the user edits it - which is 
needed to be able to unlock the file after closing.  The rest of the changes 
more or less depends on it - eg. the extension of the NeonInputStream to 
XStream (XActiveDataStreamer needs to get a full XStream).

Another thing that needs comments is the "SupportsActiveStreaming" property.  
I've implemented it in another patch in ooo-build 
(http://svn.gnome.org/viewvc/ooo-build/trunk/patches/src680/sfx2-gnome-vfs-lock.diff,
 
http://svn.gnome.org/viewvc/ooo-build/trunk/patches/src680/sfx2-gnome-vfs-lock-fix-xls.diff
 
- I hope I did not forget other cases), because the code in sfx2 treats local 
files differently from others (even though everything should be provided by 
UCB), and for the XActiveDataStreamer to work in all the cases, this had to be 
extended.

To answer your questions:

Yes, the locking is implicit (similarly to the locking of files), if the 
document is locked on the server, it is opened read-only locally.  The check 
for being locked needs a bit of an improvement, the response of the DAV server 
has to be checked if it is really 'document locked' error.

comphelper::getProcessServiceFactory() is a crude hack, and I'm aware of that, 
but unfortunately it is impossible to avoid without even more growing the size 
of the patch :-(  The reason is that ucbhelper::IsDocument() creates no 
interaction environment, but DAVAuthListener_Impl::authenticate() needs that 
to be able to provide the authentication dialog or information.  When I added 
the creation of the interaction environment directly to 
ucbhelper::IsDocument(), I started getting error dialog boxes on OOo startup 
(harmless, but irritating).  The other occurrence is in the stream destructor 
- again no idea how better to pass the service factory there :-(  Already in 
the constructor? - ideas appreciated.

XStream is needed for the XActiveDataStreamer as described above, the write 
when/if the NeonInputStream is dirty is still a TODO (but it seems not to be a 
problem for now).

Please correct me if my assumptions above are wrong :-)  Thank you!

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
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]

Reply via email to