You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2009/02/24 00:15:55 UTC

svn commit: r747192 [1/2] - in /portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials: ant/ ant/01/ ant/02/ ant/03/ ant/04/ ant/05/ ant/06/ ant/images/ ant/references/ maven-2/ maven-2/01/ maven-2/02/ maven-2/03/ maven-2/04/ mav...

Author: taylor
Date: Mon Feb 23 23:15:52 2009
New Revision: 747192

URL: http://svn.apache.org/viewvc?rev=747192&view=rev
Log:
svn

Added:
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/01/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/default-page.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/deploy-custom.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/03/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/overview.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/tutorial-psml.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/05/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/databases.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/documentation.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/servlet.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/spring.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/images/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/ant.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/eclipse.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/01/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/01/first-steps.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/default-page.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/deploy-custom.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/portlet-decoration.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/03/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/03/pages.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/taglib.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/jetspeed-service.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/Thumbs.db   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/new-home2.png   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/new-portlet.png   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/src-dir.png   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/navigation.xml   (with props)
    portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/project-directory.xml   (with props)

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/default-page.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/default-page.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/default-page.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/default-page.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Default Page</title>
+		<subtitle>Modifying the Default Page</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Modifying the Default Page">
+			<p>
+				Now that we have created our decorators and themes, lets
+				put them to use on the default page. Lets get started
+				with customization of the default portal page
+				decoration. Copy in our sample default-page:
+			</p>
+			<source>
+				<![CDATA[
+# Linux	 
+cd /JetspeedTraining/workspace/jetexpress
+cp ../../resources/pages/default-page.psml portal/src/webapp/WEB-INF/pages/
+
+# Windows
+cd \JetspeedTraining\workspace\jetexpress
+copy  ..\..\resources\pages\default-page.psml portal\src\webapp\WEB-INF\pages
+     ]]>
+			</source>
+			<p>
+				Refresh your Eclipse project and edit the
+				default-page.psml. Make the following modifications
+				<ul>
+					<li>
+						for the layout-decorator, replace tigris with
+						<b>express-page</b>
+					</li>
+					<li>
+						for the portlet-decorator, replace tigris with
+						<b>express-portlet</b>
+					</li>
+					<li>
+						add a skin default attribute as
+						<b>skin="express"</b>
+						for the desktop theme
+					</li>
+				</ul>
+			</p>
+			<source>
+				<![CDATA[
+<page>
+  <defaults layout-decorator="express-page" 
+            portlet-decorator="express-portlet"
+            skin="express"/>	   	  
+     ]]>
+			</source>
+			<p>
+				Go ahead and save that file. We are now ready to deploy
+				your changes to the portal
+			</p>
+			<p>
+				<a href='desktop-theme.html'>Previous</a>
+				<a href='deploy-custom.html'>Next</a>
+			</p>
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/default-page.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/deploy-custom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/deploy-custom.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/deploy-custom.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/deploy-custom.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Deploying Decorations, Themes and Pages</title>
+		<subtitle>Deploying Decorations, Themes and Pages</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Deploying Decorations, Themes and Pages">
+			<p>
+				To deploy the new resources (decorations, themes, and
+				page) that we created in this section of the tutorial,
+				you could simply rebuild the portal by typing
+				<b>mvn -P tomcat,min</b>
+				. Or, if your portal is aleady up and running, a simpler
+				way is to automate the easy deployment tasks with Ant.
+				We have created a simple build.xml to copy over changed
+				portal resources:
+			</p>
+			<source>
+				<![CDATA[
+# Linux	 
+cd /JetspeedTraining/workspace/jetexpress
+cp ../../resources/build.xml .
+
+# Windows
+cd \JetspeedTraining\workspace\jetexpress
+copy  ..\..\resources\build.xml
+     ]]>
+			</source>
+			<p>
+				To copy over the resources to the running portal, type:
+			</p>
+			<source>
+				<![CDATA[
+ant	 
+     ]]>
+			</source>
+			<p>
+				Refresh the portal home page,
+				<a href="http://localhost:8080/jetexpress/portal">
+					http://localhost:8080/jetexpress/portal
+				</a>
+				You should now see a portal with our new custom
+				decorators:
+			</p>
+			<p>
+				<img src="../images/jetexpress-portal.png" />
+			</p>
+			<p>and desktop theme:</p>
+			<p>
+				<img src="../images/jetexpress-desktop.png" />
+			</p>
+			<p>
+				<a href='default-page.html'>Previous</a>
+				<a href='../03/portlet-app.html'>Next</a>
+			</p>
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/02/deploy-custom.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/overview.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/overview.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/overview.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/overview.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Portlet 101</title>
+		<subtitle>Portlet Development 101</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Portlet Development with the Portlet API">
+			<p>
+				This section of the tutorial covers Portlet Development
+				with the Java Portlet API.
+			</p>
+			<p>
+				<ul>
+					<li>Getting started with Eclipse</li>
+					<li>
+						Bonjour Monde Portlet: the staple Hello World
+						demo to get things rolling introduces the
+						portlet.xml, as well as basic Portlet API
+						concepts.
+					</li>
+					<li>
+						The Weather Portlet: using init parameters,
+						preferences, and request parameters
+					</li>
+					<li>
+						The Stock Quote Portlet: actions, JSP, Portlet
+						API Tag Library
+					</li>
+					<li>
+						Interportlet communication, more advanced
+						Portlet programming.
+					</li>
+				</ul>
+			</p>
+			<p>
+				<a href='../03/pages.html'>Previous</a>
+				<a href='eclipse.html'>Next</a>
+			</p>
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/overview.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/tutorial-psml.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/tutorial-psml.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/tutorial-psml.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/tutorial-psml.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Adding a Page for the Tutorial Portlets</title>
+		<subtitle>Adding a Page for the Tutorial Portlets</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Adding a Page for the Tutorial Portlets">
+			<p>
+				Now that we've created a new portlet, lets add a page to
+				hold that portlet. In the
+				<b>jetexpress</b>
+				project, lets add a folder to the root of our site named
+				<i>portal/src/webapp/WEB-INF/pages/tutorial/</i>
+				.
+			</p>
+			<source>
+				<![CDATA[	
+<?xml version="1.0" encoding="UTF-8"?>
+<folder>
+  <title >Tutorial</title>  
+  <metadata name="title" xml:lang="fr">Autodidacte</metadata>
+
+  <security-constraints>
+    <security-constraints-ref>public-edit</security-constraints-ref>
+  </security-constraints>
+</folder>	 
+	     ]]>
+			</source>
+			<p>
+				Then lets add a new page named
+				<b>default-page.psml</b>
+				under the tutorial directory. Add a portlet window to
+				reference our new portlet:
+			</p>
+			<source>
+				<![CDATA[
+<page>
+  <defaults layout-decorator="express-page" 
+            portlet-decorator="express-portlet"
+            skin="express"/>
+  <title>JetExpress Tutorials</title>
+  <short-title>Tutorials</short-title>
+  <fragment id="tutorial-100" type="layout" name="jetspeed-layouts::VelocityTwoColumns">  
+	  <fragment id="express-101" type="portlet" name="express-demo::BonjourMonde"/>
+  </fragment>
+</page>	 
+	     ]]>
+			</source>
+			<p>Lets deploy our portlet and the new pages:</p>
+			<source>
+				<![CDATA[
+# Linux	 
+cd /JetspeedTraining/workspace/jetexpress
+ant
+cd applications/express-demo
+mvn 
+cp target/express-demo-1.0.war /JetspeedTraining/tomcat-express/webapps/express-demo.war
+
+# Windows
+cd \JetspeedTraining\workspace\jetexpress
+ant
+cd applications\express-demo
+mvn 
+copy target\express-demo-1.0.war \JetspeedTraining\tomcat-express\webapps\express-demo.war
+	     ]]>
+			</source>
+			<p>
+				<a href='hello.html'>Previous</a>
+				<a href='taglib.html'>Next</a>
+			</p>
+		</section>
+	</body>
+</document>

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/04/tutorial-psml.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/databases.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/databases.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/databases.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/databases.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Portlet 101</title>
+		<subtitle>Databases</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Database Alternatives">
+			<p>
+				This section of the tutorial covers the different
+				databases that can be used.
+			</p>
+			<p>
+				In the tutorial we have been using Derby from Apache
+				which is easy to set up. You may want to use another
+				database or need to follow a corporate standard.
+				Jetspeed can accomodate a wide range of relational
+				databases including:
+			</p>
+			<ul>
+				<li>
+					<a href="www.mysql.com">MySQL</a>
+				</li>
+				<li>
+					<a href="www.oracle.com">Oracle</a>
+				</li>
+				<li>
+					<a href="http://hsqldb.org/">
+						HSQLDB- Hypersonic Database
+					</a>
+				</li>
+				<li>
+					and
+					<a
+						href="http://portals.apache.org/jetspeed-2/getting-started.html">
+						others
+					</a>
+				</li>
+			</ul>
+		</section>
+		<section name="MySQL">
+			<p>
+				This section of the tutorial discusses how to change the
+				portal that was created in the tutorial so that it uses
+				the MySQL database.
+			</p>
+		</section>
+		<section name="Oracle">
+			<p>
+				This section of the tutorial discusses how to change the
+				portal that was created in the tutorial so that it uses
+				the MySQL database.
+			</p>
+		</section>
+		<section name="HSQLDB">
+			<p>
+				This section of the tutorial discusses how to change the
+				portal that was created in the tutorial so that it uses
+				the MySQL database.
+			</p>
+		</section>
+
+
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/databases.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/documentation.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/documentation.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/documentation.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/documentation.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Portlet 101</title>
+		<subtitle>JetSpeed Documentation</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Documentation">
+			<p>
+				Jetspeed includes
+				<a href="http://portals.apache.org/jetspeed-2/">
+					documentation
+				</a>
+				on the general operation of Jetspeed as well as
+				<a
+					href="http://portals.apache.org/jetspeed-2/guides/index.html">
+					guides or HOW-TOs on various topics.
+				</a>
+			</p>
+
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/documentation.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/servlet.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/servlet.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/servlet.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/servlet.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Portlet 101</title>
+		<subtitle>Servlet Engines</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Servlet Engines">
+			<p>
+				This section of the tutorial covers the different
+				Servlet Engines that can be used.
+			</p>
+			<p>
+				In the tutorial we have been using Jetty from Apache
+				which is easy to set up. You may want to use another
+				servlet Engine or need to follow a corporate standard.
+				Jetspeed can accomodate a wide range of servlet engines
+				including:
+			</p>
+			<ul>
+				<li>
+					<a href="http://tomcat.apache.org/">
+						Tomcat 5.8 or higher
+					</a>
+				</li>
+				<li>
+					<a
+						href="http://www-306.ibm.com/software/websphere/">
+						Websphere
+					</a>
+				</li>
+				<li>
+					<a href="http://geronimo.apache.org/">Geronimo</a>
+				</li>
+				<li>
+					<a href="http://www.jboss.com/">JBoss</a>
+				</li>
+			</ul>
+		</section>
+		<section name="Tomcat">
+			<p>
+				This section of the tutorial discusses how to change the
+				portal that was created in the tutorial so that it uses
+				the Tomcat Servlet Engine.
+			</p>
+		</section>
+		<section name="Websphere">
+			<p>
+				This section of the tutorial discusses how to change the
+				portal that was created in the tutorial so that it uses
+				Websphere.
+			</p>
+		</section>
+		<section name="JBoss">
+			<p>
+				This section of the tutorial discusses how to change the
+				portal that was created in the tutorial so that it uses
+				JBoss.
+			</p>
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/servlet.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/spring.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/spring.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/spring.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/spring.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Portlet 101</title>
+		<subtitle>Jetspeed and Spring</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Spring">
+			<p>
+				This section of the tutorial discusses how Jetspeed uses
+				Spring and how Spring can be used to develop Jetspeed
+				Portlets.
+			</p>
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/06/spring.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/ant.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/ant.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/ant.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/ant.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Portlet 101</title>
+		<subtitle>Ant</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Ant Overview">
+			<p>
+				<a href="ant.apache.org">Ant</a>
+				is a powerful platform independent scripting package.
+
+			</p>
+		</section>
+		<section name="installing Ant">
+			<subsection name='Installation'>
+				<p>You can download Ant from <a href="ant.apache.org">the Ant web site</a>
+				and install it by following their instructions.</p>
+			</subsection>
+			<subsection name='Environment variables' />
+			<p>Create an environmental variable called ANT_HOME and add ANT_HOME\bin to your PATH.</p>
+			<subsection />
+			<subsection name='Testing Ant'>
+				<p>If get the correct version number displayed when you type ant -version at a command prompt, you have a working ant package.</p>
+			</subsection>
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/ant.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/eclipse.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/eclipse.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/eclipse.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/eclipse.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Portlet 101</title>
+		<subtitle>Eclipse</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="David Dyer"
+				email="ddyer@artifact-software.com" />
+			<person name="Ron Wheeler"
+				email="rwheeler@artifact-software.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Eclipse Overview">
+			<p>
+				<a href="www.eclipse.org">Eclipse</a>
+				is an free IDE originally donated to the community by
+				IBM. It has become the most dominant IDE for developing
+				Java applications as well as applications in other
+				laguages. Sun and Microsoft have alternative IDEs but
+				Eclipse has attracted the the largest following.
+			</p>
+		</section>
+		<section name="Installing Eclipse">
+			<subsection name='Installation'>
+				<p>
+					Install the
+					<a href="http://www.eclipse.org/callisto/">
+						Callisto version of Eclipse
+					</a>
+					for Java development. It contains all of the
+					plug-ins for Java development including Web Tools
+					Platform which we need.
+				</p>
+			</subsection>
+
+			<subsection name='Environment Variables'>
+				<p>
+					Eclipse does not have any environment variables of
+					its own but does want to find "JAVA_HOME" which
+					should point to your version of
+					<a href="java.html">Java.</a>
+				</p>
+			</subsection>
+
+			<subsection name='Testing Eclipse'>
+				<p>
+					If you start Eclipse and it runs, you have a good
+					installation. If not, refer to the
+					<a href="www.eclipse.org">Eclipse Site</a>
+					for help.
+				</p>
+			</subsection>
+
+
+			<subsection name='Eclipse Plugins'>
+				<p>
+					The Callisto version of Eclipse should contain the
+					WTP(Web Tools Platform) plug-ins. They show up in
+					the list of plug-ins as individual items:
+					<ul>
+						<li>Web Standard Tools (WST)</li>
+						<li>J2EE Standard Tools (JST)</li>
+						<li>AJAX Toolkit Framework (ATF)</li>
+						<li>Dali JPA Tools</li>
+						<li>JavaServer Faces Tools (JSF)</li>
+					</ul>
+				</p>
+				<p>If you are missing the any of the Eclipse Web Tools platform compents, you can download them from the <a href="http://www.eclipse.org/webtools/main.php">Eclipse site</a></p>
+			</subsection>
+
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/ant/references/eclipse.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/01/first-steps.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/01/first-steps.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/01/first-steps.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/01/first-steps.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<document>
+  <properties>
+    <title>Maven First Steps</title>
+    <subtitle>Custom Project First Steps</subtitle>
+	<authors>
+		<person name="David Sean Taylor" email="taylor@apache.org" />
+	</authors>
+  </properties>
+  <body>
+    <section name="First Steps with Maven-2">
+    <p>
+    Minimal configuration is required to get started with your Jetspeed custom build and Maven-2.
+    </p>
+    <subsection name='Copying in the settings.xml'>
+      <p>      
+       The first step to building with Maven-2 is to setup your <b>settings.xml</b>.
+       These settings hold all the information necessary to build with Maven-2 and Jetspeed.             
+      </p>
+      <p>There is a <i>settings.xml.jetexpress</i> file in the <i>/JetspeedTraining/resources/maven/</i> directory.
+         Copy this file into your <i>Maven Home</i> directory. The Maven home directory
+         is located in a directory named <b>.m2</b> found under your <i>User Home</i> directory.
+         So for example that would be <i>~/.m2/</i> on Linux, or <i>"%USERPROFILE%\.m2\"</i> on Windows.
+      </p>
+	  <p>
+	  <b>Linux: paste into Command Line:</b>
+	  <input size ='80' value='mkdir ~/.m2'/>
+	  <input id='cl1' size="80" value="cp resources/maven/settings.xml.jetexpress ~/.m2/settings.xml"/>	  
+	  </p>
+	  <p>
+	  <b>Windows: paste into Command Line:</b>
+	  <input size="80" value='mkdir "%USERPROFILE%\.m2"'/>
+	  <input id='cl1' size="80" value='copy resources\maven\settings.xml.jetexpress "%USERPROFILE%\.m2\settings.xml"'/>	  	  	  
+	  </p>	  
+	</subsection>
+    <subsection name='Editing the settings.xml'>	
+      <p>
+      The settings file is primarily for configuring your application server and database.
+      The settings are preconfigured for an embedded Derby database, so more changes are required 
+      if another database solution is to be used, covered later in this tutorial.      
+      </p>
+	  <p>	 
+	  Edit the <i>~/.m2/settings.xml</i> file. 
+	  </p>
+	</subsection>
+    <subsection name='Change the Jetspeed Server (Tomcat) Location'>		  
+    <p>
+	  For the purpose of the training, lets all use the same Tomcat home, point it to the <i>/JetspeedTraining/tomcat-express</i> directory.
+	  </p>
+	 <source>
+	 <![CDATA[		
+	  <org.apache.jetspeed.server.home>c:/JetspeedTraining/tomcat-express</org.apache.jetspeed.server.home>
+     ]]>
+	</source> 
+	</subsection>
+    <subsection name='Change the Derby Database location'>		  	
+	  <p>	 
+	  Next, lets change the location of our Derby database to the <i>/JetspeedTraining/database/jetexpress</i> directory.
+	  </p>
+	 <source>
+	 <![CDATA[		
+     <org.apache.jetspeed.production.database.url>jdbc:derby:/JetspeedTraining/database/jetexpress</org.apache.jetspeed.production.database.url>	 
+     ]]>
+	</source> 	
+	</subsection>
+    <subsection name='Change the Repository Location'>		
+    <p>  
+        Change the Maven local repository location by modifying the <i>&lt;localRepository&gt;</i>
+	    element in the settings.xml file. If you are using the training material, we have pre-configured
+	    a Maven-2 repository /JetspeedTraining/maven/repository. Lets configure Maven to point there,
+	    edit the <i>settings.xml</i>:	    
+     </p>
+	 <source>
+	 <![CDATA[		
+	  <localRepository>c:/JetspeedTraining/maven/repository/</localRepository>
+     ]]>
+	</source> 
+	  <p>Go on and save that file.</p>     
+	</subsection>
+	  <p>
+	    <a href='genapp.html'>Next</a>
+	  </p>            	  
+    </section>        
+  </body>
+</document>
+

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/01/first-steps.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/default-page.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/default-page.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/default-page.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/default-page.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Default Page</title>
+		<subtitle>Modifying the Default Page</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+		</authors>
+	</properties>
+	<body>
+    <section name="Modifying the Default Page">
+      <p> 
+      Now that we have created our decorators and themes, lets put them to use on the default page.
+	  Lets get started with customization of the default portal page decoration. Copy in our
+	  sample default-page:</p>
+	 <source>
+	 <![CDATA[
+# Linux	 
+cd /JetspeedTraining/workspace/jetexpress
+cp ../../resources/pages/default-page.psml portal/src/webapp/WEB-INF/pages/
+
+# Windows
+cd \JetspeedTraining\workspace\jetexpress
+copy  ..\..\resources\pages\default-page.psml portal\src\webapp\WEB-INF\pages
+     ]]>
+     </source>	  	  
+	<p>Refresh your Eclipse project and edit the default-page.psml.
+	   Make the following modifications 
+	   <ul>
+	   <li>for the layout-decorator, replace tigris with <b>express-page</b></li>
+	   <li>for the portlet-decorator, replace tigris with <b>express-portlet</b></li>
+	   <li>add a skin default attribute as <b>skin="express"</b> for the desktop theme</li>
+	   </ul>
+	   </p>
+	 <source>
+	 <![CDATA[
+<page>
+  <defaults layout-decorator="express-page" 
+            portlet-decorator="express-portlet"
+            skin="express"/>	   	  
+     ]]>
+     </source>	  	  	   	
+     <p>Go ahead and save that file. We are now ready to deploy your changes to the portal</p>  
+	  <p>
+	    <a href='desktop-theme.html'>Previous</a> <a href='deploy-custom.html'>Next</a>
+	  </p>	        
+	  </section>	  
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/default-page.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/deploy-custom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/deploy-custom.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/deploy-custom.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/deploy-custom.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Deploying Decorations, Themes and Pages</title>
+		<subtitle>Deploying Decorations, Themes and Pages</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+		</authors>
+	</properties>
+	<body>
+    <section name="Deploying Decorations, Themes and Pages">
+      <p> 
+      To deploy the new resources (decorations, themes, and page) that we created in this section
+      of the tutorial, you could simply rebuild the portal by typing <b>mvn -P tomcat,min</b>.
+      Or, if your portal is aleady up and running, a simpler way is to automate the easy deployment
+      tasks with Ant. We have created a simple build.xml to copy over changed portal resources:</p>
+	 <source>
+	 <![CDATA[
+# Linux	 
+cd /JetspeedTraining/workspace/jetexpress
+cp ../../resources/build.xml .
+
+# Windows
+cd \JetspeedTraining\workspace\jetexpress
+copy  ..\..\resources\build.xml
+     ]]>
+     </source>	  	  
+	<p>To copy over the resources to the running portal, type:
+	   </p>
+	 <source>
+	 <![CDATA[
+ant	 
+     ]]>
+     </source>	  	  	   	
+     <p>Refresh the portal home page, <a href="http://localhost:8080/jetexpress/portal">http://localhost:8080/jetexpress/portal</a>
+     You should now see a portal with our new custom decorators:</p>  
+     <p>
+     <img src="../images/jetexpress-portal.png"/>
+     </p>
+     <p>
+     and desktop theme:
+     </p>
+     <p>
+     <img src="../images/jetexpress-desktop.png"/>     
+     </p>
+	  <p>
+	    <a href='default-page.html'>Previous</a> <a href='../03/portlet-app.html'>Next</a>
+	  </p>	        
+	  </section>	  
+	</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/deploy-custom.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/portlet-decoration.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/portlet-decoration.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/portlet-decoration.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/portlet-decoration.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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.
+-->
+<document>
+	<properties>
+		<title>Portlet Decorators</title>
+		<subtitle>Customizing PortletDecorators</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+		</authors>
+	</properties>
+	<body>
+    <section name="Portlet Decorators">
+      <p> 
+      Each Jetspeed portlet window on a page can be associated with a different portlet decoration. 
+      Portlet decorations control some important aspect of a portlet window:
+      <ul>
+      <li>The colors, images, CSS styles that skin this window</li>
+      <li>The title portion of the portlet</li>
+      <li>The borders of the window</li>
+      <li>Action buttons displayed on the window</li>
+      </ul>      
+      Jetspeed comes with several portlet decorations out of the box. The default page decorator for 
+      most pages is called <i>tigris</i>. It looks like this:
+      </p>
+      <img src="../images/tigris-portlet.png"/>
+      <p>
+      We are going to create a new decorator for this tutorial.
+      This new decorator can be copied into our project from the <i>/JetspeedTutorial/resources/decorations/portlet/express-portlet/</i> directory.
+      This will save you the trouble of creating all the logo images and CSS definitions.
+      </p>
+	 <source>
+	 <![CDATA[
+# Linux	 
+cd /JetspeedTraining/workspace/jetexpress
+mkdir portal/src/webapp/decorations/portlet/express-portlet
+cp -r ../../resources/decorations/portlet/express-portlet/* portal/src/webapp/decorations/portlet/express-portlet/
+
+# Windows
+cd \JetspeedTraining\workspace\jetexpress
+mkdir portal\src\webapp\decorations\portlet\express-portlet
+xcopy /s ..\..\resources\decorations\portlet\express-portlet\* portal\src\webapp\decorations\portlet\express-portlet
+     ]]>
+     </source>	  	  
+     <p>
+     We are going to skip over the intricate details of portlet decorators, as page decorators are much more 
+     important, as they set your organization's branding. Whereas the standard window decorators are good 
+     enough for getting you started. Go ahead and review the content of our custom portlet decorator.
+     You will see that the directory layout is the same as for page decorators. The decorator simply
+     creates a new color variation on an existing window decorator.
+	  </p>	      
+	  <p>
+	    <a href='page-decoration.html'>Previous</a> <a href='desktop-theme.html'>Next</a>
+	  </p>	      	  
+ </section>	  
+</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/02/portlet-decoration.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/03/pages.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/03/pages.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/03/pages.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/03/pages.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<document>
+  <properties>
+    <title>Configuring Portal Pages</title>
+    <subtitle>Configuring Portal Pages</subtitle>
+	<authors>
+		<person name="David Sean Taylor" email="taylor@apache.org" />
+	</authors>
+  </properties>
+  <body>
+    <section name="Configuring Portal Pages">
+      <p>      
+       Now that you have generated a portlet app named <b>express-demo</b>, we are ready to integrate
+       the new portlets into our system. This is done by adding the portlets to the portal pages.
+       These pages are also known as PSML files. Your pages makeup the navigational site of your system.
+	   The new pages we are going to add will have references to the new portlets added in the express-demo
+	   portlet applications. Of course users can use the Portlet Selector and Jetspeed Customizer to
+	   select portlets interactively. Here we are setting up the collection of pages that will  always
+	   be a part of your portal. The file-system tree-like collection of pages is known as your <b>portal site</b>	   
+      </p>
+      <p>
+      We provide a quick Ant task to copy in the new, preconfigured pages:
+      </p>
+	 <source>
+	 <![CDATA[
+# Linux	 
+cd /JetspeedTraining/workspace/jetexpress/
+
+# Windows
+cd \JetspeedTraining\workspace\jetexpress\
+
+ant copy-page-resources
+     ]]>
+	</source> 
+      <p>
+      Open up some of the pages found under <i>portal/src/webapp/WEB-INF/pages/</i>.
+      You will see that we've added a new <i>Contact Us</i> page, and added the some new demo portlets
+      the the default page. We have also changed the default themes and decorators
+      for all administrative pages.
+      </p>
+      <p>
+      Go ahead and deploy those changes:
+      </p>	
+	 <source>
+	 <![CDATA[
+ant
+     ]]>
+	</source> 
+	<p>This will deploy your new pages. Refresh the portal home page to see the new portlets:
+	</p>      
+	<img src="../images/new-home.png"/>
+	<p>
+	Likewise for the desktop:
+	</p>
+	<img src="../images/new-home2.png"/>	
+	  <p>	  
+	    <a href='portlet-app.html'>Previous</a> <a href='../04/overview.html'>Next</a>
+	  </p>            
+    </section>
+  </body>
+</document>
+

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/03/pages.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/taglib.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/taglib.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/taglib.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/taglib.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,171 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<document>
+  <properties>
+    <title>Taglibs</title>
+    <subtitle>Portlet API Taglib</subtitle>
+	<authors>
+		<person name="David Sean Taylor" email="taylor@apache.org" />
+	</authors>
+  </properties>
+  <body>
+    <section name="JSP and Portlet API Taglib">
+    <p>      
+    Lets create another portlet. This portlet will not have a Java class.
+    Instead it will be written entirely in JSP.
+    Note that you can mix JSP and a Java class for the implementation of your
+    Java class as you will see in the Stock Quote portlet example.
+    Go to the <i>express-demo</i> project, click on the <i>src/webapp/WEB-INF/view/</i> directory, and create a JSP 
+    file named <b>tutorial.jsp</b>. Enter the following JSP code:
+	</p>      
+	 <source>	
+	 <![CDATA[
+<%@ page session="true" contentType="text/html;charset=utf-8"%>
+<%@ taglib uri='/WEB-INF/portlet.tld' prefix='portlet'%>
+<%@ taglib uri="http://java.sun.com/jstl/core" prefix='c' %> 
+
+<portlet:defineObjects/>
+
+<portlet:renderURL var="max" windowState='maximized'/>
+<portlet:renderURL var="normal" windowState='normal'/>
+<c:out value="${renderRequest.windowState}"/>
+<c:if test="${renderRequest.windowState == 'maximized'}">
+<a href='<%=normal%>'>Normal</a>
+</c:if>
+<c:if test="${renderRequest.windowState == 'normal'}">
+<a href='<%=max%>'>Max</a>
+</c:if>
+	     ]]>
+	</source> 	
+	<p>
+	Every portlet JSP page is required to have the <b>defineObjects</b> tag 
+	at the top. Of course you also need the TLD reference.
+	Portlets need to write their links to go back to the portal, not 
+	back to each individual servlet or JSP. That is the main difference 
+	between writing portlets and servlets. If you are using a framework like
+	Struts or JSF correctly, these details should be hidden from you in 
+	the framework. The tag that we are using here is the <b>&lt;portlet:renderURL&gt;</b>.
+	It allows you to create a render phase link back to this portlet, going 
+	through the portal. You can set window states, request parameters, and
+	portlet mode changes on the URL. The other kind of link that you can create
+	is an action URL: <b>&lt;portlet:actionURL&gt;</b>, which is usually
+	used with a HTML form to post back parameters to the portlet and initial
+	a blocking action phase event for the targeted portlet.    	
+	The <b>&lt;portlet:defineObjects&gt;</b> tag declares three variables for your
+	page:
+	<table>
+	<tr>
+	<th>JSP variable</th>
+	<th>Description</th>
+	</tr>
+	<tr>
+	<td>renderRequest</td>
+	<td>The RenderRequest object</td>
+	</tr>
+	<tr>
+	<td>renderResponse</td>
+	<td>The RenderResponse object</td>
+	</tr>
+	<tr>
+	<td>portletConfig</td>
+	<td>The PortletConfig object</td>
+	</tr>
+	</table>
+	</p>	
+	<p>
+	Here is the portlet.xml for our JSP portlet.
+	It is based on the <b>GenericServletPortlet</b>, provided by Portals Bridges
+	in a jar file dependency.
+	Notice the init-param named <b>ViewPage</b>.
+	This param defines which webapp-relative JSP to use for View Mode.
+	Similiarly we have are <b>EditPage</b> for edit mode, and <b>HelpPage</b>
+	for help mode.
+	</p>
+	 <source>	
+	 <![CDATA[
+ <portlet>   
+    <description>The 2nd Tutorial with JSP</description>		
+    <portlet-name>TutorialPortlet2</portlet-name>	
+    <display-name>Tutorial Portlet 2</display-name>
+    <portlet-class>org.apache.portals.bridges.common.GenericServletPortlet</portlet-class>	        
+    <init-param>
+        <name>ViewPage</name>
+        <value>/WEB-INF/view/tutorial.jsp</value>
+    </init-param>          
+    <init-param>
+        <name>EditPage</name>
+        <value>/WEB-INF/view/tutorial.jsp</value>
+    </init-param>          
+    <init-param>
+        <name>HelpPage</name>
+        <value>/WEB-INF/view/tutorial.jsp</value>
+    </init-param>              
+    <supports>
+        <mime-type>text/html</mime-type>
+        <portlet-mode>VIEW</portlet-mode>
+        <portlet-mode>EDIT</portlet-mode>        
+        <portlet-mode>HELP</portlet-mode>                
+    </supports>
+    <supported-locale>en</supported-locale>      	
+	<portlet-info>
+        <title>Tutorial Portlet</title>
+        <short-title>tutorial</short-title>
+		<keywords>tutorial,hello,JSP,taglib</keywords>
+    </portlet-info>
+    <portlet-preferences>
+        <preference>                            
+            <name>test</name>                    
+            <value>hello</value>    
+        </preference>         
+    </portlet-preferences>                      		
+</portlet> 	 
+	     ]]>
+	</source> 
+	<p>Add this portlet window fragment to the tutorial default page, underneath the BonjourMonde fragment:
+	</p>
+	 <source>
+	 <![CDATA[
+	  <fragment id="express-102" type="portlet" name="express-demo::TutorialPortlet2"/>
+     ]]>
+	</source> 				
+	<p>And then deploy your changes:
+	</p>
+	 <source>
+	 <![CDATA[
+# Linux	 
+cd /JetspeedTraining/workspace/jetexpress/
+ant
+cd applications/express-demo
+mvn 
+cp target/express-demo-1.0.war /JetspeedTraining/tomcat-express/webapps/express-demo.war
+
+# Windows
+cd \JetspeedTraining\workspace\jetexpress
+ant
+cd applications\express-demo
+mvn 
+copy target\express-demo-1.0.war \JetspeedTraining\tomcat-express\webapps\express-demo.war
+     ]]>
+	</source> 			
+	  <p>
+	    <a href='hello.html'>Previous</a> <a href='../05/jetspeed-service.html'>Next</a>
+	  </p>            
+    </section>
+  </body>
+</document>
+

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/taglib.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/jetspeed-service.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/jetspeed-service.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/jetspeed-service.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/jetspeed-service.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,340 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<document>
+  <properties>
+    <title>Jetspeed Service</title>
+    <subtitle>Jetspeed Services</subtitle>
+	<authors>
+		<person name="David Sean Taylor" email="taylor@apache.org" />
+	</authors>
+  </properties>
+  <body>
+    <section name="Jetspeed Services">
+    <p>
+    This tutorial shows you how to use Jetspeed Services from the Express Demo Portlet Application. 
+    Please note that all edits, unless explicity specified otherwise, are applied to the express-demo PA source tree.
+    We will learn how to:
+    <ul>
+    <li>add new roles</li>
+    <li>add new groups</li>
+    <li>register new users</li>
+    <li>manipulate pages</li>
+    <li>get a filtered list of portlets</li>
+    </ul>
+    using the RoleManager, GroupManager, PortletAdministration, and Page Manager Jetspeed API interfaces.
+    </p>
+    <p>
+    Lets get started by entering a new portlet in the portlet.xml:
+    </p>
+	 <source>	
+	 <![CDATA[	
+<portlet id="ServicesTutorialPortlet">    
+    <description>Tutorial for using Jetspeed Services, such as PortalAdministration, PageManager, Registry.</description>
+    <portlet-name>ServicesTutorialPortlet</portlet-name>
+    <display-name>Jetspeed Services Tutorial Portlet</display-name>
+    <portlet-class>com.bluesunrise.portal.portlets.services.ServicesTutorialPortlet</portlet-class>
+    <init-param>
+        <description>This parameter sets the template used in view mode.</description>
+        <name>ViewPage</name>
+        <value>/WEB-INF/view/services-tutorial.jsp</value>
+    </init-param>
+    <init-param>
+        <description>Comma-separated list of roles to create via Role Manager</description>
+        <name>roles</name>
+        <value>role1,role2,role3</value>
+    </init-param>    
+    <init-param>
+        <description>Comma-separated list of groups to create via Group Manager</description>
+        <name>groups</name>
+        <value>group1,group2,group3</value>
+    </init-param>    
+    <init-param>
+        <description>Comma-separated list of Users to create and Register via PortalAdminstration service</description>
+        <name>users</name>
+        <value>user1,user2,user3</value>
+    </init-param>        
+    <init-param>
+        <description>Comma-separated list of roles to assign to a new user</description>
+        <name>registration-roles</name>
+        <value>user,role1,role2</value>
+    </init-param>
+    <init-param>
+        <description>Comma-separated list of groups to assign to a new user</description>
+        <name>registration-groups</name>
+        <value>group1,group2</value>
+    </init-param>
+    <init-param>
+        <name>portlet-icon</name>
+        <value>start-here.png</value>
+    </init-param>    
+    <supports>
+        <mime-type>text/html</mime-type>
+        <portlet-mode>VIEW</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <portlet-info>
+        <title>Services Tutorial</title>
+        <short-title>Services</short-title>
+        <keywords>tutorial,services,jetspeed-services</keywords>
+    </portlet-info>
+ </portlet>	 
+	     ]]>
+	</source> 			     
+    <p>
+    Jetspeed has an extended descriptor for defining extended portal features and services.
+    Edit the <b>jetspeed-portlet.xml</b> found in <i>src/webapp/WEB-INF/</i>, and add the following
+    services under the &lt;js:services&gt; element. This tells Jetspeed what services you require:
+    </p>
+	 <source>	
+	 <![CDATA[	
+        <js:service name='GroupManager'/>    
+        <js:service name='PageManager'/>    
+        <js:service name='PortalAdministration'/>        
+        <js:service name='PortletRegistryComponent'/>
+        <js:service name='RoleManager'/>	 
+        <js:service name='UserManager'/>        
+	     ]]>
+	</source> 			     	
+    <p>
+    Create a new JSP page named <b>services-tutorial.jsp</b> in the <i>src/webapp/WEB-INF/view/</i> directory.
+    Enter the following code:
+	 <source>	
+	 <![CDATA[	
+<%@ page language="java" session="true" %>
+<%@ page import="javax.portlet.*" %>
+
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
+<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
+
+<portlet:defineObjects/>
+
+<portlet:actionURL var="newRolesAction"/>
+<br/>
+<div class='portlet-section-header'>Services Tutorial Portlet</div>
+
+<form name="servicesTutorialForm" action="<c:out value="${newRolesAction}"/>" method="post">
+<input type="submit" name='action' value="createRoles" class="portlet-form-button" />
+<input type="submit" name='action' value="createGroups" class="portlet-form-button" />
+<input type="submit" name='action' value="registerUsers" class="portlet-form-button" />
+<input type="submit" name='action' value="modifyPages" class="portlet-form-button" />
+<input type="submit" name='action' value="createSharedPages" class="portlet-form-button" />
+</form>
+<c:if test="${message != null}">
+<div class='portlet-msg-info'><c:out value="${message}"/></div>
+</c:if>
+<c:if test="${errorMessage != null}">
+<div class='portlet-msg-error'><c:out value="${errorMessage}"/></div>
+</c:if>    
+	     ]]>
+	</source> 			         
+    </p>
+    <p>
+    <ul>
+    <li>Create a new package using Eclipse: <b>com.bluesunrise.portal.portlets.services</b></li>
+    <li>Create a portlet in the above package named <b>ServicesTutorialPortlet.java</b> extending 
+    <b>GenericServletPortlet</b>.</li>
+    <li>Override and implement the <b>init</b>, <b>doView</b> and <b>processAction</b> methods</li>
+    </ul>
+	</p> 
+	<p>
+	Add the following data members to the portlet class:
+	</p>
+	 <source>	
+	 <![CDATA[	
+    private PortalAdministration admin;
+    private PageManager pageManager;
+    private RoleManager roleManager;
+    private UserManager userManager;
+    private GroupManager groupManager;
+    protected PortletRegistry registry;
+
+    private List registrationRoles;
+    private List registrationGroups;
+    private List newRoles;
+    private List newGroups;
+    private List newUsers;    
+    ]]>
+	</source> 			 
+	<p>
+	Press <b>Ctrl-Shift-O</b> to resolve the two above class imports.	
+	</p>
+	<p>
+	Enter the following code into the init(PortletConfig config) method, replacing whats there:
+	</p>
+	 <source>	
+	 <![CDATA[
+	    super.init();
+        admin = (PortalAdministration) getPortletContext().getAttribute(
+				CommonPortletServices.CPS_PORTAL_ADMINISTRATION);
+		if (null == admin) {
+			throw new PortletException(
+					"Failed to find the Portal Administration on portlet initialization");
+		}
+		userManager = (UserManager) getPortletContext().getAttribute(
+				CommonPortletServices.CPS_USER_MANAGER_COMPONENT);
+		if (null == userManager) {
+			throw new PortletException(
+					"Failed to find the User Manager on portlet initialization");
+		}
+		roleManager = (RoleManager) getPortletContext().getAttribute(
+				CommonPortletServices.CPS_ROLE_MANAGER_COMPONENT);
+		if (null == roleManager) {
+			throw new PortletException(
+					"Failed to find the Role Manager on portlet initialization");
+		}
+		groupManager = (GroupManager) getPortletContext().getAttribute(
+				CommonPortletServices.CPS_GROUP_MANAGER_COMPONENT);
+		if (null == groupManager) {
+			throw new PortletException(
+					"Failed to find the Group Manager on portlet initialization");
+		}
+		pageManager = (PageManager) getPortletContext().getAttribute(
+				CommonPortletServices.CPS_PAGE_MANAGER_COMPONENT);
+		if (null == pageManager) {
+			throw new PortletException(
+					"Failed to find the Page Manager on portlet initialization");
+		}
+        registry = (PortletRegistry)getPortletContext().getAttribute(CommonPortletServices.CPS_REGISTRY_COMPONENT);
+        if (null == registry) {
+			throw new PortletException(
+					"Failed to find the Portlet Registry on portlet initialization");
+		}                
+        this.newRoles = getInitParameterList(config, "roles");
+        this.newGroups = getInitParameterList(config, "groups");
+        this.newUsers = getInitParameterList(config, "users");        
+        this.registrationRoles = getInitParameterList(config, "registration-roles");
+        this.registrationGroups = getInitParameterList(config, "registration-groups");	 
+	     ]]>
+	</source>
+	<p>
+	Add this helper function to the class:
+	</p>
+	 <source>	
+	 <![CDATA[	
+    protected List getInitParameterList(PortletConfig config, String ipName)
+    {
+        String temp = config.getInitParameter(ipName);
+        if (temp == null) return new ArrayList();
+
+        String[] temps = temp.split("\\,");
+        for (int ix = 0; ix < temps.length; ix++)
+            temps[ix] = temps[ix].trim();
+
+        return Arrays.asList(temps);
+    }
+	     ]]>
+	</source>		 			 
+	<p>
+	Write the doView method:
+	</p>
+	 <source>	
+	 <![CDATA[	
+	public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException 
+	{
+		request.setAttribute("message", request.getParameter("message"));
+		request.setAttribute("errorMessage", request.getParameter("errorMessage"));
+		super.doView(request, response);
+	}	 
+	     ]]>
+	</source>		 			 	
+	<p>
+	Write the portletAction method:
+	</p>
+	 <source>	
+	 <![CDATA[	
+	public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException 
+	{
+		String action = request.getParameter("action");
+		try
+		{
+			if (action != null)
+			{			
+				if (action.equals("createRoles"))
+				{
+					String message = "Created " + createRoles() + " roles";
+					response.setRenderParameter("message", message);
+				}
+				else if (action.equals("createGroups"))
+				{
+					String message = "Created " + createGroups() + " groups";
+					response.setRenderParameter("message", message);
+				}
+				else if (action.equals("registerUsers"))
+				{
+					String message = "Registered " + registerUsers() + " users";
+					response.setRenderParameter("message", message);
+				}
+				else if (action.equals("modifyPages"))
+				{
+					String message = "Modified " + modifyPages() + " pages";
+					response.setRenderParameter("message", message);					
+				}
+				else if (action.equals("createSharedPages"))
+				{
+					String message = "Created " + createSharedPages() + " pages";
+					response.setRenderParameter("message", message);										
+				}
+			}
+		}
+		catch (Exception e)
+		{
+			response.setRenderParameter("serviceError", e.getMessage());
+			// TODO: proper logging
+			e.printStackTrace();
+		}
+	}	 
+	     ]]>
+	</source>		 			 
+	<p>
+	Implement the undefined methods using the Jetspeed Services...
+	<table>
+	<tr>
+	<th>method</th>
+	<th>purpose</th>
+	</tr>
+	<tr>
+	<td>createRoles</td>
+	<td>using the roles init param, create new roles with the RoleManager service. If the role already exists, skip it.</td>
+	</tr>
+	<tr>
+	<td>createGroups</td>
+	<td>using the groups init param, create new groups with the GroupManager service. If the group already exists, skip it.</td>
+	</tr>
+	<tr>
+	<td>registerUsers</td>
+	<td>using the users init param, register new users with the PortalAdministration service. If the user already exists, skip it.</td>
+	</tr>
+	<tr>
+	<td>modifyPages</td>
+	<td>using the users init param, modify pages with the PageManager service. If the page doesnt exist, dont create it.
+	    Modifications: for user1, create a 1 column collection of 1 portlet, for user2, create a 2 column collection of 2 portlets, for user3 create a 3 column collection of 3 portets</td>
+	</tr>
+	<tr>
+	<td>createSharedPages</td>
+	<td>create a folder named /shared, create a page name /friends.psml. add some portlets to the page. grant public-view security constraint to the folder</td>
+	</tr>
+	</table>
+	</p>
+	  <p>
+	    <a href='../04/taglib.html'>Previous</a> 
+	  </p>     	
+    </section>
+  </body>
+</document>
+

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/jetspeed-service.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/Thumbs.db
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/Thumbs.db?rev=747192&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/Thumbs.db
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/new-home2.png
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/new-home2.png?rev=747192&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/new-home2.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/new-portlet.png
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/new-portlet.png?rev=747192&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/new-portlet.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/src-dir.png
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/src-dir.png?rev=747192&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/images/src-dir.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/navigation.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/navigation.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/navigation.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/navigation.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+<project>
+    <body>
+        <links>
+        	<item name="Jetspeed-1" href="http://portals.apache.org/jetspeed-1" target="_nw"/>
+        	<item name="Jetspeed-2" href="http://portals.apache.org/jetspeed-2" target="_nw"/>
+        	<item name="Bridges" href="http://portals.apache.org/bridges" target="_nw"/>
+        </links>
+        <menu name="Tutorial Overview">
+            <item name="Welcome" href="index.html" />        
+        	<item name="Build Commands" href="build-commands.html" />
+        	<item name="Project Generation Archetypes" href="project-generation.html" />
+        	<item name="Project Directory Overview" href="project-directory.html" />        	
+        </menu>        
+        <menu name="01. Custom Portal Generation">
+        	<item name="Maven First Steps" href="01/first-steps.html" />                    
+            <item name="Generating a Jetspeed Portal" href="01/genapp.html" />
+        	<item name="Build and Deploy Custom Portal" href="01/build-it.html" />            
+        	<item name="Run the Custom Portal" href="01/run-it.html" />            
+        </menu>
+        <menu name="02. Customizing Your Portal Design">
+            <item name="Decorators and Themes" href="02/customizing-overview.html" />        
+            <item name="Page Decoration" href="02/page-decoration.html" />
+            <item name="Portlet Decoration" href="02/portlet-decoration.html" />            
+            <item name="Desktop Themes" href="02/desktop-theme.html" />            
+            <item name="Changing the Default Page" href="02/default-page.html" />            
+            <item name="Deploying your Customizations" href="02/deploy-custom.html"/>            
+        </menu>
+        <menu name="03. Portlet Application Configuration">
+            <item name="Generating a Portlet Application" href="03/portlet-app.html" />
+            <item name="Building and Deploying" href="03/build-it.html" />            
+            <item name="Configuring Portal Pages" href="03/pages.html" />                                    
+        </menu>
+        <menu name="04. Portlet Development 101">
+            <item name="Overview" href="04/overview.html" />
+            <item name="Eclipse" href="04/eclipse.html" />            
+            <item name="Hello World" href="04/hello.html" />                        
+            <item name="Adding a Page" href="04/tutorial-psml.html" />             
+            <item name="JSP and Portlet API Taglib" href="04/taglib.html" />                         
+        </menu>
+        <menu name="05. Jetspeed Services">
+            <item name="Services Tutorial Portlet" href="05/jetspeed-service.html" />
+        </menu>
+    </body>
+</project>

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/navigation.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/project-directory.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/project-directory.xml?rev=747192&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/project-directory.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/project-directory.xml Mon Feb 23 23:15:52 2009
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<document>
+  <properties>
+    <title>Project Directory</title>
+    <subtitle>Overview of the Custom Project Directory Structure</subtitle>
+	<authors>
+		<person name="David Sean Taylor" email="taylor@apache.org" />
+	</authors>
+  </properties>
+  <body>
+ <section name="Overview of the Custom Project Directory Structure">
+ <p>      
+ The <b>portal-archetype</b> generates a complete Maven-2 project directory structure for developing
+ a custom Jetspeed portal as well as JSR 168 portlet applications.
+ Here is an overview of directories created by the portal-archetype (directories are relative to the custom portal root):
+ </p>
+ <div>
+<table>
+<tr>
+<td>
+<strong><tt>directory</tt></strong>
+</td>
+<td>
+<strong><tt>explanation</tt></strong>
+</td>
+</tr>
+<tr>
+<td>/applications
+</td>
+<td>conventional subdirectory location for one or more portal application projects
+</td>
+</tr>
+<tr>
+<td>/app-servers
+</td>
+<td>contains portal deployment builds and resources.
+</td>
+</tr>
+<tr>
+<td>/components 
+</td>
+<td>conventional subdirectory for one or more portal component projects 
+</td>
+</tr>
+<tr>
+<td>enterprise
+</td>
+<td>maven-2 build to create an J2EE enterprise archive (EAR) deployable file
+</td>
+</tr>
+<tr>
+<td>etc/assembly
+</td>
+<td>custom portal application component Spring assemblies
+</td>
+</tr>
+<tr>
+<td>etc/conf
+</td>
+<td>portal application context configuration files
+</td>
+</tr>
+<tr>
+<td>etc/decorations
+</td>
+<td>custom decorations in images, layout, and portlet subdirectories
+</td>
+</tr>
+<tr>
+<td>etc/pages
+</td>
+<td>custom portal PSML pages to augment/override minimal defaults, (e.g. /Administrative/**, /default-page.psml, /myaccount.psml, /page.security, and /system/**)
+</td>
+</tr>
+<tr>
+<td>etc/schema
+</td>
+<td>Jetspeed2 database schema definitions
+</td>
+</tr>
+<tr>
+<td>etc/sql
+</td>
+<td>Jetspeed base database configuration scripts
+</td>
+</tr>
+<tr>
+<td>etc/templates
+</td>
+<td>custom overrides for Jetspeed2 layout portlet templates
+</td>
+</tr>
+<tr>
+<td>etc/webapp
+</td>
+<td>
+</td>custom content reaources to be packaged with portal application
+</tr>
+<tr>
+<td>portal
+</td>
+<td>portal application war build scripts and webapp resource overrides
+</td>
+</tr>
+<tr>
+<td>src
+</td>
+<td>these directories are an artifact of archetype expansion and should be deleted
+</td>
+</tr>
+</table>
+</div>
+ </section>
+</body>
+</document>
+



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org