Author: dkatayev
Date: 2010-08-03 04:16:25 -0400 (Tue, 03 Aug 2010)
New Revision: 2857
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/ftp.xml
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/webdav.xml
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_davexplorer.jpg
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_explorer.jpg
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_msoffice2003.jpg
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_ubuntulinux.jpg
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_xythosdrive.jpg
Modified:
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml
Log:
EXOJCR-869 protocols documentation added
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/ftp.xml
===================================================================
---
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/ftp.xml
(rev 0)
+++
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/ftp.xml 2010-08-03
08:16:25 UTC (rev 2857)
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="JCR.FTP">
+ <title>FTP</title>
+
+ <section>
+ <title>Introdution</title>
+
+ <para>The JCR-FTP Server represents the standard eXo service, operates as
+ an FTP server with an access to a content stored in JCR repositories in
+ the form of <emphasis role="bold">nt:file/nt:folder</emphasis>
nodes or
+ their successors. The client of an executed Server can be any FTP client.
+ The FTP server is supported by a standard configuration which can be
+ changed as required.</para>
+ </section>
+
+ <section>
+ <title>Configuration Parameters</title>
+
+ <section>
+ <title>command-port:</title>
+
+ <programlisting><value-param>
+ <name>command-port</name>
+ <value>21</value>
+</value-param></programlisting>
+
+ <para>The value of the command channel port. The value '21' is
+ default.</para>
+
+ <para>When you have already some FTP server installed in your system ,
+ this parameter needs to be changed (2121 for example) to avoid conflicts
+ or if the port is protected.</para>
+ </section>
+
+ <section>
+ <title>data-min-port & data-max-port</title>
+
+ <programlisting><value-param>
+ <name>data-min-port</name>
+ <value>52000</value>
+</value-param></programlisting>
+
+ <programlisting><value-param>
+ <name>data-max-port</name>
+ <value>53000</value>
+</value-param></programlisting>
+
+ <para>These two parameters indicate the minimal and maximal values of
+ the range of ports, used by the server. The usage of the additional data
+ channel is required by the FTP - protocol, which is used to transfer the
+ contents of files and the listing of catalogues. This range of ports
+ should be free from listening by other server-programs.</para>
+ </section>
+
+ <section>
+ <title>system</title>
+
+ <programlisting><value-param>
+ <name>system</name>
+
+ <value>Windows_NT</value>
+ or
+ <value>UNIX Type: L8</value>
+</value-param></programlisting>
+
+ <para>Types of formats of listing of catalogues which are
+ supported.</para>
+ </section>
+
+ <section>
+ <title>client-side-encoding</title>
+
+ <programlisting><value-param>
+ <name>client-side-encoding</name>
+
+ <value>windows-1251</value>
+ or
+ <value>KOI8-R</value>
+
+</value-param></programlisting>
+
+ <para>This parameter specifies the coding which is used for dialogue
+ with the client.</para>
+ </section>
+
+ <section>
+ <title>def-folder-node-type</title>
+
+ <programlisting><value-param>
+ <name>def-folder-node-type</name>
+ <value>nt:folder</value>
+</value-param></programlisting>
+
+ <para>This parameter specifies the type of a node, when an FTP-folder is
+ created.</para>
+ </section>
+
+ <section>
+ <title>def-file-node-type</title>
+
+ <programlisting><value-param>
+ <name>def-file-node-type</name>
+ <value>nt:file</value>
+</value-param></programlisting>
+
+ <para>This parameter specifies the type of a node, when an FTP - file is
+ created.</para>
+ </section>
+
+ <section>
+ <title>def-file-mime-type</title>
+
+ <programlisting><value-param>
+ <name>def-file-mime-type</name>
+ <value>application/zip</value>
+</value-param></programlisting>
+
+ <para>The mime type of a created file is chosen using its file
+ extention. In case a server cannot find the corresponding mime type,
+ this value is used.</para>
+ </section>
+
+ <section>
+ <title>cache-folder-name</title>
+
+ <programlisting><value-param>
+ <name>cache-folder-name</name>
+ <value>../temp/ftp_cache</value>
+</value-param></programlisting>
+
+ <para>The Path of the cache folder.</para>
+ </section>
+
+ <section>
+ <title>upload-speed-limit</title>
+
+ <programlisting><value-param>
+ <name>upload-speed-limit</name>
+ <value>20480</value>
+</value-param></programlisting>
+
+ <para>Restriction of the upload speed. It is measured in bytes.</para>
+ </section>
+
+ <section>
+ <title>download-speed-limit</title>
+
+ <programlisting><value-param>
+ <name>download-speed-limit</name>
+ <value>20480</value>
+</value-param></programlisting>
+
+ <para>Restriction of the download speed. It is measured in
bytes.</para>
+ </section>
+
+ <section>
+ <title>timeout</title>
+
+ <programlisting><value-param>
+ <name>timeout</name>
+ <value>60</value>
+</value-param></programlisting>
+
+ <para>Defines the value of a timeout.</para>
+ </section>
+ </section>
+</chapter>
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/webdav.xml
===================================================================
---
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/webdav.xml
(rev 0)
+++
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr/protocols/webdav.xml 2010-08-03
08:16:25 UTC (rev 2857)
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="JCR.WebDAV">
+ <title>WebDAV</title>
+
+ <section>
+ <title>Related documents</title>
+
+ <para>* Link Producer * Microsoft Office plugin * Open Office Add-On *
+ WebDav Client Libraries</para>
+ </section>
+
+ <section>
+ <title>Introduction</title>
+
+ <para>The WebDAV protocol allows you to use third party tools to
+ communicate with hierarchical content servers via HTTP. It is possible to
+ add and remove documents or a set of documents from a path on the server.
+ DeltaV is an extension of the WebDav protocol that allows to manage
+ document versioning. Locking guarantees protection against multiple access
+ when writing resources. The ordering support allows to change the position
+ of the resource in the list, sorting the directory for the convenience of
+ viewing the directory tree. The full-text search makes it easy to find the
+ necessary documents. You can search using two languages: SQL and XPATH is
+ supported.</para>
+
+ <para>In eXo JCR we plug in the WebDAV layer - based on the code taken
+ from the extension modules of the reference implementation - on top of our
+ JCR implementation so that it is possible to browse a workspace using the
+ third party tools (it can be Windows folders or Mac ones as well as a Java
+ WebDAV client such as DAVExplorer or IE using File->Open as a Web
+ Folder).</para>
+
+ <para>Now WebDav is an extension of the REST service. To get the WebDav
+ server ready you must deploy the REST application. Then you can access any
+ workspace of your repository using the following URL:</para>
+
+ <para>Standalone mode:</para>
+
+ <para><ulink
+
url="http://host:port/rest/jcr/">http://host:port/rest/jcr/</ulink>{RepositoryName}/{WorkspaceName}/{Path}</para>
+
+ <para>Portal mode:</para>
+
+ <para><ulink
+
url="http://host:port/portal/rest/private/jcr/">http://host:port/portal/rest/private/jcr/</ulink>{RepositoryName}/{WorkspaceName}/{Path}</para>
+
+ <para>When accessing the WebDAV server - here URL is <ulink
+
url="http://localhost:8080/rest/jcr/repository/production">http://localhost:8080/rest/jcr/repository/production</ulink>,
+ you might also use "collaboration" (instead of "production")
which is the
+ default workspace in eXo products - the user will be asked to enter his
+ login and password. Those will then be checked using the organization
+ service (that can be implemented thanks to an Inmemory(dummy) module or DB
+ module or LDAP one) and the JCR user session will be created with the
+ correct JCR Credentials.</para>
+
+ <para><emphasis role="bold">NOTE:</emphasis> If you try
the "in ECM"
+ option, add "@ecm" to the user's password. Alternatively, you may
modify
+ jaas.conf adding the <emphasis
role="bold">domain=ecm</emphasis> option
+ like:</para>
+
+ <programlisting>exo-domain {
+ org.exoplatform.services.security.jaas.BasicLoginModule required domain=ecm;
+};</programlisting>
+ </section>
+
+ <section>
+ <title>Configuration</title>
+
+ <programlisting><component>
+
<key>org.exoplatform.services.webdav.WebDavServiceImpl</key>
+
<type>org.exoplatform.services.webdav.WebDavServiceImpl</type>
+ <init-params>
+
+ <!-- this parameter indicates the default login and password values
+ used as credentials for accessing the repository -->
+ <!-- value-param>
+ <name>default-identity</name>
+ <value>admin:admin</value>
+ </value-param -->
+
+ <!-- this is the value of WWW-Authenticate header -->
+ <value-param>
+ <name>auth-header</name>
+ <value>Basic realm="eXo-Platform Webdav Server
1.6.1"</value>
+ </value-param>
+
+ <!-- default node type which is used for the creation of collections
-->
+ <value-param>
+ <name>def-folder-node-type</name>
+ <value>nt:folder</value>
+ </value-param>
+
+ <!-- default node type which is used for the creation of files -->
+ <value-param>
+ <name>def-file-node-type</name>
+ <value>nt:file</value>
+ </value-param>
+
+ <!-- if MimeTypeResolver can't find the required mime type,
+ which conforms with the file extension, and the mimeType header is absent
+ in the HTTP request header, this parameter is used
+ as the default mime type-->
+ <value-param>
+ <name>def-file-mimetype</name>
+ <value>application/octet-stream</value>
+ </value-param>
+
+ <!-- This parameter indicates one of the three cases when you update the
content of the resource by PUT command.
+ In case of "create-version", PUT command creates the new version of
the resource if this resource exists.
+ In case of "replace" - if the resource exists, PUT command updates
the content of the resource and its last modification date.
+ In case of "add", the PUT command tries to create the new resource
with the same name (if the parent node allows same-name siblings).-->
+
+ <value-param>
+ <name>update-policy</name>
+ <value>create-version</value>
+ <!--value>replace</value -->
+ <!-- value>add</value -->
+ </value-param>
+
+ <!--
+ This parameter determines how service responds to a method that attempts to
modify file content.
+ In case of "checkout-checkin" value, when a modification request is
applied to a checked-in version-controlled resource, the request is automatically
preceded by a checkout and followed by a checkin operation.
+ In case of "checkout" value, when a modification request is applied to
a checked-in version-controlled resource, the request is automatically preceded by a
checkout operation.
+ -->
+ <value-param>
+ <name>auto-version</name>
+ <value>checkout-checkin</value>
+ <!--value>checkout</value -->
+ </value-param>
+
+ <!--
+ This parameter is responsible for managing Cache-Control header value which will
be returned to the client.
+ You can use patterns like "text/*", "image/*" or wildcard to
define the type of content.
+ -->
+ <value-param>
+ <name>cache-control</name>
+
<value>text/xml,text/html:max-age=3600;image/png,image/jpg:max-age=1800;*/*:no-cache;</value>
+ </value-param>
+
+ </init-params
+</component></programlisting>
+ </section>
+
+ <section>
+ <title>Screenshots</title>
+
+ <para>For the time being eXo JCR WebDav server was tested using MS
+ Internet Explorer, <ulink
url="http://www.ics.uci.edu/~webdav">Dav
+ Explorer</ulink>, <ulink
+
url="http://www.xythos.com/home/xythos/products/xythos_drive.html&qu...
+ Drive</ulink>, Microsoft Office 2003 (as client), and Ubuntu
Linux.</para>
+
+ <section>
+ <title>MS Internet Explorer</title>
+
+ <para>(File -> Open as Web Folder)</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/protocols/webdav_explorer.jpg" />
+ </imageobject>
+ </mediaobject>
+ </section>
+
+ <section>
+ <title>Dav Explorer</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/protocols/webdav_davexplorer.jpg"
/>
+ </imageobject>
+ </mediaobject>
+ </section>
+
+ <section>
+ <title>Xythos Drive</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/protocols/webdav_xythosdrive.jpg"
/>
+ </imageobject>
+ </mediaobject>
+ </section>
+
+ <section>
+ <title>Microsoft Office 2003</title>
+
+ <para>(as client) (File->Open with typing http://... href in the file
+ name box)</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/protocols/webdav_msoffice2003.jpg"
/>
+ </imageobject>
+ </mediaobject>
+ </section>
+
+ <section>
+ <title>Ubuntu Linux</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/protocols/webdav_ubuntulinux.jpg"
/>
+ </imageobject>
+ </mediaobject>
+ </section>
+ </section>
+
+ <section>
+ <title>Comparison table of WebDav and JCR commands</title>
+
+ <table>
+ <title></title>
+
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>WebDav</entry>
+
+ <entry>JCR</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>COPY</entry>
+
+ <entry>Workspace.copy(...)</entry>
+ </row>
+
+ <row>
+ <entry>DELETE</entry>
+
+ <entry>Node.remove()</entry>
+ </row>
+
+ <row>
+ <entry>GET</entry>
+
+ <entry>Node.getProperty(...); Property.getValue()</entry>
+ </row>
+
+ <row>
+ <entry>HEAD</entry>
+
+ <entry>Node.getProperty(...); Property.getLength()</entry>
+ </row>
+
+ <row>
+ <entry>MKCOL</entry>
+
+ <entry>Node.addNode(...)</entry>
+ </row>
+
+ <row>
+ <entry>MOVE</entry>
+
+ <entry>Session.move(...) or Workspace.move(...)</entry>
+ </row>
+
+ <row>
+ <entry>PROPFIND</entry>
+
+ <entry>Session.getNode(...); Node.getNode(...);
+ Node.getNodes(...); Node.getProperties()</entry>
+ </row>
+
+ <row>
+ <entry>PROPPATCH</entry>
+
+ <entry>Node.setProperty(...);
+ Node.getProperty(...).remove()</entry>
+ </row>
+
+ <row>
+ <entry>PUT</entry>
+
+ <entry>Node.addNode("node","nt:file");
+ Node.setProperty("jcr:data", "data")</entry>
+ </row>
+
+ <row>
+ <entry>CHECKIN</entry>
+
+ <entry>Node.checkin()</entry>
+ </row>
+
+ <row>
+ <entry>CHECKOUT</entry>
+
+ <entry>Node.checkout()</entry>
+ </row>
+
+ <row>
+ <entry>REPORT</entry>
+
+ <entry>Node.getVersionHistory(); VersionHistory.getAllVersions();
+ Version.getProperties()</entry>
+ </row>
+
+ <row>
+ <entry>RESTORE</entry>
+
+ <entry>Node.restore(...)</entry>
+ </row>
+
+ <row>
+ <entry>UNCHECKOUT</entry>
+
+ <entry>Node.restore(...)</entry>
+ </row>
+
+ <row>
+ <entry>VERSION-CONTROL</entry>
+
+ <entry>Node.addMixin("mix:versionable")</entry>
+ </row>
+
+ <row>
+ <entry>LOCK</entry>
+
+ <entry>Node.lock(...)</entry>
+ </row>
+
+ <row>
+ <entry>UNLOCK</entry>
+
+ <entry>Node.unlock()</entry>
+ </row>
+
+ <row>
+ <entry>ORDERPATCH</entry>
+
+ <entry>Node.orderBefore(...)</entry>
+ </row>
+
+ <row>
+ <entry>SEARCH</entry>
+
+ <entry>Workspace.getQueryManager(); QueryManager.createQuery();
+ Query.execute()</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+</chapter>
Modified: jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml
===================================================================
---
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml 2010-08-03
07:16:23 UTC (rev 2856)
+++
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/jcr.xml 2010-08-03
08:16:25 UTC (rev 2857)
@@ -96,7 +96,15 @@
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/searching/searching-repository-content.xml"
-
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <!-- protocols -->
+
+ <xi:include href="jcr/protocols/webdav.xml"
+
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="jcr/protocols/ftp.xml"
+
xmlns:xi="http://www.w3.org/2001/XInclude" />
<!-- other -->
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_davexplorer.jpg
===================================================================
(Binary files differ)
Property changes on:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_davexplorer.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_explorer.jpg
===================================================================
(Binary files differ)
Property changes on:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_explorer.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_msoffice2003.jpg
===================================================================
(Binary files differ)
Property changes on:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_msoffice2003.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_ubuntulinux.jpg
===================================================================
(Binary files differ)
Property changes on:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_ubuntulinux.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_xythosdrive.jpg
===================================================================
(Binary files differ)
Property changes on:
jcr/branches/1.12.x/docs/reference/en/src/main/resources/images/protocols/webdav_xythosdrive.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream