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