DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=39051>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=39051 Summary: WebDAV Prototype Product: Lenya Version: 1.4 Platform: Other OS/Version: other Status: NEW Severity: enhancement Priority: P2 Component: Miscellaneous AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] The following patch contains a WebDAV prototype done in January 2005, but not finished yet because of lack of time. I want to contribute it to the lenya community as there seems to be some effort to bring WebDAV integration a step ahead. The following modifications/enhancements are included: - Replacement method for isCheckedOutByUser() with a more meaningful method which returns the user name who checked out the document or null if the document is not checked out at the moment. Redefinition in src/java/org/apache/lenya/cms/repository/Node.java Unfortunately, it was not possible to reconcile my implementation with the current head revision (LCR 387571) because there is a class implementing this interface, org.apache.lenya.cms.repo.adapter.RepoNode, which does not have a getter method for the RevisionController to get the identity of the user who checked out the document. - Refactoring of the method getMimeType() in src/java/org/apache/lenya/cms/repository/SourceNode.java. The mimetype of a document is saved in Dublin-Core format field. Every document should have its mime-type defined in this (mandatory) field as it is used to determine the document's extension (needed for proper WebDAV handling; uses the newly added class src/java/org/apache/lenya/util/MimeTypeHelper.java for mapping mime-types to extensions). - Refactoring of src/java/org/apache/lenya/cms/cocoon/components/modules/input/CustomMetaDataModule.java Uses a different call syntax, defined as follows: {custom-metadata:{attribute-name}:{publication-id}:{area}:{document-language}:{document-id}} - Refactoring of getExtension() method of src/java/org/apache/lenya/cms/publication/DefaultDocument.java Uses the MimeTypeHelper class to deduce the extension from the document's mime-type. Used for WebDAV file names. - Refactoring of resource-type modules' sitemaps. Uses a new call syntax defined as follows: /format:{publication-id}:{area}:{docid}:{doc-lang}:{format}:{rendertype} whereas format may be xhtml, text, webdav, etc. This is an nice solution to get documents in different formats independent of the current publication. The WebDAV prototype makes use of this. - WebDAV Prototype in module webdav2. Implements a WebDAVPropfindGenerator to return results on a PROPFIND request. The generator is implemented in pure Java as opposed to the existing solution based on jxtemplates. The generator is feature complete according to the WebDAV standard (e.g. considering depth header, etc.), there might be a need to implement some additional legacy properties (e.g. for OpenOffice, Konqueror, etc.) for documents. As of the time of writing the code the get request worked for all existing example docment types as well as for the resource types. There are two matchers, one for documents and one for resources. The URL space is handled differently from how it is done in the existing WebDAV implementation. Each document is a collection containing the content and its resources. WebDAVRequest parses a WebDAV request (currently PROPFIND requests only) and dispatches the request to the right instance. To access the webdav2 prototype, use webdav2 instead of webdav in the Lenya WebDAV URL. - All document's meta files are enriched with the documents mime-type (mandatory field). The WebDAV prototype is based on Doug Chestnut's WebDAV implementation and I wish to thank him for his great effort. I will not commit the prototype into the repository but rather submit a patch for the ones who are interested in this topic. If there are any questions, I'm happy to answer them. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
