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:33:33 UTC

svn commit: r747213 [2/2] - in /portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2: ./ 01/ 02/ 03/ 04/ 05/ images/

Modified: 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=747213&r1=747212&r2=747213&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/taglib.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/taglib.xml Mon Feb 23 23:33:30 2009
@@ -1,171 +1,171 @@
-<?xml version="1.0"?>
-<!--
+<?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>
-
+  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>
+

Added: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/tutorial-psml.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/tutorial-psml.xml?rev=747213&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/tutorial-psml.xml (added)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/tutorial-psml.xml Mon Feb 23 23:33:30 2009
@@ -0,0 +1,90 @@
+<?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" />
+	</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>. In addition to creating the folder,
+	you will need to create a <i>folder.metadata</i> file:
+	</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>
+	
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/04/tutorial-psml.xml
------------------------------------------------------------------------------
    svn:eol-style = native

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

Modified: 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=747213&r1=747212&r2=747213&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/jetspeed-service.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/05/jetspeed-service.xml Mon Feb 23 23:33:30 2009
@@ -1,340 +1,340 @@
-<?xml version="1.0"?>
-<!--
+<?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>	
+  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>
-
+	    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>
+

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modified: 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=747213&r1=747212&r2=747213&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/project-directory.xml (original)
+++ portals/jetspeed-2/portal/branches/JETSPEED-2.1.3-POSTRELEASE/xdocs/tutorials/maven-2/project-directory.xml Mon Feb 23 23:33:30 2009
@@ -1,132 +1,132 @@
-<?xml version="1.0"?>
-<!--
+<?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>
-
+  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