Jetspeed is an open source enterprise information portal that should provide an excellent starting place for building portal based applications or customized portals for internal use. However, there is a steep learning curve for it and though the site is filled with documentation (there are currently many errors), getting the software to work by following the current documentation is a herculean task!
Here are my notes for getting the most basic install of Jetspeed 2 running.
0. you need to install maven. NOTE: use maven 1.0.2! Maven 2.x doesn't work yet!!!!
1. you need to modify the attached build.properties and project.properties and put them in the directory you want to build your custom portal in (see below). NOTE: it's important to do this first before step 3 below.
2. % maven -DartifactId=maven-jetspeed2-plugin -DgroupId=org.apache.portals.jetspeed-2 -Dversion=2.0 plugin:download
3. % maven j2:portal.genapp
4. % maven war:install
5. % maven j2:start.production.server
then in another console
6. % maven j2:quickStart
Then you're ready to hit your local tomcat 5.5 install with your browser. The url will be the value of the
org.apache.jetspeed.portal.artifactId variable in your build.properties, so given the below build.properties it is http://localhost:8080/snafuportal
BUT YOU NEED THE FOLLOWING PROPERTIES FILES!!!!
##### build.properties
basedir = /opt/home/jlangley/lab/jetspeed/snafu
maven.repo.remote = http://www.bluesunrise.com/maven/, http://www.ibiblio.org/maven/, http://dist.codehaus.org/, http://cvs.apache.org/repository
# required portal configuration properties
org.apache.jetspeed.portal.home = /opt/home/jlangley/lab/jetspeed/snafu
org.apache.jetspeed.project.home = /opt/home/jlangley/lab/jetspeed/snafu
org.apache.jetspeed.portal.groupId = snafugroup
org.apache.jetspeed.portal.artifactId = snafuportal
org.apache.jetspeed.portal.name = My Snafu Portal
org.apache.jetspeed.portal.currentVersion = 1.0
# j2:portal.genapp properties
org.apache.jetspeed.genapp.home = /opt/home/jlangley/lab/jetspeed/snafu
org.apache.jetspeed.genapp.groupId = snafugroup
ant.home = /usr/local/ant
org.apache.jetspeed.server.home = /usr/local/tomcat
org.apache.jetspeed.server.shared = /usr/local/tomcat/shared/lib
org.apache.jetspeed.deploy.war.dir = /usr/local/tomcat/webapps
org.apache.jetspeed.catalina.version.major=5.5
org.apache.jetspeed.services.autodeployment.user=j2deployer
org.apache.jetspeed.services.autodeployment.password=j2deployer
###### project.properties
# Copyright 2004 The Apache Software Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# jetspeed.version is required is {user.home}/build.properties.
# Other properties.
jetspeed.version=2.0
pluto.version=1.0.1
portlet.api.version=1.0
servlet.api.version=2.3
myfaces.version=1.1.0
spring.version=1.1.5
portals.bridges.version=1.0
bridges.groupId=org.apache.portals.bridges
portals.bridges.common.version=1.0
portals.bridges.frameworks.version=1.0
portals.bridges.jsf.version=1.0
portals.bridges.perl.version=1.0
portals.bridges.php.version=1.0
portals.bridges.struts.version=1.2.7-1.0
portals.bridges.jpetstore.version=1.0
portals.bridges.velocity.version=1.0
commons.logging.version=1.0.3
derby.version=10.1.1.0
hsql.version=1.8.0.2
# Whether or not to include commons-logging in war files. Your container may already have this.
commons.logging.include=true
log4j.version=1.2.8
# Whether or not to include log4j in war files. Your container may already have this.
log4j.include=true
# Whether or not to include JTP api in war files. Your container may already have this.
jta.include=true
# You only need Derby if you don't supply your own database
derby.include=true
maven.mode.online = true
maven.repo.remote = http://www.bluesunrise.com/maven/, http://www.ibiblio.org/maven/, http://dist.codehaus.org/, http://cvs.apache.org/repository
# xdocs themes
maven.xdoc.theme = j2
# Display the date on the Maven web site
maven.xdoc.date = left
# Display the maven version the web site is documenting
maven.xdoc.version = ${pom.currentVersion}
# Maven Compilation Setting
maven.compile.source=1.4
maven.compile.target=1.4
maven.compile.deprecation=on
# Whether to skip tests.
maven.test.skip=true
maven.test.ignore.failure=false
maven.junit.fork=true
maven.compile.fork=yes
# Include private method and field in Javadoc.
# Note: make sure only one is set to true (which is the reason to define all tree: default protected scope is true)
maven.javadoc.package=false
maven.javadoc.private=true
maven.javadoc.public=false
maven.javadoc.links=http://java.sun.com/j2se/1.4.2/docs/api/
# Removed the rule rulesets/naming.xml from the default
# maven.pmd.rulesetfiles. This is because the LongVariableName rule is to
# restrictive. We need to increase the limit from 12 to 20
maven.pmd.rulesetfiles=rulesets/strings.xml,rulesets/junit.xml,rulesets/braces.xml,rulesets/basic.xml,rulesets/unusedcode.xml,rulesets/design.xml,rulesets/imports.xml,rulesets/codesize.xml
# tell changelog plugin (and others) about the SCM repo type (SVN)
maven.changelog.factory=org.apache.maven.svnlib.SvnChangeLogFactory
# ---------------------------------------------------------------------------
# Multiproject settings
maven.multiproject.includes=*/project.xml,components/*/project.xml,applications/*/project.xml,taglibs/*/project.xml
maven.multiproject.excludes=project.xml,applications/project.xml,cornerstone*/project.xml,portlet-api/project.xml,design-docs/project.xml,site/project.xml,taglibs/project.xml,maven-plugin/project.xml,portals-bridges/**
# following are default values but needed here because our allSite goal doesn't know them from the plugin
maven.multiproject.aggregateDir=multiproject/
maven.multiproject.ignoreFailures=false
jar.includes=applications/gems/project.xml,portlet-api/project.xml,commons/project.xml,cps/project.xml,content-server/project.xml,jetspeed-api/project.xml,components/**/project.xml,taglibs/treecontrol/project.xml
jar.excludes=/project.xml,maven-plugin/**,layout-portlets/**,applications/project.xml,applications/demo/**,applications/rss/**,applications/j2-admin/**,site/project.xml,design-docs/project.xml
maven.multiproject.site.goals=site pdf dashboard:report-single
# For site only, comment line above, uncomment line below.
#maven.multiproject.site.goals=site dashboard:report-single
## Dashboard plugin
maven.dashboard.includes=${maven.multiproject.includes}
maven.dashboard.excludes=${maven.multiproject.excludes}
maven.dashboard.rungoals = false
maven.dashboard.aggregators=cserrors,cswarnings,clovertpc,cloverloc,cloverncloc,junitpassrate,juniterrors,junitfailures,simiantdl
maven.dashboard.ignoreFailures=true
## MultiChanges plugin
maven.multichanges.includes=${maven.multiproject.includes}
maven.multichanges.excludes=${maven.multiproject.excludes}
maven.multichanges.ignoreFailures=true
# ---------------------------------------------------------------------------
# Database Properties
# ---------------------------------------------------------------------------
org.apache.jetspeed.derbydatabase.path = /tmp
# Default production server settings.
org.apache.jetspeed.production.database.url = jdbc:derby:${org.apache.jetspeed.derbydatabase.path}/productiondb;create=true
org.apache.jetspeed.production.database.driver = org.apache.derby.jdbc.EmbeddedDriver
org.apache.jetspeed.production.database.user =
org.apache.jetspeed.production.database.password =
org.apache.jetspeed.production.jdbc.drivers.path=
org.apache.jetspeed.production.database.default.name=derby
# Default test database server settings.
org.apache.jetspeed.test.database.url = jdbc:derby:${org.apache.jetspeed.derbydatabase.path}/testdb;create=true
org.apache.jetspeed.test.database.driver = org.apache.derby.jdbc.EmbeddedDriver
org.apache.jetspeed.test.database.user =
org.apache.jetspeed.test.database.password =
org.apache.jetspeed.test.jdbc.drivers.path=
org.apache.jetspeed.test.database.default.name=derby
# plugin defaults overrides for building jetspeed portal just as with a generated custom portal setup
# org.apache.jetspeed.portal.home = ${org.apache.jetspeed.project.home}
# org.apache.jetspeed.portal.groupId = org.apache.portals.jetspeed-2
# org.apache.jetspeed.portal.artifactId = jetspeed
# org.apache.jetspeed.portal.name = Jetspeed 2 Enterprise Portal
# org.apache.jetspeed.portal.currentVersion = ${jetspeed.version}
# org.apache.jetspeed.use.test.database = true
AND!!!! MOST IMPORTANTLY, you may need to tweak project.xml so it agrees with the values in project.xml. CHECK THEM; there seems to be some sequence of events that can leave these hosed.
like so...
##### project.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
$Id$
-->
<project>
<extend>full-portal.xml</extend>
<pomVersion>3</pomVersion>
<groupId>snafugroup</groupId>
<artifactId>snafuportal</artifactId>
<name>My Test Portal</name>
<currentVersion>1.0</currentVersion>
</project>
Wednesday, August 23, 2006
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment