Follow these steps:
(Installation instructions verified Jan 3 2006)
All the shapeCMS pipelines are in the hemsidesitemap.xmap. You can take the pipelines you need from there, or you can mount it from your sitemap.xmap:
(for instance, replacing)
First, replace the <map:match pattern=""> section with:
<!-- welcome page -->
<map:match pattern="">
<map:mount check-reload="yes" src="hemsidesitemap.xmap" uri-prefix="{uri-prefix}"/>
</map:match>
And
<!--+
| Mount everything else by calling the sitemap.xmap file located
| in the requested folder.
+-->
<map:match pattern="*/**">
<map:mount check-reload="yes" src="{1}/" uri-prefix="{1}"/>
</map:match>
With:
<!--+
| Mount shapeCMS
+-->
<map:match pattern="**">
<map:mount check-reload="yes" src="hemsidesitemap.xmap"uri-prefix="{uri-prefix}"/>
</map:match> <map:match pattern="">
<map:mount check-reload="yes" src="hemsidesitemap.xmap"uri-prefix="{uri-prefix}"/>
</map:match>
Remove this mount statement:
<!--+
| Mount everything else by calling the sitemap.xmap file located
| in the requested folder.
+-->
<map:match pattern="*/**">
<map:mount check-reload="yes" src="{1}/" uri-prefix="{1}"/>
</map:match>
If you want to still be able to reach the Cocoon samples, then also add the following, before mounting shapeCMS:
<map:match pattern="samples/**">
<map:mount check-reload="yes" src="samples/" uri-prefix="samples"/>
</map:match>
You also might want to add some eXist configuration items, from the eXist sitemap:
Xquerygenerator, status generator and cluster topology generator
<!--#######################################################-->
<!-- Xquery generator for eXist -->
<!--#######################################################-->
<map:generator label="content" name="xquery" src="org.exist.cocoon.XQueryGenerator"/>
<!--#######################################################-->
<!-- Status generator for eXist -->
<!--#######################################################-->
<map:generator label="content,data" name="exist-status" src="org.exist.cocoon.StatusGenerator"/>
<!--#######################################################-->
<!-- Cluster topology generator for eXist -->
<!--#######################################################-->
<map:generator label="content,data" name="exist-cluster" src="org.exist.cluster.cocoon.ClusterGenerator"/>
<map:generator label="content,data" name="cluster-info" src="org.exist.cluster.cocoon.ClusterInfoGenerator"/>
</map:generators>
XMLdbTransformer
<!--#######################################################-->
<!-- eXist's XMLDBTransformer -->
<!--#######################################################-->
<map:transformer name="xmldb" src="org.exist.cocoon.XMLDBTransformer"/>
</map:transformers>
XMLDBSessionLoginAction
<!--#######################################################-->
<!-- Register eXist's XMLDBSessionLoginAction -->
<!--#######################################################-->
<map:action logger="sitemap.action.xmldb.login" name="xmldb-login" src="org.exist.cocoon.XMLDBSessionLoginAction"/>
<map:action logger="sitemap.action.xmldb.shutdown" name="xmldb-shutdown"
src="org.exist.cocoon.ShutdownAction"/>
</map:actions>
To get eXist webDav running, go to WEB-INF/web.xml
(This follows the instructions from http://wiki.exist-db.org/space/MinimalWebapp and http://wiki.exist-db.org/space/CocoonInstall. You have to install eXist first, using the instructions there)
Delete
<!-- Definition and configuration of Slide's WebDAV servlet. -->
<servlet>
…
</servlet>
Also delete
<!-- Mapping of Slide's WebDAV servlet. -->
<servlet-mapping>
<servlet-name>webdav</servlet-name>
<url-pattern>/webdav/*</url-pattern>
</servlet-mapping>
To enable eXist for XSP, and thereby get file uploads, you have to make sure that WEB-INF/cocoon.xconf contains the exist logicsheet:
After:
<!--+
| Properties for the java language
+-->
<target-language name="java">
<!-- Defines the XSP Core logicsheet for the Java language -->
<parameter name="core-logicsheet"
value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/>
You should have:
<!--..... Start configuration from 'exist-logicsheet' -->
<builtin-logicsheet>
<parameter name="prefix" value="xmldb"/>
<parameter name="uri" value="http://exist-db.org/xmldb/1.0"/>
<parameter name="href" value="resource://org/exist/xmldb.xsl"/>
</builtin-logicsheet>
<!--..... End configuration from 'exist-logicsheet' -->