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 at...@apache.org on 2007/03/04 03:13:24 UTC

svn commit: r514329 [6/7] - in /portals/jetspeed-2/trunk/xdocs: ./ guides/ style/

Modified: portals/jetspeed-2/trunk/xdocs/guides/guide-security-declarative-psml.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/xdocs/guides/guide-security-declarative-psml.xml?view=diff&rev=514329&r1=514328&r2=514329
==============================================================================
--- portals/jetspeed-2/trunk/xdocs/guides/guide-security-declarative-psml.xml (original)
+++ portals/jetspeed-2/trunk/xdocs/guides/guide-security-declarative-psml.xml Sat Mar  3 18:13:22 2007
@@ -1,346 +1,346 @@
-<?xml version="1.0"?>
-<!--
-Copyright 2004-2005 The Apache Software Foundation
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<document>
-  <properties>
-    <title>Guide to Declarative Security through PSML</title>
-    <subtitle>Guide to Declarative Security through PSML</subtitle>
-    <authors>
-      <person name="David Sean Taylor" email="taylor@apache.org"/>
-      <person name="Randy Watler" email="rwatler@apache.org"/>
-    </authors>
-  </properties>
-  <body>
-<section name="Security Constraints">
-<p>
-<ul>
-	<li><a href="#The Security Constraint">Security Constraint</a></li>	      
-	<li><a href="#Declarative and Global Constraints">Declarative and Global Constraints</a></li>	 
-    <li><a href="#Folder Constraints">Folder Constraints</a></li>
-    <li><a href="#Page Constraints">Page Constraints</a></li>    
-    <li><a href="#Fragment Constraints">Fragment Constraints</a></li>    
-    <li><a href="#Spring Configuration">Spring Configuration</a></li>    
-    <li><a href="guide-psml-dtd.html#PSML_DTDs">PSML Document DTDs</a></li>        
-</ul>
-</p>
-<p>
-Security Constraints are applied to pages and folders.  Security Constraints either grant or deny 
-access to pages and folders.  Constraints can be defined in one or all of these four places:
-<ul>
-    <li>1. <b>Global:</b> As declarations in the <b><i>page.security</i></b> file found in the root of the PSML tree.</li>
-    <li>2. <b>Folder:</b> In the <b><i>folder.metadata</i></b> file optionally located in every directory.</li>    
-    <li>3. <b>Page:</b> In PSML files to constrain access to specific pages.</li>
-    <li>4. <b>Fragment:</b> In page PSML files to constrain access to a specific fragment within a page.</li>
-</ul>
-</p>
-<subsection name='Grants'>
-<p>
-Grants are associated with permissions, authorizing, or granting, a principal list 
-access to a page or folder.    
-A granting security constraint is the association of a list of one 
-or more security principals combined with one or permissions. Grant constraints grant access to a page or folder
-for the associated list of permissions. 
-</p>
-</subsection>
-<subsection name='Denies'>
-<p>
-A deny security constraint is declared 
-with one or more security principals; with no associated permissions. Deny constraints prohibit access
-to the page or folder for the given list of principals. Note that deny constraints
-must be listed before grant constraints.
-</p>
-</subsection>
-<subsection name='Declarative and Referential Constraints'>
-<p>
-When working with pages and folder resource constraints, a constraint can be either 
-a <b><i>declarative constraint</i></b> or a <b><i>referential</i></b> constraint.
-Declarative constraints are declared and put to use right in place for the particular
-page or folder resource. Where as referential constraints refer to a constraint declared
-in a centralized security constraint resource: the <b><i>page.security</i></b> file. Each
-site or subsite can have one <b><i>page.security</i></b> resource for declaring constraints
-to be referenced in any page or folder.
-</p>
-</subsection>
-</section>
-<section name='The Security Constraint'>
-<p>
-A security constraint is an XML element found in a PSML file, a folder metadata file, or inthe global security declarations.
-A security constraint has one attribute: the name. A security constraint has the following elements:
-</p>
-<ul>
-    <li>roles - a comma-separated list of one or more role principals or * for all roles</li>
-    <li>groups - a comma-separated list of one or more group principals or * for all groups</li>
-    <li>users - a comma-separated list of one or more user principals or * for all users</li>
-    <li>owner - a single user principal</li>
-    <li>permissions - a comma-separated list of one or permissions (view,edit,help)</li>
-</ul>    
-<p>
-The first four elements (roles, groups, users, owner) all define the principals who will either have a permission granted or denied.
-</p>
-<subsection name='Permissions'>
-<p>
-Permissions are the portal modes that are granted by the security constraint. Note that permissions are only granted, not denied.
-The <b><i>view</i></b> permission is similiar to the <b><i>read</i></b> permission found in operating systems.
-The <b><i>edit</i></b> permission is similiar to the <b><i>write</i></b> permission found in operating systems.
-The <b><i>help</i></b> permission is similiar to the <b><i>info</i></b> permission found in some portals.
-</p>
-</subsection>
-
-<subsection name='Roles'>
-<p>
-Constraints can be granted to one or more role principals for a set of permissions on a given resource.
-Roles are derived from the authorized users list of role principals, i.e. the roles that the user is a member of.
-If the authorized user is a member of any of the listed roles, the permission to the resource will be granted.
-</p>
-<source><![CDATA[
-    <security-constraint>
-      <roles>adminstrator, manager</roles>    
-      <permissions>view, edit</permissions>
-    </security-constraint>
-]]></source>
-Constraints can also deny role principals access to the entire resource.
-If the authorized user is a member of any of the listed roles, all access to the resource is denied.
-<source><![CDATA[
-    <security-constraint>
-      <roles>adminstrator, manager</roles>    
-    </security-constraint>
-]]></source>
-</subsection>
-<subsection name='Groups'>
-    <p>
-Constraints can be granted to one or more group principals for a set of permissions on a given resource.
-Groups are derived from the authorized users list of group principals, i.e. the groups that the user is a member of.
-If the authorized user is a member of any of the listed groups, the permission to the resource will be granted.
-<source><![CDATA[
-    <security-constraint>
-      <groups>accounting, development</groups>    
-      <permissions>view</permissions>
-    </security-constraint>
-]]></source>
-Constraints can also deny group principals access to the entire resource.
-If the authorized user is a member of any of the listed groups, all access to the resource is denied.
-<source><![CDATA[
-    <security-constraint>
-      <groups>accounting, development</groups>    
-    </security-constraint>
-]]></source>
-</p>
-</subsection>
-<subsection name='Users'>
-    <p>
-Constraints can be granted to one or more user principals for a set of permissions on a given resource:
-The current user must be one of the listed principals in the comma-separated list in order to grant permission to the resource.
-<source><![CDATA[
-    <security-constraint>
-      <users>joey, deedee, johnny</users>    
-      <permissions>view, edit, help</permissions>
-    </security-constraint>
-]]></source>
-Constraints can also deny user principals access to the entire resource.
-If the authorized user is in the list, all access to the resource is denied.
-<source><![CDATA[
-    <security-constraint>
-      <users>fred</users>    
-    </security-constraint>
-]]></source>
-</p>
-</subsection>
-<subsection name='Combinations'>
-<p>
-Note that you can grant or deny permissions to a collection of one or more principal types. For example, here we grant view and edit permissions
-to the roles (manager, developer), and to the groups (QA and Research), and to the particular user (dilbert):
-If the authorized user is a member of any of the listed roles, groups, or users, the permission to the resource will be granted.
-</p>
-<source><![CDATA[
-    <security-constraint>
-      <roles>hacker, coder, guru</roles>    
-      <groups>unix, linux, freebsd</groups>
-      <users>betty, fred, barney, wilma</users>      
-      <permissions>view, edit</permissions>
-    </security-constraint>
-]]></source>
-<p>
-Constraints can also deny combinations of principals access to the entire resource.
-If the authorized user is a member of any of the listed groups, roles or users, all access to the resource is denied.
-</p>
-<source><![CDATA[
-    <security-constraint>
-      <roles>hacker, coder, guru</roles>    
-      <groups>unix, linux, freebsd</groups>
-      <users>betty, fred, barney, wilma</users>      
-    </security-constraint>
-]]></source>
-</subsection>
-<subsection name='All *'>
-<p>
-The * can be applied to roles, groups, users or permissions to imply ALL.
-<source><![CDATA[
-    <security-constraint>
-      <users>*</users>      
-      <permissions>*</permissions>
-    </security-constraint>
-]]></source>
-</p>
-</subsection>
-<subsection name='Owner'>
-    <p>
-    TODO
-    </p>
-</subsection>
-</section>
-<section name='Declarative and Global Constraints'>
-<p>
-Declarative constraints are declared in the <b><i>page.security</i></b> file of the root of a site.
-Declarative constraints are referenced in pages and folders with the <b><i>security-constraints-ref</i></b> tag.
-Global constraints are also declarative constraints. They are also defined and found in the <b><i>page.security</i></b> file in the root PSML repository.
-The difference with global constraints is that they implicitly apply to all folders and pages within the scope of the page.security file, (i.e. the site).
-Note that there can be only one <b><i>page.security</i></b> file in a Jetspeed installation.
-</p>
-<source><![CDATA[
-  <security-constraints-def name="admin">
-    <security-constraint>
-      <roles>admin</roles>
-      <permissions>view, edit</permissions>
-    </security-constraint>
-  </security-constraints-def>
-  <global-security-constraints-ref>admin</global-security-constraints-ref>
-]]></source>
-<subsection name='Default Constraints'>
-<p>
-    Several security constraint declarations are made in the default deployment of Jetspeed:
-<table>
-    <tr>
-        <th>name</th>
-        <th>grants</th>
-        <th>permissions</th>        
-        <th>global</th>
-    </tr>
-    <tr>
-        <td>admin</td>
-        <td>roles: admin</td>
-        <td>view, edit</td>        
-        <td>yes</td>
-    </tr>
-    <tr>
-        <td>manager</td>
-        <td>roles: manager</td>
-        <td>view</td>        
-        <td>no</td>
-    </tr>
-    <tr>
-        <td>users</td>
-        <td>roles: user, manager</td>
-        <td>view</td>        
-        <td>no</td>        
-    </tr>
-    <tr>
-        <td>public-view</td>
-        <td>users: *</td>
-        <td>view</td>        
-        <td>no</td>        
-    </tr>
-    <tr>
-        <td>public-edit</td>
-        <td>users: *</td>
-        <td>view, edit</td>        
-        <td>no</td>        
-    </tr>    
-</table>    
-</p>    
-</subsection>
-</section>
-<section name='Folder Constraints'>
-<p>
-Folder Security constraints are placed in a <b><il>security-constraints list</il></b> in the <b><i>folder.metadata</i></b> file optionally found in each folder in the site.
-Note that the absence of a <b><i>folder.metadata</i></b> or security constraints within that file means that the folder will
-inherit the constraints of the parent folder, all the way up to the root folder of the site or subsite. Folder constraints do
-not inherit across subsites. Folder security constraints are made up of declarative security constraints and referential security
-constraints. Here is an example of both, the first being a referential constraint, the second a declarative constraint:
-<source><![CDATA[
-  <security-constraints>
-    <security-constraints-ref>public-view</security-constraints-ref>
-    <security-constraint>
-      <groups>engineering</groups>
-      <permissions>view</permissions>
-    </security-constraint>    
-  </security-constraints>
-]]></source>
-</p>
-<p>
-Note that all security constraints must be placed within a <b><i>security-constraints</i></b> collection.
-</p>
-</section>
-<section name='Page Constraints'>
-<p>
-Page Security constraints are placed <b><il>security-constraints list</il></b> 
-in <b><i>PSML</i></b> files and are optional.
-Note that the absence of a  security constraints list within that file means that the folder will
-inherit the constraints of the folder in which it resides.  Page security constraints are made up of 
-declarative security constraints and referential security
-constraints. Here is an example of both, the first being a referential constraint, the second a declarative constraint:
-</p>
-<source><![CDATA[
-  <security-constraints>
-    <security-constraints-ref>global-view</security-constraints-ref>
-    <security-constraint>
-      <groups>accounting</groups>
-      <permissions>view, edit</permissions>
-    </security-constraint>    
-  </security-constraints>
-]]></source>
-<p>
-Note that all security constraints must be placed within a <b><i>security-constraints</i></b> collection.
-</p>
-</section>
-<section name='Fragment Constraints'>
-<p>
-As with Page Security constraints, Fragment Security constraints are placed within
-<b><il>security-constraints list</il></b> in <b><i>PSML</i></b> page files and are
-again optional. As expected, the absence of a security constraints list implies the
-fragment will inherit the constraints of the page of which it is a part. Note that
-only the view permission is checked against these constraints. Other permissions
-are tested only against the containing page.
-</p>
-</section>
-<section name="Spring Configuration">
-<p>
-Declarative Security Constraints are enabled by default in the Spring configuration of the
-Page Manager component. Here is the default Page Manager bean configuration from the
-<b><i>page-manager.xml</i></b> spring assembly configuration file:
-</p>
-<source><![CDATA[
-  <bean id="org.apache.jetspeed.page.PageManager" 
-       name="pageManager"
-       class="org.apache.jetspeed.page.psml.CastorXmlPageManager">         
-       <constructor-arg index="0"><ref bean="IdGenerator"/></constructor-arg>
-       <constructor-arg index="1"><ref bean="DocumentHandlerFactory"/></constructor-arg>
-       <constructor-arg index="2"><ref bean="FolderHandler"/></constructor-arg>
-       <constructor-arg index="3"><ref bean="PageFileCache"/></constructor-arg>        
-       <!-- permissions security enabled flag, default=false -->
-       <constructor-arg index="4"><value>false</value></constructor-arg>
-       <!-- constraints security enabled flag, default=true -->
-       <constructor-arg index="5"><value>true</value></constructor-arg>
-  </bean>
-]]></source>
-<p>
-Here the 6th, (index="5"), boolean constructor argument specifies whether or
-not the "constraints security" model is enabled. If the Declarative Security Constraints
-are not enabled, all inline, referenced, and global security constraints will be ignored. 
-</p>
-</section>
-
-</body>
-</document>
+<?xml version="1.0"?>
+<!--
+Copyright 2004-2005 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<document>
+  <properties>
+    <title>Guide to Declarative Security through PSML</title>
+    <subtitle>Guide to Declarative Security through PSML</subtitle>
+    <authors>
+      <person name="David Sean Taylor" email="taylor@apache.org"/>
+      <person name="Randy Watler" email="rwatler@apache.org"/>
+    </authors>
+  </properties>
+  <body>
+<section name="Security Constraints">
+<p>
+<ul>
+	<li><a href="#The Security Constraint">Security Constraint</a></li>	      
+	<li><a href="#Declarative and Global Constraints">Declarative and Global Constraints</a></li>	 
+    <li><a href="#Folder Constraints">Folder Constraints</a></li>
+    <li><a href="#Page Constraints">Page Constraints</a></li>    
+    <li><a href="#Fragment Constraints">Fragment Constraints</a></li>    
+    <li><a href="#Spring Configuration">Spring Configuration</a></li>    
+    <li><a href="guide-psml-dtd.html#PSML_DTDs">PSML Document DTDs</a></li>        
+</ul>
+</p>
+<p>
+Security Constraints are applied to pages and folders.  Security Constraints either grant or deny 
+access to pages and folders.  Constraints can be defined in one or all of these four places:
+<ul>
+    <li>1. <b>Global:</b> As declarations in the <b><i>page.security</i></b> file found in the root of the PSML tree.</li>
+    <li>2. <b>Folder:</b> In the <b><i>folder.metadata</i></b> file optionally located in every directory.</li>    
+    <li>3. <b>Page:</b> In PSML files to constrain access to specific pages.</li>
+    <li>4. <b>Fragment:</b> In page PSML files to constrain access to a specific fragment within a page.</li>
+</ul>
+</p>
+<subsection name='Grants'>
+<p>
+Grants are associated with permissions, authorizing, or granting, a principal list 
+access to a page or folder.    
+A granting security constraint is the association of a list of one 
+or more security principals combined with one or permissions. Grant constraints grant access to a page or folder
+for the associated list of permissions. 
+</p>
+</subsection>
+<subsection name='Denies'>
+<p>
+A deny security constraint is declared 
+with one or more security principals; with no associated permissions. Deny constraints prohibit access
+to the page or folder for the given list of principals. Note that deny constraints
+must be listed before grant constraints.
+</p>
+</subsection>
+<subsection name='Declarative and Referential Constraints'>
+<p>
+When working with pages and folder resource constraints, a constraint can be either 
+a <b><i>declarative constraint</i></b> or a <b><i>referential</i></b> constraint.
+Declarative constraints are declared and put to use right in place for the particular
+page or folder resource. Where as referential constraints refer to a constraint declared
+in a centralized security constraint resource: the <b><i>page.security</i></b> file. Each
+site or subsite can have one <b><i>page.security</i></b> resource for declaring constraints
+to be referenced in any page or folder.
+</p>
+</subsection>
+</section>
+<section name='The Security Constraint'>
+<p>
+A security constraint is an XML element found in a PSML file, a folder metadata file, or inthe global security declarations.
+A security constraint has one attribute: the name. A security constraint has the following elements:
+</p>
+<ul>
+    <li>roles - a comma-separated list of one or more role principals or * for all roles</li>
+    <li>groups - a comma-separated list of one or more group principals or * for all groups</li>
+    <li>users - a comma-separated list of one or more user principals or * for all users</li>
+    <li>owner - a single user principal</li>
+    <li>permissions - a comma-separated list of one or permissions (view,edit,help)</li>
+</ul>    
+<p>
+The first four elements (roles, groups, users, owner) all define the principals who will either have a permission granted or denied.
+</p>
+<subsection name='Permissions'>
+<p>
+Permissions are the portal modes that are granted by the security constraint. Note that permissions are only granted, not denied.
+The <b><i>view</i></b> permission is similiar to the <b><i>read</i></b> permission found in operating systems.
+The <b><i>edit</i></b> permission is similiar to the <b><i>write</i></b> permission found in operating systems.
+The <b><i>help</i></b> permission is similiar to the <b><i>info</i></b> permission found in some portals.
+</p>
+</subsection>
+
+<subsection name='Roles'>
+<p>
+Constraints can be granted to one or more role principals for a set of permissions on a given resource.
+Roles are derived from the authorized users list of role principals, i.e. the roles that the user is a member of.
+If the authorized user is a member of any of the listed roles, the permission to the resource will be granted.
+</p>
+<source><![CDATA[
+    <security-constraint>
+      <roles>adminstrator, manager</roles>    
+      <permissions>view, edit</permissions>
+    </security-constraint>
+]]></source>
+Constraints can also deny role principals access to the entire resource.
+If the authorized user is a member of any of the listed roles, all access to the resource is denied.
+<source><![CDATA[
+    <security-constraint>
+      <roles>adminstrator, manager</roles>    
+    </security-constraint>
+]]></source>
+</subsection>
+<subsection name='Groups'>
+    <p>
+Constraints can be granted to one or more group principals for a set of permissions on a given resource.
+Groups are derived from the authorized users list of group principals, i.e. the groups that the user is a member of.
+If the authorized user is a member of any of the listed groups, the permission to the resource will be granted.
+<source><![CDATA[
+    <security-constraint>
+      <groups>accounting, development</groups>    
+      <permissions>view</permissions>
+    </security-constraint>
+]]></source>
+Constraints can also deny group principals access to the entire resource.
+If the authorized user is a member of any of the listed groups, all access to the resource is denied.
+<source><![CDATA[
+    <security-constraint>
+      <groups>accounting, development</groups>    
+    </security-constraint>
+]]></source>
+</p>
+</subsection>
+<subsection name='Users'>
+    <p>
+Constraints can be granted to one or more user principals for a set of permissions on a given resource:
+The current user must be one of the listed principals in the comma-separated list in order to grant permission to the resource.
+<source><![CDATA[
+    <security-constraint>
+      <users>joey, deedee, johnny</users>    
+      <permissions>view, edit, help</permissions>
+    </security-constraint>
+]]></source>
+Constraints can also deny user principals access to the entire resource.
+If the authorized user is in the list, all access to the resource is denied.
+<source><![CDATA[
+    <security-constraint>
+      <users>fred</users>    
+    </security-constraint>
+]]></source>
+</p>
+</subsection>
+<subsection name='Combinations'>
+<p>
+Note that you can grant or deny permissions to a collection of one or more principal types. For example, here we grant view and edit permissions
+to the roles (manager, developer), and to the groups (QA and Research), and to the particular user (dilbert):
+If the authorized user is a member of any of the listed roles, groups, or users, the permission to the resource will be granted.
+</p>
+<source><![CDATA[
+    <security-constraint>
+      <roles>hacker, coder, guru</roles>    
+      <groups>unix, linux, freebsd</groups>
+      <users>betty, fred, barney, wilma</users>      
+      <permissions>view, edit</permissions>
+    </security-constraint>
+]]></source>
+<p>
+Constraints can also deny combinations of principals access to the entire resource.
+If the authorized user is a member of any of the listed groups, roles or users, all access to the resource is denied.
+</p>
+<source><![CDATA[
+    <security-constraint>
+      <roles>hacker, coder, guru</roles>    
+      <groups>unix, linux, freebsd</groups>
+      <users>betty, fred, barney, wilma</users>      
+    </security-constraint>
+]]></source>
+</subsection>
+<subsection name='All *'>
+<p>
+The * can be applied to roles, groups, users or permissions to imply ALL.
+<source><![CDATA[
+    <security-constraint>
+      <users>*</users>      
+      <permissions>*</permissions>
+    </security-constraint>
+]]></source>
+</p>
+</subsection>
+<subsection name='Owner'>
+    <p>
+    TODO
+    </p>
+</subsection>
+</section>
+<section name='Declarative and Global Constraints'>
+<p>
+Declarative constraints are declared in the <b><i>page.security</i></b> file of the root of a site.
+Declarative constraints are referenced in pages and folders with the <b><i>security-constraints-ref</i></b> tag.
+Global constraints are also declarative constraints. They are also defined and found in the <b><i>page.security</i></b> file in the root PSML repository.
+The difference with global constraints is that they implicitly apply to all folders and pages within the scope of the page.security file, (i.e. the site).
+Note that there can be only one <b><i>page.security</i></b> file in a Jetspeed installation.
+</p>
+<source><![CDATA[
+  <security-constraints-def name="admin">
+    <security-constraint>
+      <roles>admin</roles>
+      <permissions>view, edit</permissions>
+    </security-constraint>
+  </security-constraints-def>
+  <global-security-constraints-ref>admin</global-security-constraints-ref>
+]]></source>
+<subsection name='Default Constraints'>
+<p>
+    Several security constraint declarations are made in the default deployment of Jetspeed:
+<table>
+    <tr>
+        <th>name</th>
+        <th>grants</th>
+        <th>permissions</th>        
+        <th>global</th>
+    </tr>
+    <tr>
+        <td>admin</td>
+        <td>roles: admin</td>
+        <td>view, edit</td>        
+        <td>yes</td>
+    </tr>
+    <tr>
+        <td>manager</td>
+        <td>roles: manager</td>
+        <td>view</td>        
+        <td>no</td>
+    </tr>
+    <tr>
+        <td>users</td>
+        <td>roles: user, manager</td>
+        <td>view</td>        
+        <td>no</td>        
+    </tr>
+    <tr>
+        <td>public-view</td>
+        <td>users: *</td>
+        <td>view</td>        
+        <td>no</td>        
+    </tr>
+    <tr>
+        <td>public-edit</td>
+        <td>users: *</td>
+        <td>view, edit</td>        
+        <td>no</td>        
+    </tr>    
+</table>    
+</p>    
+</subsection>
+</section>
+<section name='Folder Constraints'>
+<p>
+Folder Security constraints are placed in a <b><il>security-constraints list</il></b> in the <b><i>folder.metadata</i></b> file optionally found in each folder in the site.
+Note that the absence of a <b><i>folder.metadata</i></b> or security constraints within that file means that the folder will
+inherit the constraints of the parent folder, all the way up to the root folder of the site or subsite. Folder constraints do
+not inherit across subsites. Folder security constraints are made up of declarative security constraints and referential security
+constraints. Here is an example of both, the first being a referential constraint, the second a declarative constraint:
+<source><![CDATA[
+  <security-constraints>
+    <security-constraints-ref>public-view</security-constraints-ref>
+    <security-constraint>
+      <groups>engineering</groups>
+      <permissions>view</permissions>
+    </security-constraint>    
+  </security-constraints>
+]]></source>
+</p>
+<p>
+Note that all security constraints must be placed within a <b><i>security-constraints</i></b> collection.
+</p>
+</section>
+<section name='Page Constraints'>
+<p>
+Page Security constraints are placed <b><il>security-constraints list</il></b> 
+in <b><i>PSML</i></b> files and are optional.
+Note that the absence of a  security constraints list within that file means that the folder will
+inherit the constraints of the folder in which it resides.  Page security constraints are made up of 
+declarative security constraints and referential security
+constraints. Here is an example of both, the first being a referential constraint, the second a declarative constraint:
+</p>
+<source><![CDATA[
+  <security-constraints>
+    <security-constraints-ref>global-view</security-constraints-ref>
+    <security-constraint>
+      <groups>accounting</groups>
+      <permissions>view, edit</permissions>
+    </security-constraint>    
+  </security-constraints>
+]]></source>
+<p>
+Note that all security constraints must be placed within a <b><i>security-constraints</i></b> collection.
+</p>
+</section>
+<section name='Fragment Constraints'>
+<p>
+As with Page Security constraints, Fragment Security constraints are placed within
+<b><il>security-constraints list</il></b> in <b><i>PSML</i></b> page files and are
+again optional. As expected, the absence of a security constraints list implies the
+fragment will inherit the constraints of the page of which it is a part. Note that
+only the view permission is checked against these constraints. Other permissions
+are tested only against the containing page.
+</p>
+</section>
+<section name="Spring Configuration">
+<p>
+Declarative Security Constraints are enabled by default in the Spring configuration of the
+Page Manager component. Here is the default Page Manager bean configuration from the
+<b><i>page-manager.xml</i></b> spring assembly configuration file:
+</p>
+<source><![CDATA[
+  <bean id="org.apache.jetspeed.page.PageManager" 
+       name="pageManager"
+       class="org.apache.jetspeed.page.psml.CastorXmlPageManager">         
+       <constructor-arg index="0"><ref bean="IdGenerator"/></constructor-arg>
+       <constructor-arg index="1"><ref bean="DocumentHandlerFactory"/></constructor-arg>
+       <constructor-arg index="2"><ref bean="FolderHandler"/></constructor-arg>
+       <constructor-arg index="3"><ref bean="PageFileCache"/></constructor-arg>        
+       <!-- permissions security enabled flag, default=false -->
+       <constructor-arg index="4"><value>false</value></constructor-arg>
+       <!-- constraints security enabled flag, default=true -->
+       <constructor-arg index="5"><value>true</value></constructor-arg>
+  </bean>
+]]></source>
+<p>
+Here the 6th, (index="5"), boolean constructor argument specifies whether or
+not the "constraints security" model is enabled. If the Declarative Security Constraints
+are not enabled, all inline, referenced, and global security constraints will be ignored. 
+</p>
+</section>
+
+</body>
+</document>

Propchange: portals/jetspeed-2/trunk/xdocs/guides/guide-security-declarative-psml.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: portals/jetspeed-2/trunk/xdocs/guides/guide-security.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/xdocs/guides/guide-security.xml?view=diff&rev=514329&r1=514328&r2=514329
==============================================================================
--- portals/jetspeed-2/trunk/xdocs/guides/guide-security.xml (original)
+++ portals/jetspeed-2/trunk/xdocs/guides/guide-security.xml Sat Mar  3 18:13:22 2007
@@ -1,66 +1,66 @@
-<?xml version="1.0"?>
-<!--
-	Copyright 2004 The Apache Software Foundation
-	
-	Licensed under the Apache License, Version 2.0 (the "License");
-	you may not use this file except in compliance with the License.
-	You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
--->
-<document>
-	<properties>
-		<title>Guide to Security</title>
-		<subtitle>Security Configuration Overview</subtitle>
-		<authors>
-			<person name="David Le Strat" email="dlestrat@apache.org" />
-		</authors>
-	</properties>
-	<body>
-		<section name="Configuring Jetspeed-2 Security">
-			<p>
-				An overview of Jetspeed-2 security architecture is
-				available
-				<a href="../multiproject/jetspeed-security/arch.html">
-					here
-				</a>
-				.
-			</p>
-			<subsection name="Guide to Authentication Configuration">
-				<p>
-					Jetspeed-2 provides a
-					<a
-						href="../multiproject/jetspeed-security/login-module.html">
-						LoginModule implementation
-					</a>
-					that leverage the security SPI model to interact
-					with multiple authentication mechanisms.
-				</p>
-				<p>
-					Jetspeed authentication configuration is managed by the <i>security-spi-atn.xml</i> located in 
-					the <a href="guide-portal-assembly.html">portal application assembly directory</a>.  Jetspeed-2
-					supports authentication against:
-					<ul>
-						<li>A <a href="../multiproject/jetspeed-security/config.html#security-spi-atn_xml">relational database</a> (default authentication implementation).</li>
-						<li>A <a href="../multiproject/jetspeed-security/ldap.html">LDAP authentication</a> implementation.</li>
-				    </ul>
-				</p>
-			</subsection>
-			<subsection name="Guide to Authorization Configuration">
-				<p>
-					Jetspeed-2 provides a <a href="http://portals.apache.org/jetspeed-2/multiproject/jetspeed-security/atz-jaas.html">relational database backed JAAS policy implementation</a>.
-				</p>
-				<p>
-					Jetspeed-2 authorization implementation relies on a SPI model as well and is configured through <code>security-spi-atz.xml</code>.
-					Configuration details are available <a href="../multiproject/jetspeed-security/config.html">here</a>.
-				</p>
-			</subsection>
-		</section>
-	</body>
+<?xml version="1.0"?>
+<!--
+	Copyright 2004 The Apache Software Foundation
+	
+	Licensed under the Apache License, Version 2.0 (the "License");
+	you may not use this file except in compliance with the License.
+	You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+-->
+<document>
+	<properties>
+		<title>Guide to Security</title>
+		<subtitle>Security Configuration Overview</subtitle>
+		<authors>
+			<person name="David Le Strat" email="dlestrat@apache.org" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Configuring Jetspeed-2 Security">
+			<p>
+				An overview of Jetspeed-2 security architecture is
+				available
+				<a href="../multiproject/jetspeed-security/arch.html">
+					here
+				</a>
+				.
+			</p>
+			<subsection name="Guide to Authentication Configuration">
+				<p>
+					Jetspeed-2 provides a
+					<a
+						href="../multiproject/jetspeed-security/login-module.html">
+						LoginModule implementation
+					</a>
+					that leverage the security SPI model to interact
+					with multiple authentication mechanisms.
+				</p>
+				<p>
+					Jetspeed authentication configuration is managed by the <i>security-spi-atn.xml</i> located in 
+					the <a href="guide-portal-assembly.html">portal application assembly directory</a>.  Jetspeed-2
+					supports authentication against:
+					<ul>
+						<li>A <a href="../multiproject/jetspeed-security/config.html#security-spi-atn_xml">relational database</a> (default authentication implementation).</li>
+						<li>A <a href="../multiproject/jetspeed-security/ldap.html">LDAP authentication</a> implementation.</li>
+				    </ul>
+				</p>
+			</subsection>
+			<subsection name="Guide to Authorization Configuration">
+				<p>
+					Jetspeed-2 provides a <a href="http://portals.apache.org/jetspeed-2/multiproject/jetspeed-security/atz-jaas.html">relational database backed JAAS policy implementation</a>.
+				</p>
+				<p>
+					Jetspeed-2 authorization implementation relies on a SPI model as well and is configured through <code>security-spi-atz.xml</code>.
+					Configuration details are available <a href="../multiproject/jetspeed-security/config.html">here</a>.
+				</p>
+			</subsection>
+		</section>
+	</body>
 </document>

Propchange: portals/jetspeed-2/trunk/xdocs/guides/guide-security.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: portals/jetspeed-2/trunk/xdocs/guides/guide-simple-jsf-portlet.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/xdocs/guides/guide-simple-jsf-portlet.xml?view=diff&rev=514329&r1=514328&r2=514329
==============================================================================
--- portals/jetspeed-2/trunk/xdocs/guides/guide-simple-jsf-portlet.xml (original)
+++ portals/jetspeed-2/trunk/xdocs/guides/guide-simple-jsf-portlet.xml Sat Mar  3 18:13:22 2007
@@ -1,201 +1,201 @@
-<?xml version="1.0"?>
-<!--
-	Copyright 2006 The Apache Software Foundation
-	
-	Licensed under the Apache License, Version 2.0 (the "License");
-	you may not use this file except in compliance with the License.
-	You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
--->
-<document>
-	<properties>
-		<title>Jetspeed Simple JSF Portlet Guide</title>
-		<subtitle>Documentation for Creating a Simple JSF Portlet</subtitle>
-		<authors>
-			<person name="David Le Strat" email="dlestrat@apache.org" />
-			<person name="Philip Mark Donaghy" email="philip.donaghy@gmail.com" />
-		</authors>
-	</properties>
-	<body>
-		<section name="Jetspeed Simple JSF Portlet Guide">
-			<p>
-				This guide provides a tutorial for creating a very
-				simple JSF portlet with one template in the portlet view mode.
-			</p>
-			<subsection name="1. The Portlet Class">
-				<p>
-				Create the file JSFSimplest.java in a directory called
-				jsf-simplest/WEB-INF/classes:
-				<source>
-public class JSFSimplest extends org.apache.portals.bridges.jsf.FacesPortlet
-{
-
-    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
-                throws javax.portlet.PortletException, java.io.IOException
-    {
-        super.doView(request, response);
-    }
-}
-				</source>
-				</p>
-				<p>
-				Compile the class in the jsf-simplest/WEB-INF/classes directory using the command,
-				<source>
-javac -cp portlet-api-1.0.jar:portals-bridges-jsf-1.0.jar:portals-bridges-common-1.0.jar JSFSimplest.java
-				</source>
-				</p>
-			</subsection>
-			<subsection name="2. The portlet.xml">
-			<p>
-			Create the file portlet.xml in the jsf-simplest/WEB-INF directory.
-			<source><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<portlet-app id="jsfsimplest" version="1.0">
-  <portlet id="JSFSimplest">
-    <portlet-name>JSFSimplestPortlet</portlet-name>
-    <display-name>JSF Simplest Display Name</display-name>
-    <portlet-class>JSFSimplest</portlet-class>
-    <init-param>
-        <name>ViewPage</name>
-        <value>/WEB-INF/view/view.jsp</value>
-    </init-param>
-    <supports>
-      <mime-type>text/html</mime-type>
-      <portlet-mode>VIEW</portlet-mode>
-    </supports>
-    <supported-locale>en</supported-locale>
-    <supported-locale>fr</supported-locale>
-    <portlet-info>
-      <title>JSF Simplest Title</title>
-      <short-title>JSF Simplest Short Title</short-title>
-    </portlet-info>
-  </portlet>
-</portlet-app>]]>
-			</source>
-			</p>
-			</subsection>
-			<subsection name="3. The web.xml">
-			<p>
-			Create the file web.xml in the jsf-simplest/WEB-INF directory.
-			<source><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-                         "http://java.sun.com/dtd/web-app_2_3.dtd">
-<web-app>
-  <display-name>JSF Simplest</display-name>
-  <description>The world's simplest JSF portlet</description>
-
-  <!-- Faces Config -->
-  <context-param>
-    <param-name>javax.faces.application.CONFIG_FILES</param-name>
-    <param-value>/WEB-INF/faces-config.xml</param-value>
-  </context-param>
-
-  <!-- Faces Servlet -->
-  <servlet>
-    <servlet-name>Faces Servlet</servlet-name>
-    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-  </servlet>
-
-  <!-- Faces extension mapping -->
-  <servlet-mapping>
-    <servlet-name>Faces Servlet</servlet-name>
-    <url-pattern>*.jsf</url-pattern>
-  </servlet-mapping>
-</web-app>]]>
-			</source>
-			</p>
-			</subsection>
-			<subsection name="4. The View">
-			<p>
-                        Create the view.jsp file in the jsf-simplest/WEB-INF/view directory.
-<source><![CDATA[
-<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
-<%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix='portlet'%>
-<portlet:defineObjects/>
-<f:view>
-   <h2>A JSF Portlet</h2>
-   Hello
-   <% if ( renderRequest.getUserPrincipal() == null ) { %>
-   guest
-   <% } else { %>
-   <%=renderRequest.getUserPrincipal().getName()%>
-   <% } %>!
-</f:view>]]>
-</source>
-			</p>
-			</subsection>
-			<subsection name="5. The faces-config.xml">
-			<p>
-                        Create a faces-config.xml file in the jsf-simplest/WEB-INF directory.
-<source><![CDATA[
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE faces-config PUBLIC
-  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
-  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
-
-<faces-config>
-
-  <application>
-    <locale-config>
-      <default-locale>en</default-locale>
-      <supported-locale>fr</supported-locale>
-    </locale-config>
-  </application>
-
-</faces-config>]]>
-</source>
-			</p>
-			</subsection>
-			<subsection name="6. The Dependency JARs">
-			<p>
-                        Copy the dependencies to the WEB-INF/lib directory. 
-                        These jars should be in your Maven repository. If so executing these commands in the lib
-                        directory will set up the dependencies for you.
-<source>
-ln -s ~/.maven/repository/commons-beanutils/jars/commons-beanutils-1.7.0.jar
-ln -s ~/.maven/repository/commons-collections/jars/commons-collections-3.1.jar
-ln -s ~/.maven/repository/commons-digester/jars/commons-digester-1.7.jar
-ln -s ~/.maven/repository/myfaces/jars/myfaces-api-1.1.0.jar
-ln -s ~/.maven/repository/myfaces/jars/myfaces-impl-1.1.0.jar
-ln -s ~/.maven/repository/myfaces/jars/tomahawk-1.1.0.jar
-ln -s ~/.maven/repository/org.apache.portals.bridges/jars/portals-bridges-jsf-1.0.jar
-ln -s ~/.maven/repository/xerces/jars/xerces-2.4.0.jar
-ln -s ~/.maven/repository/xml-apis/jars/xml-apis-2.0.2.jar
-</source>
-			</p>
-			</subsection>
-			<subsection name="7. The WAR file">
-			<p>
-			From the directory jsf-simplest combine the files above into a war file using the command,
-			<source>
-jar cvf ../jsfsimplest.war .
-			</source>
-			</p>
-			</subsection>
-			<subsection name="8. Deploy the WAR file">
-			<p>
-			Copy the war file to <code>$CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy</code>.
-                        Jetspeed-2 will deploy the webapp.
-			</p>
-			</subsection>
-			<subsection name="9. The PSML">
-			<p>
-                        Create the PSML page using the Jetspeed portlet chooser. Login and click on the
-                        edit page icon. Click on the add portlet icon.
-                        Checkbox and add the JSFSimplestPortlet to your page.
-                        Your user must have the permission to edit pages. The user <code>admin</code>
-                        password
-                        <code>admin</code> has permission to edit all pages.
-			</p>
-			</subsection>
-		</section>
-	</body>
-</document>
+<?xml version="1.0"?>
+<!--
+	Copyright 2006 The Apache Software Foundation
+	
+	Licensed under the Apache License, Version 2.0 (the "License");
+	you may not use this file except in compliance with the License.
+	You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+-->
+<document>
+	<properties>
+		<title>Jetspeed Simple JSF Portlet Guide</title>
+		<subtitle>Documentation for Creating a Simple JSF Portlet</subtitle>
+		<authors>
+			<person name="David Le Strat" email="dlestrat@apache.org" />
+			<person name="Philip Mark Donaghy" email="philip.donaghy@gmail.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Jetspeed Simple JSF Portlet Guide">
+			<p>
+				This guide provides a tutorial for creating a very
+				simple JSF portlet with one template in the portlet view mode.
+			</p>
+			<subsection name="1. The Portlet Class">
+				<p>
+				Create the file JSFSimplest.java in a directory called
+				jsf-simplest/WEB-INF/classes:
+				<source>
+public class JSFSimplest extends org.apache.portals.bridges.jsf.FacesPortlet
+{
+
+    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
+                throws javax.portlet.PortletException, java.io.IOException
+    {
+        super.doView(request, response);
+    }
+}
+				</source>
+				</p>
+				<p>
+				Compile the class in the jsf-simplest/WEB-INF/classes directory using the command,
+				<source>
+javac -cp portlet-api-1.0.jar:portals-bridges-jsf-1.0.jar:portals-bridges-common-1.0.jar JSFSimplest.java
+				</source>
+				</p>
+			</subsection>
+			<subsection name="2. The portlet.xml">
+			<p>
+			Create the file portlet.xml in the jsf-simplest/WEB-INF directory.
+			<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app id="jsfsimplest" version="1.0">
+  <portlet id="JSFSimplest">
+    <portlet-name>JSFSimplestPortlet</portlet-name>
+    <display-name>JSF Simplest Display Name</display-name>
+    <portlet-class>JSFSimplest</portlet-class>
+    <init-param>
+        <name>ViewPage</name>
+        <value>/WEB-INF/view/view.jsp</value>
+    </init-param>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>VIEW</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <supported-locale>fr</supported-locale>
+    <portlet-info>
+      <title>JSF Simplest Title</title>
+      <short-title>JSF Simplest Short Title</short-title>
+    </portlet-info>
+  </portlet>
+</portlet-app>]]>
+			</source>
+			</p>
+			</subsection>
+			<subsection name="3. The web.xml">
+			<p>
+			Create the file web.xml in the jsf-simplest/WEB-INF directory.
+			<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+                         "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+  <display-name>JSF Simplest</display-name>
+  <description>The world's simplest JSF portlet</description>
+
+  <!-- Faces Config -->
+  <context-param>
+    <param-name>javax.faces.application.CONFIG_FILES</param-name>
+    <param-value>/WEB-INF/faces-config.xml</param-value>
+  </context-param>
+
+  <!-- Faces Servlet -->
+  <servlet>
+    <servlet-name>Faces Servlet</servlet-name>
+    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+  </servlet>
+
+  <!-- Faces extension mapping -->
+  <servlet-mapping>
+    <servlet-name>Faces Servlet</servlet-name>
+    <url-pattern>*.jsf</url-pattern>
+  </servlet-mapping>
+</web-app>]]>
+			</source>
+			</p>
+			</subsection>
+			<subsection name="4. The View">
+			<p>
+                        Create the view.jsp file in the jsf-simplest/WEB-INF/view directory.
+<source><![CDATA[
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix='portlet'%>
+<portlet:defineObjects/>
+<f:view>
+   <h2>A JSF Portlet</h2>
+   Hello
+   <% if ( renderRequest.getUserPrincipal() == null ) { %>
+   guest
+   <% } else { %>
+   <%=renderRequest.getUserPrincipal().getName()%>
+   <% } %>!
+</f:view>]]>
+</source>
+			</p>
+			</subsection>
+			<subsection name="5. The faces-config.xml">
+			<p>
+                        Create a faces-config.xml file in the jsf-simplest/WEB-INF directory.
+<source><![CDATA[
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE faces-config PUBLIC
+  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
+  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
+
+<faces-config>
+
+  <application>
+    <locale-config>
+      <default-locale>en</default-locale>
+      <supported-locale>fr</supported-locale>
+    </locale-config>
+  </application>
+
+</faces-config>]]>
+</source>
+			</p>
+			</subsection>
+			<subsection name="6. The Dependency JARs">
+			<p>
+                        Copy the dependencies to the WEB-INF/lib directory. 
+                        These jars should be in your Maven repository. If so executing these commands in the lib
+                        directory will set up the dependencies for you.
+<source>
+ln -s ~/.maven/repository/commons-beanutils/jars/commons-beanutils-1.7.0.jar
+ln -s ~/.maven/repository/commons-collections/jars/commons-collections-3.1.jar
+ln -s ~/.maven/repository/commons-digester/jars/commons-digester-1.7.jar
+ln -s ~/.maven/repository/myfaces/jars/myfaces-api-1.1.0.jar
+ln -s ~/.maven/repository/myfaces/jars/myfaces-impl-1.1.0.jar
+ln -s ~/.maven/repository/myfaces/jars/tomahawk-1.1.0.jar
+ln -s ~/.maven/repository/org.apache.portals.bridges/jars/portals-bridges-jsf-1.0.jar
+ln -s ~/.maven/repository/xerces/jars/xerces-2.4.0.jar
+ln -s ~/.maven/repository/xml-apis/jars/xml-apis-2.0.2.jar
+</source>
+			</p>
+			</subsection>
+			<subsection name="7. The WAR file">
+			<p>
+			From the directory jsf-simplest combine the files above into a war file using the command,
+			<source>
+jar cvf ../jsfsimplest.war .
+			</source>
+			</p>
+			</subsection>
+			<subsection name="8. Deploy the WAR file">
+			<p>
+			Copy the war file to <code>$CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy</code>.
+                        Jetspeed-2 will deploy the webapp.
+			</p>
+			</subsection>
+			<subsection name="9. The PSML">
+			<p>
+                        Create the PSML page using the Jetspeed portlet chooser. Login and click on the
+                        edit page icon. Click on the add portlet icon.
+                        Checkbox and add the JSFSimplestPortlet to your page.
+                        Your user must have the permission to edit pages. The user <code>admin</code>
+                        password
+                        <code>admin</code> has permission to edit all pages.
+			</p>
+			</subsection>
+		</section>
+	</body>
+</document>

Propchange: portals/jetspeed-2/trunk/xdocs/guides/guide-simple-jsf-portlet.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: portals/jetspeed-2/trunk/xdocs/guides/guide-simple-portlet.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/xdocs/guides/guide-simple-portlet.xml?view=diff&rev=514329&r1=514328&r2=514329
==============================================================================
--- portals/jetspeed-2/trunk/xdocs/guides/guide-simple-portlet.xml (original)
+++ portals/jetspeed-2/trunk/xdocs/guides/guide-simple-portlet.xml Sat Mar  3 18:13:22 2007
@@ -1,151 +1,151 @@
-<?xml version="1.0"?>
-<!--
-	Copyright 2004 The Apache Software Foundation
-	
-	Licensed under the Apache License, Version 2.0 (the "License");
-	you may not use this file except in compliance with the License.
-	You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
--->
-<document>
-	<properties>
-		<title>Jetspeed Simple Portlet Guide</title>
-		<subtitle>Documentation for Creating a Simple Portlet</subtitle>
-		<authors>
-			<person name="David Le Strat" email="dlestrat@apache.org" />
-			<person name="Philip Mark Donaghy" email="philip.donaghy@gmail.com" />
-		</authors>
-	</properties>
-	<body>
-		<section name="Jetspeed Simple Portlet Guide">
-			<p>
-				This guide provides a tutorial for creating a very
-				simple portlet. Portlets developers should follow the
-				steps below.
-			</p>
-			<subsection name="1. The Portlet Class">
-				<p>
-				Create the file Simplest.java in a directory called
-				simplest/WEB-INF/classes:
-				<source>
-public class Simplest extends javax.portlet.GenericPortlet
-{
-    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
-                throws javax.portlet.PortletException, java.io.IOException
-    {
-            response.setContentType("text/html");
-            response.getWriter().println("A very simple portlet.");
-    }
-}
-				</source>
-				</p>
-				<p>
-				Compile the class using the command,
-				<source>
-javac -cp $CATALINA_HOME/shared/lib/portlet-api-1.0.jar Simplest.java
-				</source>
-				</p>
-			</subsection>
-			<subsection name="2. The portlet.xml">
-			<p>
-			Create the file portlet.xml in the simplest/WEB-INF directory.
-			<source><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<portlet-app id="simplest" version="1.0">
-  <portlet id="Simplest">
-    <portlet-name>Simplest</portlet-name>
-    <display-name>Simple Display Name</display-name>
-    <portlet-class>Simplest</portlet-class>
-    <supports>
-      <mime-type>text/html</mime-type>
-      <portlet-mode>VIEW</portlet-mode>
-    </supports>
-    <supported-locale>en</supported-locale>
-    <portlet-info>
-      <title>Simple Title</title>
-      <short-title>The world's simplest portlet</short-title>
-    </portlet-info>
-  </portlet>
-</portlet-app>]]>
-			</source>
-			</p>
-			</subsection>
-			<subsection name="3. The web.xml">
-			<p>
-			Create the file web.xml in the simplest WEB-INF directory.
-			<source><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-                         "http://java.sun.com/dtd/web-app_2_3.dtd">
-<web-app>
-  <display-name>Simplest</display-name>
-  <description>The world's simplest portlet</description>
-</web-app>]]>
-			</source>
-			</p>
-			</subsection>
-			<subsection name="4. The WAR file">
-			<p>
-			From the directory simplest combine the files above into a war file using the command,
-			<source>
-jar cvf ../simplest.war .
-			</source>
-			</p>
-			</subsection>
-			<subsection name="5. Deploy the WAR file">
-			<p>
-			Copy the war file to <code>$CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy</code>. Jetspeed-2
-			will deploy the webapp.
-			</p>
-			</subsection>
-			<subsection name="6. The PSML">
-			<p>
-			Create the file simplest.psml and copy it to the
-                        <code>$CATALINA_HOME/webapps/jetspeed/WEB-INF/pages</code> 
-                        directory of your Jetspeed Portal.
-			The portlet-app id and the portlet-name are combined to identify the portlet fragment.
-                        Alternatively one can use the portlet chooser by clicking on the edit page icon.
-                        Your user must have the permission to edit pages. The user <code>admin</code> password
-                        <code>admin</code> has permission to edit all pages. The user <code>user</code>
-                        password <code>user</code> has permission to edit the
-                        <a href="http://localhost:8080/jetspeed/portal/anotherdir">[USER 004] PSML Page</a>.
-                        And by default Jetspeed-2 allows newly registered users to add portlets and customize 
-                        their home page.
-			<source><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?> 
- <page> 
-  <defaults
-     skin="orange"
-     layout-decorator="tigris"
-     portlet-decorator="tigris"
-  />
-  <title>The simplest portlet in the world</title>
-  <metadata name="title" xml:lang="fr">La plus simple portlet du monde</metadata>
-
-  <fragment id="simplest" type="layout" name="jetspeed-layouts::VelocityTwoColumns">
-    <fragment id="simplest-1" type="portlet" name="simplest::Simplest">
-      <property layout="TwoColumns" name="row" value="0" />
-      <property layout="TwoColumns" name="column" value="0" />
-    </fragment>
-  </fragment>
-
-  <security-constraints>
-    <security-constraints-ref>public-view</security-constraints-ref>
-  </security-constraints>
-</page>]]>
-			</source>
-                        Test the portlet using the
-                        <a href="http://localhost:8080/jetspeed/portal/simplest.psml">simplest.psml</a> in
-                        your browser.
-			</p>
-			</subsection>
-		</section>
-	</body>
-</document>
+<?xml version="1.0"?>
+<!--
+	Copyright 2004 The Apache Software Foundation
+	
+	Licensed under the Apache License, Version 2.0 (the "License");
+	you may not use this file except in compliance with the License.
+	You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+-->
+<document>
+	<properties>
+		<title>Jetspeed Simple Portlet Guide</title>
+		<subtitle>Documentation for Creating a Simple Portlet</subtitle>
+		<authors>
+			<person name="David Le Strat" email="dlestrat@apache.org" />
+			<person name="Philip Mark Donaghy" email="philip.donaghy@gmail.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Jetspeed Simple Portlet Guide">
+			<p>
+				This guide provides a tutorial for creating a very
+				simple portlet. Portlets developers should follow the
+				steps below.
+			</p>
+			<subsection name="1. The Portlet Class">
+				<p>
+				Create the file Simplest.java in a directory called
+				simplest/WEB-INF/classes:
+				<source>
+public class Simplest extends javax.portlet.GenericPortlet
+{
+    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
+                throws javax.portlet.PortletException, java.io.IOException
+    {
+            response.setContentType("text/html");
+            response.getWriter().println("A very simple portlet.");
+    }
+}
+				</source>
+				</p>
+				<p>
+				Compile the class using the command,
+				<source>
+javac -cp $CATALINA_HOME/shared/lib/portlet-api-1.0.jar Simplest.java
+				</source>
+				</p>
+			</subsection>
+			<subsection name="2. The portlet.xml">
+			<p>
+			Create the file portlet.xml in the simplest/WEB-INF directory.
+			<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app id="simplest" version="1.0">
+  <portlet id="Simplest">
+    <portlet-name>Simplest</portlet-name>
+    <display-name>Simple Display Name</display-name>
+    <portlet-class>Simplest</portlet-class>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>VIEW</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <portlet-info>
+      <title>Simple Title</title>
+      <short-title>The world's simplest portlet</short-title>
+    </portlet-info>
+  </portlet>
+</portlet-app>]]>
+			</source>
+			</p>
+			</subsection>
+			<subsection name="3. The web.xml">
+			<p>
+			Create the file web.xml in the simplest WEB-INF directory.
+			<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+                         "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+  <display-name>Simplest</display-name>
+  <description>The world's simplest portlet</description>
+</web-app>]]>
+			</source>
+			</p>
+			</subsection>
+			<subsection name="4. The WAR file">
+			<p>
+			From the directory simplest combine the files above into a war file using the command,
+			<source>
+jar cvf ../simplest.war .
+			</source>
+			</p>
+			</subsection>
+			<subsection name="5. Deploy the WAR file">
+			<p>
+			Copy the war file to <code>$CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy</code>. Jetspeed-2
+			will deploy the webapp.
+			</p>
+			</subsection>
+			<subsection name="6. The PSML">
+			<p>
+			Create the file simplest.psml and copy it to the
+                        <code>$CATALINA_HOME/webapps/jetspeed/WEB-INF/pages</code> 
+                        directory of your Jetspeed Portal.
+			The portlet-app id and the portlet-name are combined to identify the portlet fragment.
+                        Alternatively one can use the portlet chooser by clicking on the edit page icon.
+                        Your user must have the permission to edit pages. The user <code>admin</code> password
+                        <code>admin</code> has permission to edit all pages. The user <code>user</code>
+                        password <code>user</code> has permission to edit the
+                        <a href="http://localhost:8080/jetspeed/portal/anotherdir">[USER 004] PSML Page</a>.
+                        And by default Jetspeed-2 allows newly registered users to add portlets and customize 
+                        their home page.
+			<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?> 
+ <page> 
+  <defaults
+     skin="orange"
+     layout-decorator="tigris"
+     portlet-decorator="tigris"
+  />
+  <title>The simplest portlet in the world</title>
+  <metadata name="title" xml:lang="fr">La plus simple portlet du monde</metadata>
+
+  <fragment id="simplest" type="layout" name="jetspeed-layouts::VelocityTwoColumns">
+    <fragment id="simplest-1" type="portlet" name="simplest::Simplest">
+      <property layout="TwoColumns" name="row" value="0" />
+      <property layout="TwoColumns" name="column" value="0" />
+    </fragment>
+  </fragment>
+
+  <security-constraints>
+    <security-constraints-ref>public-view</security-constraints-ref>
+  </security-constraints>
+</page>]]>
+			</source>
+                        Test the portlet using the
+                        <a href="http://localhost:8080/jetspeed/portal/simplest.psml">simplest.psml</a> in
+                        your browser.
+			</p>
+			</subsection>
+		</section>
+	</body>
+</document>

Propchange: portals/jetspeed-2/trunk/xdocs/guides/guide-simple-portlet.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: portals/jetspeed-2/trunk/xdocs/guides/guide-simple-velocity-portlet.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/xdocs/guides/guide-simple-velocity-portlet.xml?view=diff&rev=514329&r1=514328&r2=514329
==============================================================================
--- portals/jetspeed-2/trunk/xdocs/guides/guide-simple-velocity-portlet.xml (original)
+++ portals/jetspeed-2/trunk/xdocs/guides/guide-simple-velocity-portlet.xml Sat Mar  3 18:13:22 2007
@@ -1,174 +1,174 @@
-<?xml version="1.0"?>
-<!--
-	Copyright 2006 The Apache Software Foundation
-	
-	Licensed under the Apache License, Version 2.0 (the "License");
-	you may not use this file except in compliance with the License.
-	You may obtain a copy of the License at
-	
-	http://www.apache.org/licenses/LICENSE-2.0
-	
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
--->
-<document>
-	<properties>
-		<title>Jetspeed Simple Velocity Portlet Guide</title>
-		<subtitle>Documentation for Creating a Simple Velocity Portlet</subtitle>
-		<authors>
-			<person name="David Le Strat" email="dlestrat@apache.org" />
-			<person name="Philip Mark Donaghy" email="philip.donaghy@gmail.com" />
-		</authors>
-	</properties>
-	<body>
-		<section name="Jetspeed Simple Velocity Portlet Guide">
-			<p>
-				This guide provides a tutorial for creating a very
-				simple Velocity portlet with one template in the portlet view mode.
-			</p>
-			<subsection name="1. The Portlet Class">
-				<p>
-				Create the file VelocitySimplest.java in a directory called
-				velocity-simplest/WEB-INF/classes:
-				<source>
-public class VelocitySimplest extends org.apache.portals.bridges.velocity.GenericVelocityPortlet
-{
-
-    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
-                throws javax.portlet.PortletException, java.io.IOException
-    {
-        super.doView(request, response);
-    }
-}
-				</source>
-				</p>
-				<p>
-				Compile the class in the velocity-simplest/WEB-INF/classes directory using the command,
-				<source>
-javac -cp portlet-api-1.0.jar:portals-bridges-velocity-1.0.jar:portals-bridges-common-1.0.jar VelocitySimplest.java
-				</source>
-				</p>
-			</subsection>
-			<subsection name="2. The portlet.xml">
-			<p>
-			Create the file portlet.xml in the velocity-simplest/WEB-INF directory.
-			<source><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<portlet-app id="velocitysimplest" version="1.0">
-  <portlet id="VelocitySimplest">
-    <portlet-name>VelocitySimplest</portlet-name>
-    <display-name>Velocity Simplest Display Name</display-name>
-    <portlet-class>VelocitySimplest</portlet-class>
-    <init-param>
-        <name>ViewPage</name>
-        <value>/WEB-INF/view/world.vm</value>
-    </init-param>
-    <supports>
-      <mime-type>text/html</mime-type>
-      <portlet-mode>VIEW</portlet-mode>
-    </supports>
-    <supported-locale>en</supported-locale>
-    <portlet-info>
-      <title>Velocity Simplest Title</title>
-      <short-title>Velocity Simplest Short Title</short-title>
-    </portlet-info>
-  </portlet>
-</portlet-app>]]>
-			</source>
-			</p>
-			</subsection>
-			<subsection name="3. The web.xml">
-			<p>
-			Create the file web.xml in the velocity-simplest/WEB-INF directory.
-			<source><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-                         "http://java.sun.com/dtd/web-app_2_3.dtd">
-<web-app>
-  <display-name>Velocity Simplest</display-name>
-  <description>The world's simplest Velocity portlet</description>
-
-  <!-- Define Velocity Servlet -->
-  <servlet>
-    <servlet-name>velocity</servlet-name>
-    <servlet-class>org.apache.portals.bridges.velocity.BridgesVelocityViewServlet</servlet-class>
-  </servlet>
-
-  <!-- Map *.vm files to Velocity  -->
-  <servlet-mapping>
-    <servlet-name>velocity</servlet-name>
-    <url-pattern>*.vm</url-pattern>
-  </servlet-mapping>
-
-</web-app>]]>
-			</source>
-			</p>
-			</subsection>
-			<subsection name="4. The View">
-			<p>
-                        Create the world.vm file in the velocity-simplest/WEB-INF/view directory. Put
-                        whatever content
-                        you desire in it. Notice that the template file is defined in the portlet init
-                        parameter <code>
-                        ViewPage</code>. The objects <a href="http://portals.apache.org/pluto/multiproject/portlet-api/apidocs/javax/portlet/PortletConfig.html">PortletConfig</a>, <a href="http://portals.apache.org/pluto/multiproject/portlet-api/apidocs/javax/portlet/RenderRequest.html">RenderRequest</a>, and <a href="http://portals.apache.org/pluto/multiproject/portlet-api/apidocs/javax/portlet/RenderResponse.html">RenderResponse</a>
-                        are automatically
-                        placed in the Velocity context for use in Velocity templates. Here is a sample
-                        template showing a few of these objects methods and properties.
-<source>
-$portletConfig.portletName
-$portletConfig.portletContext.serverInfo
-#set ($MESSAGES = $portletConfig.getResourceBundle($renderRequest.Locale))
-$renderRequest.portletMode
-$renderResponse.namespace
-</source>
-			</p>
-			</subsection>
-			<subsection name="5. The Dependency JARs">
-			<p>
-                        Copy the commons-beanutils-1.7.0.jar, commons-collections-3.1.jar,
-                        commons-digester-1.7.jar, portals-bridges-velocity-1.0.jar,
-                        velocity-1.4.jar, and velocity-tools-1.1.jar to the velocity-simplest/WEB-INF/lib
-                        directory. IMPORTANT: 
-                        Do NOT put the portlet-api-1.0.jar in the war file. If you have already built
-                        Jetspeed these
-                        jars should be in your Maven repository. If so executing these commands in the lib
-                        directory will set up the dependencies for you.
-<source>
-ln -s ~/.maven/repository/commons-beanutils/jars/commons-beanutils-1.7.0.jar
-ln -s ~/.maven/repository/commons-collections/jars/commons-collections-3.1.jar
-ln -s ~/.maven/repository/commons-digester/jars/commons-digester-1.7.jar
-ln -s ~/.maven/repository/org.apache.portals.bridges/jars/portals-bridges-velocity-1.0.jar
-ln -s ~/.maven/repository/velocity/jars/velocity-1.4.jar
-ln -s ~/.maven/repository/velocity-tools/jars/velocity-tools-1.1.jar
-</source>
-			</p>
-			</subsection>
-			<subsection name="6. The WAR file">
-			<p>
-			From the directory velocity-simplest combine the files above into a war file using the command,
-			<source>
-jar cvf ../velocitysimplest.war .
-			</source>
-			</p>
-			</subsection>
-			<subsection name="7. Deploy the WAR file">
-			<p>
-			Copy the war file to <code>$CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy</code>.
-                        Jetspeed-2 will deploy the webapp.
-			</p>
-			</subsection>
-			<subsection name="8. The PSML">
-			<p>
-                        Create the PSML page using the Jetspeed portlet chooser. Login and click on the
-                        edit page icon.
-                        Your user must have the permission to edit pages. The user <code>admin</code>
-                        password
-                        <code>admin</code> has permission to edit all pages.
-			</p>
-			</subsection>
-		</section>
-	</body>
-</document>
+<?xml version="1.0"?>
+<!--
+	Copyright 2006 The Apache Software Foundation
+	
+	Licensed under the Apache License, Version 2.0 (the "License");
+	you may not use this file except in compliance with the License.
+	You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+-->
+<document>
+	<properties>
+		<title>Jetspeed Simple Velocity Portlet Guide</title>
+		<subtitle>Documentation for Creating a Simple Velocity Portlet</subtitle>
+		<authors>
+			<person name="David Le Strat" email="dlestrat@apache.org" />
+			<person name="Philip Mark Donaghy" email="philip.donaghy@gmail.com" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Jetspeed Simple Velocity Portlet Guide">
+			<p>
+				This guide provides a tutorial for creating a very
+				simple Velocity portlet with one template in the portlet view mode.
+			</p>
+			<subsection name="1. The Portlet Class">
+				<p>
+				Create the file VelocitySimplest.java in a directory called
+				velocity-simplest/WEB-INF/classes:
+				<source>
+public class VelocitySimplest extends org.apache.portals.bridges.velocity.GenericVelocityPortlet
+{
+
+    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
+                throws javax.portlet.PortletException, java.io.IOException
+    {
+        super.doView(request, response);
+    }
+}
+				</source>
+				</p>
+				<p>
+				Compile the class in the velocity-simplest/WEB-INF/classes directory using the command,
+				<source>
+javac -cp portlet-api-1.0.jar:portals-bridges-velocity-1.0.jar:portals-bridges-common-1.0.jar VelocitySimplest.java
+				</source>
+				</p>
+			</subsection>
+			<subsection name="2. The portlet.xml">
+			<p>
+			Create the file portlet.xml in the velocity-simplest/WEB-INF directory.
+			<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app id="velocitysimplest" version="1.0">
+  <portlet id="VelocitySimplest">
+    <portlet-name>VelocitySimplest</portlet-name>
+    <display-name>Velocity Simplest Display Name</display-name>
+    <portlet-class>VelocitySimplest</portlet-class>
+    <init-param>
+        <name>ViewPage</name>
+        <value>/WEB-INF/view/world.vm</value>
+    </init-param>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>VIEW</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <portlet-info>
+      <title>Velocity Simplest Title</title>
+      <short-title>Velocity Simplest Short Title</short-title>
+    </portlet-info>
+  </portlet>
+</portlet-app>]]>
+			</source>
+			</p>
+			</subsection>
+			<subsection name="3. The web.xml">
+			<p>
+			Create the file web.xml in the velocity-simplest/WEB-INF directory.
+			<source><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+                         "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+  <display-name>Velocity Simplest</display-name>
+  <description>The world's simplest Velocity portlet</description>
+
+  <!-- Define Velocity Servlet -->
+  <servlet>
+    <servlet-name>velocity</servlet-name>
+    <servlet-class>org.apache.portals.bridges.velocity.BridgesVelocityViewServlet</servlet-class>
+  </servlet>
+
+  <!-- Map *.vm files to Velocity  -->
+  <servlet-mapping>
+    <servlet-name>velocity</servlet-name>
+    <url-pattern>*.vm</url-pattern>
+  </servlet-mapping>
+
+</web-app>]]>
+			</source>
+			</p>
+			</subsection>
+			<subsection name="4. The View">
+			<p>
+                        Create the world.vm file in the velocity-simplest/WEB-INF/view directory. Put
+                        whatever content
+                        you desire in it. Notice that the template file is defined in the portlet init
+                        parameter <code>
+                        ViewPage</code>. The objects <a href="http://portals.apache.org/pluto/multiproject/portlet-api/apidocs/javax/portlet/PortletConfig.html">PortletConfig</a>, <a href="http://portals.apache.org/pluto/multiproject/portlet-api/apidocs/javax/portlet/RenderRequest.html">RenderRequest</a>, and <a href="http://portals.apache.org/pluto/multiproject/portlet-api/apidocs/javax/portlet/RenderResponse.html">RenderResponse</a>
+                        are automatically
+                        placed in the Velocity context for use in Velocity templates. Here is a sample
+                        template showing a few of these objects methods and properties.
+<source>
+$portletConfig.portletName
+$portletConfig.portletContext.serverInfo
+#set ($MESSAGES = $portletConfig.getResourceBundle($renderRequest.Locale))
+$renderRequest.portletMode
+$renderResponse.namespace
+</source>
+			</p>
+			</subsection>
+			<subsection name="5. The Dependency JARs">
+			<p>
+                        Copy the commons-beanutils-1.7.0.jar, commons-collections-3.1.jar,
+                        commons-digester-1.7.jar, portals-bridges-velocity-1.0.jar,
+                        velocity-1.4.jar, and velocity-tools-1.1.jar to the velocity-simplest/WEB-INF/lib
+                        directory. IMPORTANT: 
+                        Do NOT put the portlet-api-1.0.jar in the war file. If you have already built
+                        Jetspeed these
+                        jars should be in your Maven repository. If so executing these commands in the lib
+                        directory will set up the dependencies for you.
+<source>
+ln -s ~/.maven/repository/commons-beanutils/jars/commons-beanutils-1.7.0.jar
+ln -s ~/.maven/repository/commons-collections/jars/commons-collections-3.1.jar
+ln -s ~/.maven/repository/commons-digester/jars/commons-digester-1.7.jar
+ln -s ~/.maven/repository/org.apache.portals.bridges/jars/portals-bridges-velocity-1.0.jar
+ln -s ~/.maven/repository/velocity/jars/velocity-1.4.jar
+ln -s ~/.maven/repository/velocity-tools/jars/velocity-tools-1.1.jar
+</source>
+			</p>
+			</subsection>
+			<subsection name="6. The WAR file">
+			<p>
+			From the directory velocity-simplest combine the files above into a war file using the command,
+			<source>
+jar cvf ../velocitysimplest.war .
+			</source>
+			</p>
+			</subsection>
+			<subsection name="7. Deploy the WAR file">
+			<p>
+			Copy the war file to <code>$CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy</code>.
+                        Jetspeed-2 will deploy the webapp.
+			</p>
+			</subsection>
+			<subsection name="8. The PSML">
+			<p>
+                        Create the PSML page using the Jetspeed portlet chooser. Login and click on the
+                        edit page icon.
+                        Your user must have the permission to edit pages. The user <code>admin</code>
+                        password
+                        <code>admin</code> has permission to edit all pages.
+			</p>
+			</subsection>
+		</section>
+	</body>
+</document>

Propchange: portals/jetspeed-2/trunk/xdocs/guides/guide-simple-velocity-portlet.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: portals/jetspeed-2/trunk/xdocs/guides/guide-site.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/xdocs/guides/guide-site.xml?view=diff&rev=514329&r1=514328&r2=514329
==============================================================================
--- portals/jetspeed-2/trunk/xdocs/guides/guide-site.xml (original)
+++ portals/jetspeed-2/trunk/xdocs/guides/guide-site.xml Sat Mar  3 18:13:22 2007
@@ -1,35 +1,35 @@
-<?xml version="1.0"?>
-<!--
-Copyright 2004 The Apache Software Foundation
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<document>
-  <properties>
-    <title>Site</title>
-    <subtitle>Documentation for Designers working with a Jetspeed-2 Site</subtitle>
-    <authors>
-      <person name="David Sean Taylor" email="taylor@apache.org"/>
-    </authors>
-  </properties>
-  <body>
-<section name="Site">
-<p>
-TODO: talk about components of a site i.e. pages, folders, fragments, decorators, layouts, folder metadata,
-links, PSML, document sets.
-</p>
-</section>
-
-</body>
-</document>
-
+<?xml version="1.0"?>
+<!--
+Copyright 2004 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<document>
+  <properties>
+    <title>Site</title>
+    <subtitle>Documentation for Designers working with a Jetspeed-2 Site</subtitle>
+    <authors>
+      <person name="David Sean Taylor" email="taylor@apache.org"/>
+    </authors>
+  </properties>
+  <body>
+<section name="Site">
+<p>
+TODO: talk about components of a site i.e. pages, folders, fragments, decorators, layouts, folder metadata,
+links, PSML, document sets.
+</p>
+</section>
+
+</body>
+</document>
+

Propchange: portals/jetspeed-2/trunk/xdocs/guides/guide-site.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: portals/jetspeed-2/trunk/xdocs/guides/guide-sso.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/xdocs/guides/guide-sso.xml?view=diff&rev=514329&r1=514328&r2=514329
==============================================================================
--- portals/jetspeed-2/trunk/xdocs/guides/guide-sso.xml (original)
+++ portals/jetspeed-2/trunk/xdocs/guides/guide-sso.xml Sat Mar  3 18:13:22 2007
@@ -1,43 +1,43 @@
-<?xml version="1.0"?>
-<!--
-Copyright 2004 The Apache Software Foundation
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<document>
-  <properties>
-    <title>Jetspeed Single Sign On</title>
-    <subtitle>Documentation for Jetspeed-2 SSO (Single Sign On)</subtitle>
-    <authors>
-      <person name="Roger Ruttimann" email="rogerrut@apache.org"/>
-    </authors>
-  </properties>
-  <body>
-<section name="Single Sign On (SSO)">
-<p>
-Jetspeed 2 provides a Single-Sign-On component for storing credentials for a protected site which can be an URL or application.  Please visit the <a href="../multiproject/jetspeed-sso/index.html">Jetspeed-2 Single Sign On</a>
-sub project documentation.
-</p>
-<p>
-The SSO feature includes three main components:
-<ul>
-	<li>The SSO Provider service which handles the backend operations <a href="../multiproject/jetspeed-sso/index.html">SSO Provider</a></li>
-	<li>The SSO Management Portlet <a href="../multiproject/jetspeed-sso/index.html">SSO Admin Portlet</a></li>
-	<li>The SSO Proxy Portlet <a href="../multiproject/jetspeed-sso/index.html">SSO Proxy Portlet</a></li>
-</ul>
-</p>
-</section>
-
-</body>
-</document>
-
+<?xml version="1.0"?>
+<!--
+Copyright 2004 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<document>
+  <properties>
+    <title>Jetspeed Single Sign On</title>
+    <subtitle>Documentation for Jetspeed-2 SSO (Single Sign On)</subtitle>
+    <authors>
+      <person name="Roger Ruttimann" email="rogerrut@apache.org"/>
+    </authors>
+  </properties>
+  <body>
+<section name="Single Sign On (SSO)">
+<p>
+Jetspeed 2 provides a Single-Sign-On component for storing credentials for a protected site which can be an URL or application.  Please visit the <a href="../multiproject/jetspeed-sso/index.html">Jetspeed-2 Single Sign On</a>
+sub project documentation.
+</p>
+<p>
+The SSO feature includes three main components:
+<ul>
+	<li>The SSO Provider service which handles the backend operations <a href="../multiproject/jetspeed-sso/index.html">SSO Provider</a></li>
+	<li>The SSO Management Portlet <a href="../multiproject/jetspeed-sso/index.html">SSO Admin Portlet</a></li>
+	<li>The SSO Proxy Portlet <a href="../multiproject/jetspeed-sso/index.html">SSO Proxy Portlet</a></li>
+</ul>
+</p>
+</section>
+
+</body>
+</document>
+

Propchange: portals/jetspeed-2/trunk/xdocs/guides/guide-sso.xml
------------------------------------------------------------------------------
    svn:eol-style = native



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