Added by Bartosz Oudekerk, last edited by Bartosz Oudekerk on Apr 04, 2008  (view change)

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

These instructions have only been tested with the following application containers:
JBoss 4.0.5GA
JBoss 4.2.1GA
BEA WebLogic 9.2
BEA WebLogic 10

Index

Assumptions

All the provided examples and configurations assume the following JNDI resources have been configured in the application container.

Hippo Repository:
jdbc/repositoryDataSource (slide db)
x.ctp (JMS cluster topic [optional])

Hippo CMS:
jdbc/ProjectData (workflow & quartz db)

Both:
x.tpc (JMS topic)
x.tcf (JMS topic factory)

All databases are assumed to be on MySQL.

A sample jboss-web.xml & weblogic.xml are included with both the CMS & the repository.

Building the Hippo Repository

Obtain the Hippo Repository from the public SVN repository.

Add the following to your build.properties file:

maven.war.src=${basedir}/J2EE-template

This template is only available in since 1.2.14, but should work with earlier versions if you update the jmsbridge jar to 1.01.04.

The war can then be built with:

maven war

Building the Hippo CMS

Deployment on J2EE Application Containers requires the use of Hippo CMS version 6.05.03, 6.06.00, or higher.

Since both have not yet been released, currently either the 6.05.xx branch or the trunk will have to be used.

Obtain Hippo CMS from the public SVN repository.

The additional build.properties you will need to use are:

maven.cocoon.repository.host=localhost
#maven.cocoon.repository.port=7001
maven.cocoon.repository.port=8080
maven.cocoon.site.domain=localhost

maven.cocoon.hsqldb.use=false

cms.datasource.workflow.jndi=jdbc/ProjectData
cms.datasource.workflow.reference=jdbc/ProjectData

maven.cocoon.servermanager.configuration=example_project
maven.cocoon.servermanager.configuration.dir=${basedir}/templates/example_project_mysql_J2EE
maven.cocoon.servermanager.configurationlocation=context://WEB-INF/configuration
maven.cocoon.servermanager.worklocation=context://WEB-INF/smwork

maven.cocoon.site.directory=sites/hippo-cms/

jms.jndi.initial.factory=nl.hippo.jmsbridge.BridgeContextFactory
jms.jndi.secondary.factory=-
jms.connection.factory.jndi=x.tcf
jms.connection.factory=jms/repositoryTCF
jms.topic.jndi=x.tpc
jms.topic=jms/repositoryTopic

The war can then be build with:

maven -deditor cocoon:war

Adapting your application container

WebLogic

The wars will need to be exploded when deploying on WebLogic, see the Known Issues.

WebLogic 10

Add xercesImpl-2.9.0.jar to the lib directory of your domain.

WebLogic 9.2

Add the following jars in to the lib directory of your domain:
xercesImpl-2.9.0.jar
xalan-2.7.0.jar
bcel-5.1.jar
jakarta-regexp-1.4.jar

Now locate the startup script for your WebLogic instance, which should be <path-to-bea>/user_projects/domains/<your-project>/bin/startWebLogic.sh and edit this. Locate the line that starts with "CLASSPATH=${WEBLOGIC_CLASSPATH}:". Prepend the full path to the above jars, separated by colons, to the weblogic classpath, like is done for xercesImpl below.

CLASSPATH="<path-to-bea>/user_projects/domains/<your-project>/lib/xercesImpl-2.9.0.jar:${WEBLOGIC_CLASSPATH}:<remainder-of-the-line>"

JBoss

JBoss 4.2.1GA

The wars will work without any modifications to the container itself.

JBoss 4.0.5GA

The wars will work without any modifications to the container itself.

Know Issues

  • On application containers which do not explode the wars themselves, the wars will need to be deployed in exploded form.
  • the location in WEB-INF/classes/log4j.xml, is relative to the application containers working directory, unfortunately this differs per container, so it will probably need to be edited manually.
  • this procedure has not been tested with IBM WebSphere, but it's known that at least for version 5.1 of WebSphere a commons-logging.properties will have to be added to WEB-INF/classes, this file can be found in the sources in the following location: editor/src/webapp/WEB-INF/classes. This file is removed during building as it will break deployment on other containers.