From do-not-reply at jboss.org Wed Feb 15 05:55:05 2012 Content-Type: multipart/mixed; boundary="===============7041399560586073867==" MIME-Version: 1.0 From: do-not-reply at jboss.org To: exo-jcr-commits at lists.jboss.org Subject: [exo-jcr-commits] exo-jcr SVN: r5639 - jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/protocols. Date: Wed, 15 Feb 2012 05:55:04 -0500 Message-ID: <201202151055.q1FAt4Qt008153@svn01.web.mwc.hst.phx2.redhat.com> --===============7041399560586073867== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dkuleshov Date: 2012-02-15 05:55:04 -0500 (Wed, 15 Feb 2012) New Revision: 5639 Modified: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/= modules/jcr/protocols/webdav.xml Log: EXOJCR-1719: added docbook description of 'untrusted-user-agents' initial = parameter Modified: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook= /en-US/modules/jcr/protocols/webdav.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US= /modules/jcr/protocols/webdav.xml 2012-02-15 10:20:35 UTC (rev 5638) +++ jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US= /modules/jcr/protocols/webdav.xml 2012-02-15 10:55:04 UTC (rev 5639) @@ -1,58 +1,79 @@ - - + + + - WebDAV + + + WebDAV +
Related documents + - Link Producer + Link + Producer
+
Introduction + The WebDAV protocol enables you to use the 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 serv= er. DeltaV is an extension of the WebDav protocol that allows managing document versioning. Locking guarantees protection against multiple ac= cess when writing resources. The ordering support allows changing the posit= ion - of the resource in the list and sort the directory to make the direc= tory tree viewed conveniently. The full-text search makes it easy to find = the + of the resource in the list and sort the directory to make the directo= ry + tree viewed conveniently. The full-text search makes it easy to find t= he necessary documents. You can search by using two languages: SQL and XPATH. + In eXo JCR, we plug in the WebDAV layer - based on the code taken from the extension modules of the reference implementation - on the to= p of our JCR implementation so that it is possible to browse a workspace us= ing the third party tools (it can be Windows folders or Mac ones as well a= s a Java WebDAV client, such as DAVExplorer or IE using File->Open as a= Web Folder). + Now WebDav is an extension of the REST service. To get the WebDav server ready, you must deploy the REST application. Then, you can acce= ss any workspaces of your repository by using the following URL: + Standalone mode: + http://host:port/rest/jcr/{RepositoryName}/{WorkspaceName}/= {Path} + Portal mode: + http://host:port/portal/rest/private/jcr/{RepositoryName}/{= WorkspaceName}/{Path} - When accessing the WebDAV server with the URLhttp://localh= ost:8080/rest/jcr/repository/production, you might - also use "collaboration" (instead of "production")= which is the default - workspace in eXo products. You will be asked to enter your login and - password. Those will then be checked by using the organization service - that can be implemented thanks to an InMemory (dummy) module or a DB = module - or an LDAP one and the JCR user session will be created with the corre= ct JCR - Credentials. + + When accessing the WebDAV server with the + URLhttp://localhost:8080/rest/jcr/repository/production, you + might also use "collaboration" (instead of "production") which is the + default workspace in eXo products. You will be asked to enter your log= in + and password. Those will then be checked by using the organization ser= vice + that can be implemented thanks to an InMemory (dummy) module or a DB + module or an LDAP one and the JCR user session will be created with the + correct JCR Credentials. + - If you try the "in ECM" - option, add "@ecm" to the user's password. Alternativel= y, you may modify - jaas.conf by adding the domain=3Decm option - as follows: + If you try the "in ECM" option, add "@ecm" to the user's passw= ord. + Alternatively, you may modify jaas.conf by adding the domain=3Decm option as follows: + exo-domain { org.exoplatform.services.security.jaas.BasicLoginModule required doma= in=3Decm; };
+
Configuration + <component> <key>org.exoplatform.services.webdav.WebDavServiceImpl</key> <type>org.exoplatform.services.webdav.WebDavServiceImpl</type&g= t; @@ -68,7 +89,7 @@ <!-- this is the value of WWW-Authenticate header --> <value-param> <name>auth-header</name> - <value>Basic realm=3D"eXo-Platform Webdav Server 1.6.1&qu= ot;</value> + <value>Basic realm=3D"eXo-Platform Webdav Server 1.6.1"</va= lue> </value-param> = <!-- default node type which is used for the creation of collection= s --> @@ -83,7 +104,7 @@ <value>nt:file</value> </value-param> = - <!-- if MimeTypeResolver can't find the required mime type, = + <!-- if MimeTypeResolver can't find the required mime type, = which conforms with the file extension, and the mimeType header i= s absent in the HTTP request header, this parameter is used = as the default mime type--> @@ -93,9 +114,9 @@ </value-param> = <!-- This parameter indicates one of the three cases when you updat= e the content of the resource by PUT command. - In case of "create-version", PUT command creates the ne= w version of the resource if this resource exists. - In case of "replace" - if the resource exists, PUT comm= and updates the content of the resource and its last modification date. - In case of "add", the PUT command tries to create the n= ew resource with the same name (if the parent node allows same-name sibling= s).--> + 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 update= s the content of the resource and its last modification date. + In case of "add", the PUT command tries to create the new resourc= e with the same name (if the parent node allows same-name siblings).--> = <value-param> <name>update-policy</name> @@ -106,8 +127,8 @@ = <!-- This parameter determines how service responds to a method that at= tempts to modify file content. - In case of "checkout-checkin" value, when a modification= request is applied to a checked-in version-controlled resource, the reques= t is automatically preceded by a checkout and followed by a checkin operati= on. - In case of "checkout" value, when a modification request= is applied to a checked-in version-controlled resource, the request is aut= omatically preceded by a checkout operation. + In case of "checkout-checkin" value, when a modification request i= s applied to a checked-in version-controlled resource, the request is autom= atically preceded by a checkout and followed by a checkin operation. + In case of "checkout" value, when a modification request is applie= d to a checked-in version-controlled resource, the request is automatically= preceded by a checkout operation. --> = <value-param> <name>auto-version</name> @@ -117,7 +138,7 @@ = <!-- This parameter is responsible for managing Cache-Control header va= lue which will be returned to the client. - You can use patterns like "text/*", "image/*" = or wildcard to define the type of content. + You can use patterns like "text/*", "image/*" or wildcard to defin= e the type of content. --> = <value-param> <name>cache-control</name> @@ -133,209 +154,313 @@ <value>/absolute/path/to/file</value> </value-param> = - </init-params + <!-- = + This parameter is responsible for untrusted user agents definition. + Content-type headers of listed here user agents should be + ignored and MimeTypeResolver should be explicitly used instead = + --> + <values-param> + <name>untrusted-user-agents</name> + <value>Microsoft Office Core Storage Infrastructure/1.0</va= lue> + </values-param> + + </init-params> </component>
+
Screenshots - At present, eXo JCR WebDav server is tested by using MS Internet - Explorer, Dav Explorer, Xythos Drive, Microsoft Office 2003 (as client), and Ubunt= u Linux. + + At present, eXo JCR WebDav server is tested by using MS Internet + Explorer, Dav + Explorer, X= ythos + Drive, Microsoft Office 2003 (as client), and Ubuntu Linux. +
MS Internet Explorer + (File -> Open as Web Folder) + - +
+
Dav Explorer + - +
+
Xythos Drive + - +
+
Microsoft Office 2003 + (as client) (File->Open with typing http://... href in the = file name box) + - +
+
Ubuntu Linux + - +
+
Comparison table of WebDav and JCR commands + - + <title> + WebDav + JCR + COPY + Workspace.copy(...) + DELETE + Node.remove() + GET + Node.getProperty(...); Property.getValue() + HEAD + Node.getProperty(...); Property.getLength() + MKCOL + Node.addNode(...) + MOVE + Session.move(...) or Workspace.move(...) + PROPFIND - Session.getNode(...); Node.getNode(...); Node.getNodes(= ...); Node.getProperties() + + Session.getNode(...); Node.getNode(...); + Node.getNodes(...); Node.getProperties() + PROPPATCH - Node.setProperty(...); Node.getProperty(...).remove() + + Node.setProperty(...); + Node.getProperty(...).remove() + PUT - Node.addNode("node","nt:file"); Nod= e.setProperty("jcr:data", "data") + + Node.addNode("node","nt:file"); + Node.setProperty("jcr:data", "data") + CHECKIN + Node.checkin() + CHECKOUT + Node.checkout() + REPORT - Node.getVersionHistory(); VersionHistory.getAllVersions= (); Version.getProperties() + + Node.getVersionHistory(); VersionHistory.getAllVersions= (); + Version.getProperties() + RESTORE + Node.restore(...) + UNCHECKOUT + Node.restore(...) + VERSION-CONTROL - Node.addMixin("mix:versionable") + + Node.addMixin("mix:versionable") + LOCK + Node.lock(...) + UNLOCK + Node.unlock() + ORDERPATCH + Node.orderBefore(...) + SEARCH - Workspace.getQueryManager(); QueryManager.createQuery()= ; Query.execute() + + Workspace.getQueryManager(); QueryManager.createQuery(); + Query.execute()
+
Restrictions + There are some restrictions for WebDAV in different Operating systems. +
Windows 7 + When you try to set up a web folder by =E2=80=9Cadding a netwo= rk location=E2=80=9D or =E2=80=9Cmap a network drive=E2=80=9D through My Computer, you ca= n get an error - message saying that either =E2=80=9CThe folder you entered does not = appear to be valid. - Please choose another=E2=80=9D or =E2=80=9CWindows cannot access=E2= =80=A6 Check the spelling of - the name. Otherwise, there might be=E2=80=A6=E2=80=9D. These errors = may appear when you are - using SSL or non-SSL. - To fix this, do as follows: + message saying that either =E2=80=9CThe folder you entered does not = appear to be + valid. Please choose another=E2=80=9D or =E2=80=9CWindows cannot acc= ess=E2=80=A6 Check the + spelling of the name. Otherwise, there might be=E2=80=A6=E2=80=9D. T= hese errors may + appear when you are using SSL or non-SSL. + + To fix this, do as follows: + Go to Windows Registry Editor. + Find a key: \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\services\WebClient\= Parameters\BasicAuthLevel . + Change the value to 2.
-
+ +
Microsoft Office 2010 - If you have Microsoft Office 2010 applications or Microsoft Of= fice 2007 applications installed on a client computer. From that client com= puter, you try to access an Office file that is stored on a web server that= is configured for Basic authentication. The connection between your comput= er and the web server does not use Secure Sockets Layer (SSL). When you try= to open or to download the file, you experience the following symptoms: - + + If you have Microsoft Office 2010 applications or Microsoft Of= fice + 2007 applications installed on a client computer. From that client + computer, you try to access an Office file that is stored on a web + server that is configured for Basic authentication. The connection + between your computer and the web server does not use Secure Sockets + Layer (SSL). When you try to open or to download the file, you + experience the following symptoms: The Office file does not open or download. - = + + - You do not receive a Basic authentication password promp= t when you try to open or to download the file. + You do not receive a Basic authentication password prompt + when you try to open or to download the file. + - You do not receive an error message when you try to open= the file. The associated Office application starts. However, the selected = file does not open. + You do not receive an error message when you try to open= the + file. The associated Office application starts. However, the + selected file does not open. - - - To enable Basic authentication on the client computer, follow = these steps: + + + To enable Basic authentication on the client computer, follow + these steps: + - Click Start, type regedit in the Start Search box, and the= n press Enter. + Click Start, type regedit in the Start Search box, and then + press Enter. + - Locate and then click the following registry subkey: + Locate and then click the following registry subkey: + HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\In= ternet + - On the Edit menu, point to New, and then click DWORD Value= . + On the Edit menu, point to New, and then click DWORD + Value. + Type BasicAuthLevel, and then press Enter. + Right-click BasicAuthLevel, and then click Modify. + In the Value data box, type 2, and then click OK. --===============7041399560586073867==--