cocoon-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@cocoon.apache.org
Subject [Cocoon Wiki] New: ReadWriteToSVN
Date Mon, 07 Feb 2005 19:45:15 GMT
   Date: 2005-02-07T11:45:15
   Editor: JeremyQuinn
   Wiki: Cocoon Wiki
   Page: ReadWriteToSVN
   URL: http://wiki.apache.org/cocoon/ReadWriteToSVN

   added first version

New Page:

= Reading and writing to SVN using SSL. =

This is how to set up your system so that you can read content directly from a Subversion
repository, retrieving the latest version and also write to the repository, updating the current
version, using a Cocoon Source.

We needed to take the following steps with Cocoon 2.1.7-dev to make all of this work (not
tested in the 2.1.6 release).

== Install the CA cert in the JVM ==

If you are using a self-signed certificate, you first you need to install your Certificate
Authority certificate into the JVM of the machine running Cocoon.

For this sample, I used the same .pem file that was installed in /etc/ssl/cacert.pem in our
installation. Your certificate may have a different name and location.

{{{
 $sudo keytool -import -trustcacerts -alias "Our CA" -file cacert.pem \
    -keystore $JAVA_HOME/lib/security/cacerts -storepass **********
}}}

'''NB'''. depending on your system, your keystores may be at a different location. This works
with MacOSX.

'''NB'''. Theoretically, we only needed to perform this step because we were using a self-signed
certificate.

More information about self-signed certificates can be found [http://www.mail-archive.com/dev@cocoon.apache.org/msg19108.html
here]

== Turn on auto versioning in httpd ==

Auto versioning needs to be turned on if you want to use a Cocoon Source to write changes
back to the repository, for example, if you were implementing an online editor.

Add the following instruction to the appropriate place in your Apache httpd.conf file:
{{{
  SVNAutoversioning on
}}}

== Revert Slide Libs ==

There are currently bugs in the Slide WebDAV jar that are distributed with Cocoon (as of 7th
Feb 2005).

We needed to replace WEB-INF/lib/jakarta-slide-webdavlib-2.1.jar with WEB-INF/lib/jakarta-slide-webdavlib-2.1M1.jar.

== Define webdavs:// source ==

You will be using an extension of the webdav:// pseudo protocol, wabdavs://, for accessing
the secured Subversion repository, this needs to be configured in cocoon.xconf.

Add the following to your cocoon.xconf, a good place is right after the existing definition
of the webdav:// source.

{{{
  <component-instance class="org.apache.cocoon.components.source.impl.WebDAVSourceFactory"
name="webdavs">
    <parameter name="secure" value="true"/>
  </component-instance>
}}}

== Use webdavs source ==

Now you are in a position to access content from the Subversion repository.

To generate content from a resource in the repository, I used a pipeline like this:

{{{
  <map:generate src="webdavs://svn.mydomain.org/myrepository/myfile.xml" />
}}}

I could also generate a collection listing from the repository, using one of the traversable
generators like this:

{{{
  <map:generate src="webdavs://svn.mydomain.org/myrepository/" type="traversable">
    <map:parameter name="depth" value="1"/>
  </map:generate>
}}}

The exact parameters depend on which traversable generator you are using.

We were able to write updated content to the repository by using typical techniques in Flow
Script ..... resolving the source, and streaming a DOM to it the same that you would use to
write to any modifiable source.

Many thanks for all of those people who gave us the advise we needed to get all of this working
!!!

Mime
View raw message