%%(background-color:#FFCCCC;padding:0em 1em;margin:0px;)
!!Cocoon/RSF Integration - WARNING: NOT maintained
%%

[[ __Browse all RSF [Integrations]__ ]

Integration of [Cocoon|http://cocoon.apache.org] and RSF has so far only been attempted in pilot form and is not currently maintained or supported due to lack of developer resources - feel free to volunteer! The integration library code is available in [SVN|https://saffron.caret.cam.ac.uk/svn/projects/CocoonRSF/], but it has not been thoroughly tested - use at your own risk. It was originally intended to support RSF 0.6.3 and Cocoon 2.1.7.

The integration support is provided by a Cocoon serializer, [IKAT Serializer] which invokes the RSF renderer, IKAT.

Below is some __provisional documentation__.

----

!Dependencies

__External - required by RSF Core__
* spring-1.2.6.jar
* concurrent-1.3.4.jar
* cglib-nodep-2.1_3.jar
* aopalliance-1.0.jar
* xpp3-1.1.3.4-RC8_min.jar

__RSF Core__
* j-servletutil-1.1.3.jar
* ponderutilcore-1.1.3jar
* rsfutil-0.6.3.jar

__Cocoon / RSF Integration library__
* cocoonrsf-0.6.3-cocoon_2.1.7.jar

!Configuration

{{log4j.properties}}

{{web.xml additions:}}
{{{
  <!-- Context Configuration ========================================== -->

  <!-- Configure standard Spring application contexts. Be sure to mention
    rsf config files first, so any overrides may be processed. The first two
    config files are loaded from inside the rsfutil.jar  -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      classpath:conf/rsf-config.xml,
      classpath:conf/blank-applicationContext.xml,
      classpath:conf/cocoonrsf-applicationContext.xml
      /WEB-INF/applicationContext.xml</param-value>
  </context-param>
  <!-- Configure "resource scope" Spring application contexts (RSAC).
     Be sure to mention rsf config files first, so any overrides may be
    processed -->
  <context-param>
    <param-name>requestContextConfigLocation</param-name>
    <param-value>classpath:conf/rsf-requestscope-config.xml,
                  classpath:conf/blank-requestContext.xml,
                 classpath:conf/cocoonrsf-requestContext.xml</param-value>
  </context-param>

  <!-- ===== Listeners ====== -->

  <!--
  The listener used to load the parent application context (the spring beans).
  -->
  <listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
}}}

{{sitemap.xmap additions:}}
{{{
    <map:serializer logger="sitemap.serializer.xml" mime-type="text/html" name="ikat"
      src="uk.ac.cam.caret.cocoon.rsf.IKATSerializer"/>
}}}

{{WEB-INF/applicationContext.xml}} - new file, referenced by {{web.xml}} above
{{{
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
  <bean id="staticBaseURLProvider" class="uk.org.ponder.rsf.viewstate.StaticBaseURLProvider">
    <!-- CONFIG The URL under which RSF-rendered pages served directly 
      will be made visible -->
    <property name="baseURL">
      <value>http://myhostname.org/content/</value>
    </property>
    <!-- CONFIG The URL under which static resources will be made visible -->
    <property name="resourceBaseURL">
      <value>http://myhostname.org/resources/</value>
    </property>
  </bean>
</beans>
}}}

!Usage

Integration support is via an [IKAT Serializer] - see [IKAT Serializer] page for usage notes.