Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-components.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-components.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-components.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-components.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,246 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Guide to Jetspeed-2 Component Architecture</title>
+ <subtitle>Guide to Jetspeed-2 Component Architecture</subtitle>
+ <authors>
+ <person name="David Le Strat" email="dlestrat@apache.org" />
+ </authors>
+ </properties>
+ <body>
+ <section name="Guide to Jetspeed-2 Component Architecture">
+ <p>
+ The Jetspeed-2 architecture is build on a component architecture where as defined by
+ <a href="http://www.martinfowler.com/articles/injection.html">Martin Fowler</a>:
+ <pre>
+ By the term component, I mean a glob of software that's intended to be used,
+ without change, by application that is out of the control of the writers of
+ the component. By 'without change' I mean that the using application doesn't
+ change the source code of the components, although they may alter the component's
+ behavior by extending it in ways allowed by the component writers.</pre>
+ </p>
+ <p>
+ Jetspeed-2 uses dependency injection as a programming design pattern and architectural model
+ to establish a level of abstraction via a public interface, and to remove dependency on the components' implementation.
+ The architecture unites the components rather than the components linking themselves or being linked together.
+ Dependency injection is a pattern in which responsibility for object creation and object linking is removed
+ from the objects themselves and transferred to a factory.
+ Dependency injection therefore is obviously inverting the control for object creation and linking,
+ and can be seen to be a form of Inversion of Controls(IoC).
+ </p>
+ <subsection name="Jetspeed-2 and Component Frameworks">
+ <p>
+ Jetspeed-2 leverages the <a href="http://www.springframework.org">Spring Framework</a> as its default component framework.
+ However, Jetspeed-2 provides an architecture in which the component framework can easily be replaced by alternative
+ component frameworks such as <a href="http://www.picocontainer.org/">Pico</a>.
+ </p>
+ <p>
+ Jetspeed-2 component framework assembly is configured and implemented in <i>JetspeedServlet</i>:<br/><br/>
+ <img src="images/jetspeedservlet-c.gif" border="0"/>
+ </p>
+ <p>
+ The <code>JetspeedServlet</code> is configured in the portal application <i>web.xml</i> to load at startup. The <code>initializeComponentManager</code>
+ method loads the <a href="guide-portal-assembly.html">assembly</a> for the given component framework. The default implementation
+ of <code>initializeComponentManager</code> supports the <a href="http://www.springframework.com">spring framework</a> as a component framework
+ and assembles the xml files located under <code>WEB-INF/assembly</code> to initialize the spring engine. The <i>JetspeedEngine</i> is then
+ constructed with the proper component manager.
+ <source>
+ engine = new JetspeedEngine(properties, applicationRoot, config,
+ initializeComponentManager(config, applicationRoot, properties));
+ </source>
+ </p>
+ <p>
+ In order to support another component framework, developers should override the <code>initializeComponentManager</code> implementation.
+ </p>
+ </subsection>
+ <subsection name="Jetspeed-2 Core Components">
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 Capabilities - Artifact Id: jetspeed-capability</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-capability/index.html"><code>Capabilities</code></a></td>
+ <td>The <code>Capabilities</code> components maps clients to supported mime types and media types.
+ It creates a <code>CapabilityMap</code> that is used through the portal engine to render the
+ portal content for the targetted client.</td>
+ </tr>
+ </table><br/>
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 Component Manager - Artifact Id: jetspeed-cm</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-cm/index.html"><code>ComponentManager</code></a></td>
+ <td>The <code>ComponentManager</code> provides a generic layer of abstraction on top of the component framework
+ being used. The default <code>ComponentManager</code> implementation in Jetspeed-2 is the
+ <code>SpringComponentManager</code>. More information can be found in the
+ <a href="../components/jetspeed-cm/index.html"><code>ComponentManager</code> documentation</a>.</td>
+ </tr>
+ </table><br/>
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 Deploy Tools - Artifact Id: jetspeed-deploy-tools</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-deploy-tools/deploy-tools.html"><code>JetspeedDeploy</code></a></td>
+ <td><code>JetspeedDeploy</code> prepares portlet applications prior to being deployed in Jetspeed-2. More information can be found in the
+ <a href="../components/jetspeed-deploy-tools/deploy-tools.html"><code>JetspeedDeploy</code> documentation</a>.</td>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-deploy-tools/index.html"><code>DeploymentManager</code></a></td>
+ <td>The <code>DeploymentManager</code> listens for new portal assets (portlets, decorators) to be deployed. An overview of how deployment
+ works in Jetspeed-2 can be found <a href="../components/jetspeed-deploy-tools/index.html">here</a>.</td>
+ </tr>
+ </table><br/>
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 Portal - Artifact Id: jetspeed-portal</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-portal/pipeline.html"><code>Pipeline</code></a></td>
+ <td>The <code>Pipeline</code> orchestrates the <code>Valve</code> that are performing atomic operation on a
+ Jetspeed-2 request.</td>
+ </tr>
+ </table><br/>
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 Preferences - Artifact Id: jetspeed-prefs</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-prefs/index.html"><code>PreferencesProvider</code></a></td>
+ <td>The <code>PreferencesProvider</code> exposes Jetspeed-2 implementation of the <code>java.util.Preferences</code> API.</td>
+ </tr>
+ </table><br/>
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 RDBMS - Artifact Id: jetspeed-rdbms</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-rdbms/index.html"><code>ConnectionRepositoryEntry</code></a></td>
+ <td>The <code>ConnectionRepositoryEntry</code> exposes Jetspeed-2 implementation of the <code>java.util.Preferences</code> API.</td>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-rdbms/dao.html"><code>InitablePersistenceBrokerDaoSupport</code></a></td>
+ <td><code>InitablePersistenceBrokerDaoSupport</code> provides data access and persistence support for Jetspeed-2.</td>
+ </tr>
+ </table><br/>
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 Security - Artifact Id: jetspeed-security</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-security/arch.html"><code>DefaultLoginModule</code></a><br/>
+ <a href="../components/jetspeed-security/arch.html"><code>RdbmsPolicy</code></a><br/></td>
+ <td>Jetspeed-2 default implementation for <a href="http://java.sun.com/products/jaas/">JAAS services</a>. Jetspeed-2 leverages JAAS as
+ a generic security standard framework to expose security functionality to the portal engine. The JAAS services
+ leverage Jetspeed-2 coarsed grained services for which specific implementations are provided through Jetspeed-2 security SPI.</td>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-security/arch.html"><code>UserManager</code></a><br/>
+ <a href="../components/jetspeed-security/arch.html"><code>RoleManager</code></a><br/>
+ <a href="../components/jetspeed-security/arch.html"><code>GroupManager</code></a><br/>
+ <a href="../components/jetspeed-security/arch.html"><code>PermissionManager</code></a></td>
+ <td>Coarsed grained security components exposing Jetspeed-2 security management APIs.</td>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-security/arch.html"><code>UserSecurityHandler</code></a><br/>
+ <a href="../components/jetspeed-security/arch.html"><code>CredentialHandler</code></a><br/>
+ <a href="../components/jetspeed-security/arch.html"><code>GroupSecurityHandler</code></a><br/>
+ <a href="../components/jetspeed-security/arch.html"><code>RoleSecurityHandler</code></a><br/>
+ <a href="../components/jetspeed-security/arch.html"><code>SecurityMappingHandler</code></a></td>
+ <td>Fined grained Jetspeed-2 security SPI components exposing a specific implementation to the Jetspeed-2
+ security engine. This mechanism provides a flexible framework for supporting multiple security implementation
+ without having to impact the higher level security services.</td>
+ </tr>
+ </table><br/>
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 Search - Artifact Id: jetspeed-search</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-search/index.html"><code>SearchEngine</code></a></td>
+ <td><code>SearchEngine</code> provides the integration with the <a href="http://lucene.apache.org/">Apache Lucene</a> search
+ engine.</td>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-search/index.html"><code>HandlerFactory</code></a></td>
+ <td>The <code>HandlerFactory</code> exposes the documents handlers to the <code>SearchEngine</code>.</td>
+ </tr>
+ </table><br/>
+ <table>
+ <tr>
+ <th colspan="2">Jetspeed-2 Statistics - Artifact Id: jetspeed-statistics</th>
+ </tr>
+ <tr>
+ <th>Component Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-statistics/index.html"><code>PortalStatistics</code></a></td>
+ <td><code>PortalStatistics</code> exposes the Jetspeed-2 data collection API for data collection and data
+ retrieval.</td>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-statistics/index.html"><code>BatchedStatistics</code></a></td>
+ <td><code>BatchedStatistics</code> is responsible for the batch collection of statistics data given
+ a time to flush period.</td>
+ </tr>
+ <tr>
+ <td><a href="../components/jetspeed-statistics/aggregation.html"><code>AggregateStatistics</code></a><br/>
+ <a href="../components/jetspeed-statistics/aggregation.html"><code>StatisticsQueryCriteria</code></a></td>
+ <td><code>AggregateStatistics</code> interacts with the <code>PortalStatistics</code> component to provide
+ aggregate portal data for a specific event and search criteria provided by <code>StatisticsQueryCriteria</code>.</td>
+ </tr>
+ </table>
+ </subsection>
+ </section>
+ </body>
+</document>
\ No newline at end of file
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-components.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-components.xml
------------------------------------------------------------------------------
svn:keywords = Id
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-database.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-database.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-database.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-database.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,273 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Jetspeed 2 Database Configuration</title>
+ <subtitle>Welcome to Jetspeed 2</subtitle>
+ <authors>
+ <person name="David Sean Taylor" email="taylor@apache.org" />
+ <person name="David Le Strat" email="dlestrat@apache.org" />
+ <person name="Ron Wheeler"
+ email="rwheeler@artifact-software.com" />
+ </authors>
+ </properties>
+ <body>
+ <section name="Default Database">
+ <p>
+ The default database distributed with Jetspeed-2 is the
+ Apache Derby database. To move on to a more robust
+ database, follow the instructions in the next section.
+ </p>
+ </section>
+ <section name='Supported Databases'>
+ <p>List of supported databases:</p>
+ <table>
+ <tr>
+ <th>Database Name</th>
+ <th>Build Constant</th>
+ <th>Tested Versions</th>
+ </tr>
+ <tr>
+ <td>IBM DB2</td>
+ <td>db2</td>
+ <td>9.1</td>
+ </tr>
+ <tr>
+ <td>Apache Derby, IBM Cloudscape</td>
+ <td>derby</td>
+ <td>10.1</td>
+ </tr>
+ <tr>
+ <td>Hypersonic SQL (HSQL)</td>
+ <td>hsql</td>
+ <td>1.8</td>
+ </tr>
+ <tr>
+ <td>Microsoft SQL Server</td>
+ <td>mssql</td>
+ <td>2000, 2005</td>
+ </tr>
+ <tr>
+ <td>MySQL</td>
+ <td>mysql</td>
+ <td>4.*, 5.*</td>
+ </tr>
+ <tr>
+ <td>Oracle</td>
+ <td>oracle</td>
+ <td>9i, 10g</td>
+ </tr>
+ <tr>
+ <td>PostgreSQL</td>
+ <td>postgres</td>
+ <td>8.*</td>
+ </tr>
+ <tr>
+ <td>SAP DB, MaxDB</td>
+ <td>sapdb</td>
+ <td>7.5</td>
+ </tr>
+ </table>
+ </section>
+ <section name="MySQL">
+ <p>
+ To run with My SQL, add the following properties to your
+ $HOME/build.properties:
+ </p>
+ <source test="">
+ <![CDATA[
+
+# -------------------------------------------------------------------------
+# configure MySQL Test DB (only needed when running unit tests)
+# -------------------------------------------------------------------------
+org.apache.jetspeed.test.database.default.name=mysql
+org.apache.jetspeed.test.database.url = jdbc:mysql://j2-server/j2test
+org.apache.jetspeed.test.database.driver = com.mysql.jdbc.Driver
+org.apache.jetspeed.test.database.user = jetspeed2
+org.apache.jetspeed.test.database.password = whatever
+# -------------------------------------------------------------------------
+# configure MySQL Production DB
+# -------------------------------------------------------------------------
+org.apache.jetspeed.production.database.default.name=mysql
+org.apache.jetspeed.production.database.url = jdbc:mysql://j2-server/j2
+org.apache.jetspeed.production.database.driver = com.mysql.jdbc.Driver
+org.apache.jetspeed.production.database.user = jetspeed2
+org.apache.jetspeed.production.database.password = whatever
+# -------------------------------------------------------------------------
+
+]]>
+ </source>
+ <p>
+ In the example above, you will need to have a MySQL
+ server running on a host named 'j2-server' with a
+ database called 'j2' for production.
+ <br />
+ If you are going to run the unit tests you will also
+ need an additional test database called 'j2test'.
+ <br />
+ A user named 'jetspeed2' should be granted access to
+ both the 'j2' and 'j2test' databases.
+ </p>
+
+ <subsection name="MySQL Known Issues">
+ <p>None</p>
+ </subsection>
+
+ </section>
+
+ <section name="Oracle">
+ <p>
+ To run with Oracle, add the following properties to your
+ $HOME/build.properties:
+ </p>
+
+ <source test="">
+ <![CDATA[
+
+# -------------------------------------------------------------------------
+# configure Oracle Test DB (only needed when running unit tests)
+# -------------------------------------------------------------------------
+# org.apache.jetspeed.test.database.default.name=oracle
+# org.apache.jetspeed.test.database.ojb.platform=oracle9i
+# org.apache.jetspeed.test.database.url = jdbc:oracle:thin:@j2-sever:1521:j2db
+# org.apache.jetspeed.test.database.driver = oracle.jdbc.driver.OracleDriver
+# org.apache.jetspeed.test.database.user = j2test
+# org.apache.jetspeed.test.database.password = whatever
+# -------------------------------------------------------------------------
+# configure Oracle Production DB
+# -------------------------------------------------------------------------
+# org.apache.jetspeed.production.database.default.name=oracle
+# org.apache.jetspeed.production.database.ojb.platform=oracle9i
+# org.apache.jetspeed.production.database.url = jdbc:oracle:thin:@j2-server:1521:j2db
+# org.apache.jetspeed.production.database.driver = oracle.jdbc.driver.OracleDriver
+# org.apache.jetspeed.production.database.user = j2
+# org.apache.jetspeed.production.database.password = whatever
+# -------------------------------------------------------------------------
+
+]]>
+ </source>
+ <p>
+ In the example above, you will need to have a Oracle
+ server running on a host named 'j2-server' and have an
+ Oracle database SID named 'j2db' installed on that
+ server. Also, you will need a database user (schema)
+ called 'j2' for production usage.
+ <br />
+ If you are going to run the unit tests you will need an
+ additional user called 'j2test'.
+ </p>
+
+ <subsection name="Oracle Known Issues">
+ <p>
+ Only for the first time you create the database for
+ Oracle, there is an issue with the drop statements.
+ To get around this problem, set your properties as
+ above in your $HOME/build.properties, and then run
+ these commands using the
+ <a href="j2-maven-plugin.html">
+ Jetspeed 2 Maven plugin
+ </a>
+ :
+ </p>
+ <source test="">
+ <![CDATA[
+
+maven j2:db.scripts.gen
+maven j2:dropdrops
+maven j2:db.create.test (only when running unit tests)
+maven j2:db.create.production
+
+]]>
+ </source>
+ </subsection>
+
+ </section>
+
+ <section name="Drivers">
+ <p>
+ JDBC drivers are configured to work with the Maven build
+ by adding your specified JDBC driver jars to the Maven
+ class path. Specify the jars with the
+ <b>org.apache.jetspeed.test.jdbc.drivers.path</b>
+ and
+ <b>org.apache.jetspeed.production.jdbc.drivers.path</b>
+ properties in your $HOME/build.properties.
+ </p>
+ <p>
+ NOTE: The Derby JDBC driver is distributed with
+ Jetspeed and require no configuration.
+ </p>
+ <source test="">
+ <![CDATA[
+
+# My SQL Driver Path Example, test and production
+org.apache.jetspeed.test.jdbc.drivers.path=
+ /Portal/lib/MySQL/mysql-connector-java-3.0.8-stable-bin.jar
+org.apache.jetspeed.production.jdbc.drivers.path=
+ /Portal/lib/MySQL/mysql-connector-java-3.0.8-stable-bin.jar
+
+# Oracle 9i Driver Path Example, test and production
+org.apache.jetspeed.test.jdbc.drivers.path=
+ /Portal/lib/oracle/ojdbc14.jar;/Portal/lib/oracle/nls_charset12.jar
+org.apache.jetspeed.production.jdbc.drivers.path=
+ /Portal/lib/oracle/ojdbc14.jar;/Portal/lib/oracle/nls_charset12.jar
+
+# Oracle 8i Driver Path Example, test and production
+org.apache.jetspeed.test.jdbc.drivers.path=
+ /Portal/lib/oracle/classes12.jar;
+org.apache.jetspeed.production.jdbc.drivers.path=
+ /Portal/lib/oracle/classes12.jar;
+
+]]>
+ </source>
+
+ <subsection name="Distributing Drivers">
+ <p>
+ When Jetspeed is deployed to an application server
+ using the maven deploy target, only the Derby
+ JDBC driver is copied into the web application. To
+ distribute a specific driver (i.e. Oracle, MySQL),
+ you will need to copy the driver into the
+ application server's common class path for shared
+ code.
+ </p>
+ <table>
+ <tr>
+ <th>Application Server</th>
+ <th>Procedure</th>
+ </tr>
+ <tr>
+ <td>Tomcat 5 and 5.5</td>
+ <td>
+ copy driver(s) to ${TOMCAT_HOME}/endorsed/
+ </td>
+ </tr>
+
+ </table>
+
+ </subsection>
+ <subsection name="Datasource Configuration with Jetspeed-2">
+ <p>
+ Jetspeed-2 requires a datasource to be configured in the application server on which it is being deployed.
+ For more information, see the <a href="../components/jetspeed-rdbms/index.html">RDBMS component documentation</a>.
+ </p>
+ </subsection>
+
+ </section>
+ </body>
+</document>
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-database.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-database.xml
------------------------------------------------------------------------------
svn:keywords = Id
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-decorators.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-decorators.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-decorators.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-decorators.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,307 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Guide to Jetspeed Decoration</title>
+ <subtitle>Documentation for Designers working with Jetspeed Decorations</subtitle>
+ <authors>
+ <person name="Scott T Weaver" email="weaver@apache.org"/>
+ <person name="David Sean Taylor" email="taylor@apache.org"/>
+ </authors>
+ </properties>
+ <body>
+<section name="Introduction to Decorators">
+<p>
+Decorators are defined as any static or semi-static markup surrounding a dynamically generated Fragment.
+Decorators are usually written with either Velocity or JSP templates. This guide will focus primarily
+on using the Velocity scripting language to build decoration. However, most of the standards and
+approaches described here can be applied to writing decroations in other scripting languages.
+</p>
+<p>
+ There are two different types of decorations that are used when building a page; Portlet and Layout (or page).
+ <p>
+ Portlet decorations are the "window dressings" of Jetspeed. They wrap each indivual portlet fragment's
+ rendered content with HTML (XHTML, VXML, etc). Portlet decoration's are responsible for displaying the
+ appropriate title and any buttons associated with changing window states or portlet modes.
+ </p>
+ <p>
+ Layout or Page decorations responsible for providind a "header" area and "footer" area for a single
+ portal page which is represented by a .psml document (see: <a href="guide-psml.html">Documentation for Designers working with PSML</a>
+ for more information on psml). They also provide general style information for the page and portlets. However,
+ portlet level style settings can be overidden at the portlet decoration level.
+ </p>
+
+</p>
+</section>
+<section name="Decoration File Structure">
+<p>
+ All decorations are stored in a directory directly off of the web applications
+ root called <code>decorations</code>. The two primary directories under the
+ here are <code>layout</code> for layout decorations and <code>portlet</code>
+ for portlet decorations. Individual decoartions are housed in their own directories
+ underneath these two directories. The name of the directory you create for under either
+ <code>layout</code> or <code>portlet</code> is how Jetspeed will locate your decoration. We
+ will go into further detail on how this works later on in this guide.
+</p>
+</section>
+
+<section name="Anatomy of a Layout(Page) Decoration">
+ <subsection name='Four Files in a Nutshell'>
+ <p>
+ In it's most basic form a Layout Decroation only requires you to define
+ four files:
+ <ul>
+ <li>decorator.properties</li>
+ <li>styles.css</li>
+ <li>header.vm</li>
+ <li>footer.vm</li>
+ </ul>
+ Three of these files; decorator.properties, header.vm, and footer.vm go directly into
+ the directory you create under <code>/decorations/layout</code>. The styles.css needs
+ to be put into a subdirectory of your decoration names <code>css/</code>.
+ </p>
+ </subsection>
+
+ <subsection name='Basic Layout Decoration Configuration: decorator.properties'>
+ <p>
+ The decorator.properties file holds basic information about your layout
+ decoration. In all actuallity, this file can be blank, but we still require
+ that it be present as it is used by other APIs to "discover" available decorations.
+ With that being said, it is safe to assume that all the properties defined below
+ are optional.
+ <table>
+ <tr>
+ <th>Property Name</th>
+ <th>Description</th>
+ <th>Default</th>
+ </tr>
+ <tr>
+ <td>base.css.class</td>
+ <td>
+ This value is generally placed in the top most element tag
+ of your header template. You will see how it is used when
+ we go into development of a header template.
+ </td>
+ <td>Defaults to the name of your decoration</td>
+ </tr>
+ <tr>
+ <td>stylesheet</td>
+ <td>Relative path to your decoration's stylesheet</td>
+ <td>css/styles.css</td>
+ </tr>
+ <tr>
+ <td>header</td>
+ <td>Relative path to your decoration's header template</td>
+ <td>header.vm</td>
+ </tr>
+ <tr>
+ <td>footer</td>
+ <td>Relative path to your decoration's footer template</td>
+ <td>footer.vm</td>
+ </tr>
+ </table>
+ </p>
+ </subsection>
+ <subsection name='Top o' the Page to ya: header.vm'>
+ <p>
+ The <strong>header.vm</strong> represnts the top portion of your portal page. Below is a section
+ by section walkthrough of the basics required to write a functional header
+ template.
+ <br/><br/>
+ <strong>NOTICE:</strong> It is assumed that the reader is proficient in both
+ the use of HTML and CSS. A rudimentary knowledge of Velocity helps but is not
+ required to develop a decoration.
+ </p>
+ <p>
+<source>
+<![CDATA[
+<html>
+ <head>
+ #defineLayoutObjects()
+]]></source>
+ The first two lines should be obvious, if they are not, this guide from here
+ on out will not be much help to you ;-)
+
+ <h4>Our First Macro: #defineLayoutObjects()</h4>
+ <p>
+ Now the line containing <code>#defineLayoutObjects()</code> will not be as obvious in its
+ purpose as the previous two. <code>#defineLayoutObjects()</code> is what is known, in
+ Velocity vernacular, as a macro. A macro is a predefined snippet of Velocity
+ code that can be reused within any Velocity template. All of the global macros
+ we will be using (including this one) are defined within the <code>WEB-INF/jetspeed_macros.vm</code>.
+ Later in this guide we will discuss supplying your own, custom macros for assisting
+ you in your decoration development, if you choose to. Now, back to the <code>#defineLayoutObjects()</code>.
+ <code>#defineLayoutObjects()</code> adds values to Velocity that will be accessible within header.vm,
+ footer.vm, other macros and all of your portlet decoration templates. We could easily stop here
+ regarding <code>#defineLayoutObjects()</code>, however, I feel it can be helpful to have some
+ insights into the inner workings of Velocity for the uninitiated. With out further ado, the
+ code:
+<source>
+<![CDATA[
+ #macro (defineLayoutObjects)
+ #set($preferedLocale = $JS2RequestContext.locale)
+ #set($rootFragment = $jetspeed.currentFragment)
+ #set($site = $request.getAttribute("org.apache.jetspeed.portalsite.PortalSiteRequestContext"))
+ #set($theme = $request.getAttribute("org.apache.jetspeed.theme"))
+ #set($layoutDecoration = $theme.getDecoration($rootFragment))
+ #end
+]]></source>
+
+ Hmm. What is actually happening here. Okay first off we have, <code>#set()</code>, this is what is known as a
+ directive in Velocity. A directive is built-in functionallity and not a macro. <code>#set()</code>
+ is pretty straight forward in that it takes the value on the right of the = and assigns it to
+ the left. Cool, that seems fairly straight forward. But how does one work with these values and where
+ the heck did <code>$JS2RequestContext.locale</code> come from? I guess i should take a quick step back
+ and describe how we work with objects in Velocity. All objects available to a Velocity template
+ can be referenced via the <code>$someObject</code> notation. Knowing that much invoking a method
+ , let's getFoo(), can be done just like this <code>$someObject.getFoo()</code>. Even cooler is the
+ fact we can short-hand getter methods that don't take any arguments like this,
+ <code>$someObject.foo</code>. As for this <code>$JS2RequestContext</code> this is actually
+ an instance of the <code>org.apache.jetspeed.RequestContext</code> that has been availble to Velocity
+ by Jetspeed itself. So, by looking the javadoc for <code>org.apache.jetspeed.RequestContext</code> we see
+ <code>$JS2RequestContext.locale</code> will give us an instance of <code>java.util.Locale</code> that represents
+ the locale of the current user. Couldn't be much simpler than that could it?
+ <br/><br/>
+ Next up we have this line <code>#set($rootFragment = $jetspeed.currentFragment)</code> another set()
+ statement, this time creating an object called <code>$rootFragment</code> which is an instance of
+ <a href="http://portals.apache.org/jetspeed-2/multiproject/jetspeed-api/apidocs/org/apache/jetspeed/om/page/ContentFragment.html">org.apache.jetspeed.om.page.ContentFragment</a>.
+ It is really not relevant to this guide
+ to describe what <code>$jetspeed.currentFragment</code> is doing so I am going to skip that and move on.
+ <br/><br/>
+ <code>
+ #set($site = $request.getAttribute("org.apache.jetspeed.portalsite.PortalSiteRequestContext"))
+ <br/>
+ #set($theme = $request.getAttribute("org.apache.jetspeed.theme"))
+ </code>
+ <br/>
+ Ah <code>$request</code>, now that looks familiar, this is actually an instance of <code>javax.servlet.http.HttpServletRequest</code>
+ from which we are retreiving objects that were been placed into Velocity by Jetspeed. The actual objects are:
+ <a href="http://portals.apache.org/jetspeed-2/multiproject/jetspeed-api/apidocs/org/apache/jetspeed/portalsite/PortalSiteRequestContext.html">org.apache.jetspeed.portalsite.PortalSiteRequestContext</a>
+ and
+ <a href="http://portals.apache.org/jetspeed-2/multiproject/jetspeed-api/apidocs/org/apache/jetspeed/decroation/Theme.html">org.apache.jetspeed.decoration.Theme</a>
+ respectively. We will put all of these objects to good use in just a little while.
+ </p>
+ <h4>Feed Your HEAD: How to Properly Code Your Head Tag.</h4>
+ <p>
+ This section provides you with all the information to properly code the
+ <HEAD> of your Layout decroation. So, straight to the code.
+ <source>
+<![CDATA[
+<html>
+ <head>
+ #defineLayoutObjects()
+
+ <base href="#BaseHref()">
+ <meta http-equiv="Content-type" content="#ContentType()" />
+ <meta http-equiv="Content-style-type" content="text/css" />
+ #includeJavaScriptForHead()
+ #IncludeStylesheets()
+ <title>#PageTitle()</title>
+ <meta name="description" content="#PageDescription()" />
+]]></source>
+ </p>
+
+ </p>
+ <h5>The <base> Tag</h5>
+ <p>
+ First off we have <code><![CDATA[ <base href="#BaseHref()">]]></code> which allows
+ us to define the base path for resolution of web resources, for an in depth discussion
+ of the <code><![CDATA[ <base>]]></code> see: <a href="http://www.w3schools.com/tags/tag_base.asp">W3C Schools Reference</a>.
+ If you have spent any time playing with Jetspeed, you will have noticed it does all sorts
+ of crazy URL rewriting that will totally hose any attempts to consistently path you html
+ and styles sheets. By defining the BASE tag, this probelms will all but disappear. As
+ for the <code>#BaseHref()</code> macro, it simply generates a fully qualified path to your
+ web application's root. The actual code, interms of the servlet api is synonimous with this:
+<source>
+HttpServletRequest request;
+StingBuffer baseHref = new StringBuffer(request.getScheme())
+ .append("://").append(request.getServerName())
+ .append(":").append(request.getServerPort())
+ .append(request.getContextPath()).append("/");
+return baseHref.toString();
+</source>
+ The actual Velocity macro code is a bit more terse ;)
+<source>
+${request.scheme}://${request.serverName}:${request.serverPort}${request.contextPath}/
+</source>
+ </p>
+ <h5>Meta Tag: <![CDATA[<meta http-equiv="Content-type" content="#ContentType()" />]]></h5>
+ <p>
+ Will return text/html plus the proper encoding, such as UTF.
+ </p>
+ <h5>#includeJavaScriptForHead()</h5>
+ <p>
+ At the time of the writing of this guide there is really very little javascript
+ required to for the base Jetspeed 2 server to run. However this may change in
+ near future as we try to employ the use of AJAX in things such as configuration
+ and administration.
+ </p>
+ </subsection>
+</section>
+<!--
+<section name='Packaging'>
+<p>
+Layouts are packaged in a JAR file. Supported decorators:
+<ul>
+ <li>Page Decorators</li>
+ <li>Portlet Decorators</li>
+ <li>Generic Decorators</li>
+ <li>Localized Decorators</li>
+</ul>
+Operations Supported:
+<ul>
+ <li>Deploy</li>
+ <li>Un-deploy</li>
+ <li>Re-deploy</li>
+</ul>
+The decorator.properties file must be located in the root directory of the jar archive and
+contain the properties outlined in the next slide to be identified as a decorator by the auto
+deployment system. The deployer will relocate the locale specific content to satisfy J2
+content locators as necessary on deploy and undeploy. The current implementation supports
+only 2 character language and country codes.
+</p>
+</section>
+<section name='Decorator Properties'>
+<p>
+The decorator.properties file must be located in the root directory of the jar archive and
+contain the properties outlined above to be identified as a decorator by the auto-deployment system.
+</p>
+<p>
+A deployable decorator must have the following properties set or defaulted in the decorator.properties
+configuration:
+
+<source test=""><![CDATA[
+
+id = IDENTIFIER
+media.type= HTML | WML
+decorates = layout | portlet | any
+
+]]></source>
+
+To avoid conflicts with the locale logic and runtime locators, decorators should be
+named with ids longer than 2 characters in length. The media.type property defaults to 'html'.
+The 'any' value for the decorates property is mapped to the generic deployment directory.
+The deployer will relocate the locale specific content to satisfy J2 content locators as
+necessary on deploy and undeploy. The current implementation supports only 2
+character language and country codes.
+</p>
+</section>
+-->
+</body>
+</document>
+
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-decorators.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-decorators.xml
------------------------------------------------------------------------------
svn:keywords = Id
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-demo.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-demo.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-demo.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-demo.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Jetspeed-2 Pipeline</title>
+ <subtitle>Documentation for Jetspeed-2 Pipeline</subtitle>
+ <authors>
+ <person name="David Le Strat" email="dlestrat@apache.org" />
+ <person name="Philip Mark Donaghy" email="pmd@apache.org" />
+ </authors>
+ </properties>
+ <body>
+ <section name="Live Jetspeed Demo">
+ <p>To get a quick look at the Jetspeed decorators, themes,
+ <a href="../features.html">functionalities</a>,
+ and the admin interface point your browser to
+ <a href="http://portals.zones.apache.org/jetspeed/portal/">the standard portal demo</a> or
+ <a href="http://portals.zones.apache.org/jetspeed/desktop/">the web 2.0 desktop demo</a>.
+ Use the username <i>admin</i> connects using the password <i>j2</i>. Note: It is probable that
+ someone changes the password therefore we will regenerate the site on a regular basis.
+ </p>
+ </section>
+ </body>
+</document>
+
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-demo.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-demo.xml
------------------------------------------------------------------------------
svn:keywords = Id
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-dir-structure.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-dir-structure.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-dir-structure.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-dir-structure.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Guide to Jetspeed-2 Component Architecture</title>
+ <subtitle>Guide to Jetspeed-2 Component Architecture</subtitle>
+ <authors>
+ <person name="David Le Strat" email="dlestrat@apache.org" />
+ </authors>
+ </properties>
+ <body>
+ <section name="Guide to Jetspeed-2 Component Architecture">
+
+ </section>
+ </body>
+</document>
\ No newline at end of file
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-dir-structure.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-dir-structure.xml
------------------------------------------------------------------------------
svn:keywords = Id
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-j2-development.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-j2-development.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-j2-development.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-j2-development.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Guide to Jetspeed-2 Development</title>
+ <subtitle>Guide to Jetspeed-2 Development</subtitle>
+ <authors>
+ <person name="David Le Strat" email="dlestrat@apache.org" />
+ </authors>
+ </properties>
+ <body>
+ <section name="Guide to Jetspeed-2 Development">
+ <subsection name="Working with Jetspeed-2 Source Code">
+ <p>
+ For information on how to get started with Jetspeed-2 source code, check
+ <a href="../getting-started-source.html">getting started with Jetspeed-2 source code</a>.
+ </p>
+ </subsection>
+ <subsection name="How to Submit Patches?">
+ <p>
+ When working with Eclipse with the <a href="http://subclipse.tigris.org/">Subclipse plugin</a>,
+ it is possible to generate a patch for the code changed as illustrated below:
+ <br/><br/>
+ <img src="images/create-patch.gif" border="0" />
+ </p>
+ </subsection>
+ </section>
+ </body>
+</document>
\ No newline at end of file
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-j2-development.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-j2-development.xml
------------------------------------------------------------------------------
svn:keywords = Id
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-jpt.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-jpt.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-jpt.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-jpt.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,165 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Guide to Jetspeed Power Tool</title>
+ <subtitle>Documentation for Designers working with the Jetspeed Power Tool.</subtitle>
+ <authors>
+ <person name="David Sean Taylor" email="taylor@apache.org"/>
+ </authors>
+ </properties>
+ <body>
+<section name="Jetspeed Power Tool">
+<p>
+The Jetspeed Power Tool (JPT) is a velocity tool used in Layouts and Decorators to generate dynamic content.
+The JPT is a request level velocity tool, and is available to all layouts and decorators.
+The JPT is referenced in your decorator or layout as:
+<source test=""><![CDATA[
+$jetspeed
+]]></source>
+All public JPT APIs can be accessed with:
+<ul>
+ <li>Java dot notation for methods</li>
+ <li>JavaBean shortcuts for properties (getter/setter)</li>
+</ul>
+Example of calling a method:
+<source test=""><![CDATA[
+# call a method 'getTitle' with 2 parameters
+$jetspeed.getTitle($myPE, $myF)
+]]></source>
+Example of calling getting a property:
+<source test=""><![CDATA[
+# get the page bean, equivalent to $jetspeed.getPage()
+$jetspeed.page
+]]></source>
+</p>
+</section>
+<section name="JPT Velocity API">
+<p>The table below defines the Jetspeed Power Tool API for Velocity</p>
+<hr/>
+<table>
+ <tr>
+ <th>API</th>
+ <th><b>decorateAndInclude($fragment)</b></th>
+ </tr>
+ <tr>
+ <td>Description</td>
+ <td>
+ Retrieves the application relative path to a decorator template for a given
+ fragment parameter <b>($fragment)</b> to be included by Velocity.
+ Should be passed as a parameter to the Velocity #parse function (#parse includes
+ another Velocity template).
+ </td>
+ </tr>
+ <tr>
+ <td>Parameter</td>
+ <td><b>$fragment</b> - the fragment to be included and decorated.</td>
+ </tr>
+ <tr>
+ <td>Returns</td>
+ <td><b>String</b> - Application relative path to a decorator template.</td>
+ </tr>
+ <tr>
+ <td>Examples</td>
+ <td>#parse($jetspeed.decorateAndInclude($fragment))<br/>returns<br/>/WEB-INF/decorations/layout/html/tigris/header.vm</td>
+ </tr>
+</table>
+<hr/>
+<table>
+ <tr>
+ <th>API</th>
+ <th><b>getAbsoluteUrl(appRelativePath)</b></th>
+ </tr>
+ <tr>
+ <td>Description</td>
+ <td>
+ Given a relative path to an portlet application resource, returns an absolute URL.
+ This API should not be used to reference template ULS since they are usually inaccessible
+ as absolute URLs because they are often located in a CMS or behind the secured WEB-INF directory.
+ </td>
+ </tr>
+ <tr>
+ <td>Parameter</td>
+ <td><b>relativePath</b> - a relative path to a resource in the decorator package.</td>
+ </tr>
+ <tr>
+ <td>Returns</td>
+ <td><b>String</b> - The full absolute path to a web resource</td>
+ </tr>
+ <tr>
+ <td>Examples</td>
+ <td>$jetspeed.getAbsoluteUrl("/images/test.gif")<br/>returns<br/>http://localhost:8080/jetspeed/portal/images/test.gif</td>
+ </tr>
+</table>
+<hr/>
+<table>
+ <tr>
+ <th>API</th>
+ <th><b>columns</b></th>
+ </tr>
+ <tr>
+ <td>Description</td>
+ <td>
+ Returns a list of column for the current fragment during a layout aggregation.
+ </td>
+ </tr>
+ <tr>
+ <td>Parameter</td>
+ <td><b>-</b></td>
+ </tr>
+ <tr>
+ <td>Returns</td>
+ <td><b>List</b> - a standard Java List of sub-fragments or portlets</td>
+ </tr>
+ <tr>
+ <td>Examples</td>
+ <td>#set ($table = $jetspeed.columns)<br/>#foreach($entry in $table)
+ </td>
+ </tr>
+</table>
+<hr/>
+<table>
+ <tr>
+ <th>API</th>
+ <th><b></b></th>
+ </tr>
+ <tr>
+ <td>Description</td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>Parameter</td>
+ <td><b></b></td>
+ </tr>
+ <tr>
+ <td>Returns</td>
+ <td><b></b></td>
+ </tr>
+ <tr>
+ <td>Examples</td>
+ <td></td>
+ </tr>
+</table>
+<hr/>
+
+</section>
+
+</body>
+</document>
+
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-jpt.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-jpt.xml
------------------------------------------------------------------------------
svn:keywords = Id
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-l10n.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-l10n.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-l10n.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-l10n.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Guide to Localization for Jetspeed 2</title>
+ <subtitle>Jetspeed 2 Localization for your language</subtitle>
+ <authors>
+ <person name="Shinsuke Sugaya" email="shinsuke@yahoo.co.jp"/>
+ </authors>
+ </properties>
+ <body>
+<section name="Translate Messages">
+<p>
+Jetspeed2 has the translatable messages in Java properties and XML files
+</p>
+<subsection name="Properties File">
+<p>
+This document shows how to create a message properties file for your language.
+</p>
+<h5>1. Find <code>*_en.properties</code></h5>
+<p>
+<code>*_en.properties</code> is English message properties file. You can use it as a base properties file for your language.
+</p>
+<p>
+If you use UNIX system, you can use <code>find</code> command to find the properties files:
+</p>
+<source test=""><![CDATA[
+$ cd ${jetspeed-2-home}
+$ find . -type f | grep -v CVS | grep _en.properties
+]]></source>
+<h5>2. Copy <code>*_en.properties</code> to <code>*_<your language, [country and variant]>.properties.orig</code></h5>
+<p>
+To translate messages, copy the properties file for your language. For more information about Language, Country and Variant code, see "<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Locale.html">JavaDoc: Locale Class</a>", "<a href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt">ISO Language Code</a>" and "<a href="http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html">ISO Country Code</a>".
+</p>
+<p>
+Example:
+</p>
+<source test=""><![CDATA[
+$ cd applications/localeselector/src/java/org/apache/jetspeed/portlets/localeselector/resources/
+$ cp LocaleSelectorResources_en.properties LocaleSelectorResources_ja.properties.orig
+]]></source>
+<p>
+where <code>*_ja.properties</code> is Japanese message file.
+</p>
+<h5>3. Translate *_<your language, [country and variant]>.properties.orig in your language</h5>
+<p>
+For more information about a properties file, see "<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html#load(java.io.InputStream)">JavaDoc: Properties Class</a>".
+</p>
+<h5>4. Run <code>native2ascii</code> command</h5>
+<p>
+Since the properties file is assumed to be using the ISO 8859-1 character encoding, use <code>native2ascii</code> command to convert to ISO 8859-1. For more information about "<a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/native2ascii.html">native2ascii(Solaris)</a>" or "<a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/native2ascii.html">native2ascii(Windows)</a>".
+</p>
+<p>
+Example:
+</p>
+<source test=""><![CDATA[
+$ native2ascii LocaleSelectorResources_ja.properties.orig LocaleSelectorResources_ja.properties
+]]></source>
+<h5>5. Build & Deploy Jetspeed2, and see if your translation is displayed</h5>
+<p>
+For more information about Jetspeed 2 build and deploy steps, see "<a href="getting-started.html">Getting Started</a>".
+</p>
+<h5>6. Create a new JIRA issue, and attach <code>*_<your language, [country and variant]>.properties</code></h5>
+<p>
+JIRA site for Jetspeed 2 is <a href="http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10492">http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10492</a>. To create a new JIRA issue, go to "CREATE NEW ISSUE"(select "l10n" as Component/s name).
+</p>
+
+</subsection>
+</section>
+
+</body>
+</document>
+
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-l10n.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-l10n.xml
------------------------------------------------------------------------------
svn:keywords = Id
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-layouts.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-layouts.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-layouts.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-layouts.xml Tue Dec 2 00:53:22 2008
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<document>
+ <properties>
+ <title>Layouts and Decorations</title>
+ <subtitle>Documentation for Designers working with Jetspeed Layouts and Decorations</subtitle>
+ <authors>
+ <person name="David Sean Taylor" email="taylor@apache.org"/>
+ </authors>
+ </properties>
+ <body>
+<section name="Layouts">
+<p>
+Layout templates are packaged in special Jetspeed-specific and deployable portlet applications.
+Layout templates control the overall aggregation of a portal page. Layout templates are
+combined with portlets, providing a component model for aggregation. Jetspeed-2 comes out
+of the box with several layout components including one, two and three column layouts.
+See the <a href='#Jetspeed-2 Layouts'>Jetspeed-2 Layouts</a> below for all available Layouts in the
+default Jetspeed-2 system. Of course you can define and derive your own layouts.
+</p>
+<p>
+With regards to aggregation, layouts define how a single portal page is aggregated.
+A l ayout defines the fashion in which grouping of fragments
+will organized relative to the final, aggregated
+content of a request to the portal. Layouts are defined by
+a portlet which applies an algorithm to a template to
+generate the aggregated content of a page. Typical
+algorithms are two column, three column, nested.
+</p>
+<p>A layout is made up of:
+<ul>
+ <li>One or more templates</li>
+ <li>A template descriptor</li>
+ <li>Images</li>
+ <li>A Stylesheet (CSS)</li>
+ <li>Macros</li>
+</ul>
+</p>
+<p>
+ <img src='images/layouts/layouts-overview.png'/>
+</p>
+</section>
+<section name="Layouts Packaging">
+<p>
+Layouts are packaged as standard portlet applications.
+Layouts usual have a
+</p>
+<p>
+Operations Supported:
+<ul>
+ <li>Deploy</li>
+ <li>Un-deploy</li>
+ <li>Re-deploy</li>
+</ul>
+</p>
+</section>
+<section name='Jetspeed-2 Layouts'>
+<p>
+Jetspeed-2 comes out of the box with several layout components including one, two and three
+column layouts. Of course you can define and derive your own layouts. The table below lists
+the available layout components in Jetspeed. When customizing (editing) a page,
+the layout component is selected. One layout may be assigned per PSML page.
+</p>
+<table>
+ <tr>
+ <th>Layout</th>
+ <th>Type</th>
+ <th>Columns</th>
+ <th>Sizes</th>
+ <th>Modes</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><b>VelocityOneColumn</b></td>
+ <td>OneColumn</td>
+ <td>1</td>
+ <td>100%</td>
+ <td>view,edit,help</td>
+ <td>A single column display of one or more fragments taking up 100% of the portlet display area.</td>
+ </tr>
+ <tr>
+ <td><b>VelocityTwoColumns</b></td>
+ <td>TwoColumns</td>
+ <td>2</td>
+ <td>50%,50%</td>
+ <td>view,edit,help</td>
+ <td>A two column display of one or more fragments where each column is allocated to 50% of the portlet display area respectively.
+ Fragments may be placed in either column using <a href='psml.html'>PSML</a> fragment definitions.
+ </td>
+ </tr>
+ <tr>
+ <td><b>VelocityTwoColumnsSmallLeft</b></td>
+ <td>TwoColumns</td>
+ <td>2</td>
+ <td>15%,85%</td>
+ <td>view,edit,help</td>
+ <td>A two column display of one or more fragments where the left column is allocated to 15% of the portlet display area,
+ and the right column is allocated to 85% of the portlet display area.
+ Fragments may be placed in either column using <a href='psml.html'>PSML</a> fragment definitions.
+ </td>
+ </tr>
+ <tr>
+ <td><b>VelocityThreeColumns</b></td>
+ <td>ThreeColumns</td>
+ <td>3</td>
+ <td>33%,33%,33%</td>
+ <td>view,edit,help</td>
+ <td>A three column display of one or more fragments where each column is allocated to 33% of the portlet display area respectively.
+ Fragments may be placed in either column using <a href='psml.html'>PSML</a> fragment definitions.
+ </td>
+ </tr>
+ <tr>
+ <td><b>VelocityOneColumnNoActions,<br/>VelocityTwoColumnsNoActions,<br/>VelocityThreeColumnsNoActions</b></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>view</td>
+ <td>Same parameters as their counterparts with actions, but no decorator actions are displayed.
+ </td>
+ </tr>
+</table>
+</section>
+
+</body>
+</document>
+
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-layouts.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-layouts.xml
------------------------------------------------------------------------------
svn:keywords = Id
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org
|