portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From woon...@apache.org
Subject svn commit: r722405 [7/17] - in /portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade: ./ src/ src/site/ src/site/resources/ src/site/resources/css/ src/site/resources/images/ src/site/resources/images/layouts/ src/site/resources/images/portlet...
Date Tue, 02 Dec 2008 08:53:28 GMT
Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-installer.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-installer.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-installer.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-installer.xml Tue Dec  2 00:53:22 2008
@@ -0,0 +1,185 @@
+<?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>
+			Getting Started with Jetspeed 2 using the installer
+		</title>
+		<subtitle>Installing Jetspeed-2 with the installer</subtitle>
+		<authors>
+			<person name="David Le Strat" email="dlestrat@apache.org" />
+		</authors>
+	</properties>
+	<body>
+		<section name="Jetspeed-2 Installer">
+			<subsection name="Getting Started with the Installer">
+			<p>
+			Jetspeed 2.1.3 provides 2 installers:
+			<ul>
+			<li>The minimal installation, containing only the core portal and administrative portlets: 
+			<a href="http://www.apache.org/dyn/closer.cgi/portals/jetspeed-2/binaries/jetspeed-2.1.3-installer.jar">Standard (Minimal) Installer</a></li>
+			<li>An installer for installing Jetspeed-2 on a third party database: 
+			<a href="http://www.apache.org/dyn/closer.cgi/portals/jetspeed-2/binaries/jetspeed-2.1.3-demo-installer.jar">Jetspeed Demo Installer</a></li>
+			</ul>
+			</p>
+			<p>
+			To run the standard (minimal) installer:
+			</p>
+			<source>
+java -jar jetspeed-2.1.3-installer.jar
+            </source>
+            <p>
+To run the Jetspeed Demo installer:
+            </p>
+            <source>
+java -jar jetspeed-2.1.3-demo-installer.jar
+			</source>
+			<p>	
+			The installers are capable of running on headless (i.e. no gui) machines, and will detect so automatically.<br/>
+			To force the installer in text mode manually, pass in the <b><i>text</i></b> parameter:
+			</p>
+			<source>
+java -jar jetspeed-2.1.3-installer.jar text	
+            </source>
+		    </subsection>
+		    <subsection name="Database Selection">
+		    <p>
+			The installer will ask you to choose a database for storing the Jetspeed database. We provide a default Derby database for demo systems.
+			The Derby database runs in embedded mode inside the Jetspeed/Tomcat JVM. All other databases require additional configuration.
+			If you selected Derby, you can go with the default parameters provided. For all other databases you must first create an area to hold the Jetspeed tables.
+			For some databases this <i>area</i> is called a <i>catalog</i>, others call it a <i>schema</i>, while others call it a <i>database</i>. Consult your
+			database documentation for details on how to create a catalog or schema to hold the Jetspeed tables. Additionally, you may need to create a database user
+			to access the Jetspeed tables. Often it is required to grant access to the schemas (catalogs) for the given user.
+			</p>
+			<p>Jetspeed supported database list:
+			<ul>
+			<li>DB2</li>
+			<li>Derby (default)</li>
+			<li>MS SQL</li>
+			<li>My SQL</li>
+			<li>PostgreSQL</li>
+			<li>Oracle (9i or higher)</li>
+			<li>SapDB</li>
+			<li>Manual database setup </li>
+			</ul>
+			</p>
+			<p>If you choose the manual database setup, then the database scripts will not be run and you will need to configure the database manually after the installation.
+			All database scripts are provided in the installation under the <i>database</i> directory. For your specific database, look for the corresponding directory name.
+			During installation, you will be prompted for the following fields after chosing your database types (except for Derby):
+			<ul>
+			<li>A username</li>
+			<li>A password</li>
+			<li>A JDBC connection string</li>
+			<li>A JDBC driver name</li>
+			<li>The location of a valid JDBC driver.  The installer will copy this driver to the installed location in Tomcat.</li>
+			</ul>
+			The connections strings are only partially completed in the well-known format of the particular databaes.
+			Please take care to complete the values in your connection string for your database. The driver name should be the right
+			driver class for your database at the time of the making of this installation. Please ensure that a newer driver is not required for your database. 
+			Note also that the location of the JDBC driver must be selected. We have not provided the file system path to the jar file but only the likely file name.
+			You may want to check and see if newer versions of the driver are available.
+			</p>
+			<p>
+			Once you have entered all of your parameters, the installer will test the database connection before proceeding.
+			If the connection fails, please go back to the connection configuration setup and provide the correct parameters.
+			If you choose to continue, the database scripts will not be run and you will need to configure the database manually after the installation.
+			Once the installer verifies the database connection, you are ready to proceed with installation process.
+			</p>
+			<p>
+			Please take note of the location where you are installing on your file system.<br/>
+			Also, on a Windows platform make sure to use a location path without spaces, e.g. <i>NOT</i> under C:\Program Files.
+			</p>
+			</subsection>
+			<subsection name="Starting Jetspeed-2">
+			<p>
+			Once you have completed a successful install, you are ready to start the Jetspeed Portal.
+			On linux, here is an example where you have installed to the default location:
+			</p>
+			<source>
+cd ~/jetspeed-2.1.3/bin
+./startup.sh
+			</source>
+			<p>
+			On windows, here is an example where you have installed to the default location:
+			</p>
+   			<source>
+   cd C:\Apache\Jetspeed-2.1.3\bin
+   startup.bat
+   			</source>
+   			<p>
+ 			The very first invocation of the portal requires anywhere from 10 seconds to 30 seconds for initial 
+   			startup and final installation. After starting the server, start up a web browser 
+   			and navigate to <a href='http://localhost:8080/jetspeed/portal'>http://localhost:8080/jetspeed/portal</a>	   			
+			</p>
+			</subsection>
+			<subsection name="Login to Jetspeed-2">
+			<p>
+All preconfigured users have the same password as username (for example the <i>admin</i> user has the password <i>admin</i>)
+If you installed with the Minimal installer, two test accounts are available:
+			</p>
+			<source>
+admin 	  -- System administrator, super user
+devmgr 	  -- Delegated security manager, can manage users with the "dev" (developer) role			
+		   </source>
+		   <p>
+If you installed with the Demo installer, several additional test accounts are available:		   
+ 			</p>
+ 			<source>
+admin 	  -- System administrator, super user
+manager   -  Has system administration rights, but not super user
+user 	  -- A sample user demonstrating with with a home page and advanced profiled menus 
+tomcat 	  -- A sample user demonstrating a user without a home page
+jetspeed  -- A sample user demonstrating discovery of pages by both group and role fallback profiling algorithms
+subsite   -- Example of how to setup users with a primary subsite role fallback profiling rules
+subsite2  -- Example of how to setup users with a secondary subsite role fallback profiling rules
+devmgr 	  -- Delegated security manager, can manage users with the "dev" (developer) role 			
+ 			</source>
+			</subsection>
+			<subsection name="Jetspeed Desktop">
+			<p>
+The Jetspeed Desktop is a client-side JSR-168 aggregation engine.
+To accesss the Desktop, navigate your browser to <a href='http://localhost:8080/jetspeed/desktop'>http://localhost:8080/jetspeed/desktop</a>
+When switching between the /desktop and the /portal URLs, logout to start a new session.			
+			</p>
+			</subsection>
+			<subsection name="Changing the Database">
+			<p>
+			After running the installation, you can manually reinitialize the database or even switch to another database.
+			To do so, we provide an Ant script found under the <i>database</i> directory of your installed Jetspeed portal.
+			The database configuration is defined in the <i>database.properties</i> file. To reinitialize or change the database,
+			go to the database directory and edit the database.properties file, save it, and then run <b><i>ant</i></b>.
+			</p>
+			<p>Here is a sample database configuration file:
+			</p>
+			<source>
+; Jetspeed Enterprise Portal 2.1 Database setup configuration
+; db.type supported values: db2, derby, mssql, mysql, oracle, postgres, sapdb
+db.type=mysql
+: for db.type other than derby, the properties below need to be specified
+db.username=j2
+db.password=abracadabra
+jdbc.url=jdbc:mysql://localhost:3306/prod-2
+jdbc.driver.class=com.mysql.jdbc.Driver			
+			</source>
+			<p>If you are configuring a database for the first time after choosing Manual database setup in the installer, or want to try out
+				a different type of database, make sure to copy the specific JDBC driver for the database to the Tomcat shared/lib folder <i>before</i> running ant.<br/>
+			Note: for Derby, the needed driver is already placed there or available from the database/lib directory of your installed Jetspeed portal.</p>
+			</subsection>
+		</section>
+	</body>
+</document>

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-installer.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-installer.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-source.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-source.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-source.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-source.xml Tue Dec  2 00:53:22 2008
@@ -0,0 +1,442 @@
+<?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>
+			Getting Started with Jetspeed 2 using a Source Release (deprecated)
+		</title>
+		<subtitle>Getting ready to modify Jetspeed</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="Ate Douma" email="ate@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="1. Naming Conventions and Basic Assumptions (deprecated)">
+			<subsection name="Source Basic Assumptions">
+				<ul>
+					<li>
+						Unless otherwise specified, you should be
+						running all maven build commands from within the
+						Jetspeed directory (if you are just building
+						Jetspeed) or from within your custom portal
+						directory.
+					</li>
+					<li>
+						You must use "/" as a file seperator on both
+						*nix and windows, e.g. c:/windows, and /home.
+					</li>
+				</ul>
+			</subsection>
+			<subsection name="Naming Conventions">
+				<p>
+					Below is a listing of common conventions used within
+					this document.
+				</p>
+				<p>
+					Variables are represented as ${
+					<i>some_variable</i>
+					}. This may signify a setting in Jetspeed or may
+					represent a setting within your environment.
+					Properties files are also capable of specifying
+					variables within them.
+				</p>
+				<p>
+					For example, ${org.apache.jetspeed.server.home}
+					references either a property defined further up in
+					the properties file, a variable that has been
+					defined somehwere within the build process or
+					defined in another build file within Jetspeed.
+				</p>
+				<ul>
+					<li>
+						<b>${USER_HOME}</b>
+						: This is the user's home directory. For Windows
+						systems, this generally c:\Documents and
+						Settings\${userName} where ${userName} is the
+						name you use to log into windows.
+						<br />
+						${USER.HOME} is synonymous with ${USER_HOME}
+						within this document.
+					</li>
+					<li>
+						<b>${CATALINA_HOME}</b>
+						: This is the location of your tomcat
+						installation, e.g.
+						<i>c:/tomcat</i>
+						.
+					</li>
+				</ul>
+			</subsection>
+			<subsection name="Source Subversion (SVN)">
+				<p>
+					<a href="http://subversion.tigris.org">
+						Subversion (SVN)
+					</a>
+					is used in the Jetspeed project to manage the source
+					files. SVN is very similar to CVS. For those user's
+					on Windows system who prefer non-command line access
+					we suggest using
+					<a href="http://tortoisesvn.tigris.org">
+						TortoiseSVN
+					</a>
+					which plugs into your Windows Explorer view. For
+					those using the Eclipse IDE, the
+					<a href="http://subclipse.tigris.org">Subclipse</a>
+					plugin is available for SVN access.
+				</p>
+			</subsection>
+			<subsection name="Maven Setup">
+				<p>
+					We will not go into the specifics of Maven as that
+					is beyond the scope of this document. However, here
+					are a few bits of standard maven jargon we feel is
+					important for you to know.
+				</p>
+				<p>
+					You will see mention of a
+					<i>maven repository</i>
+					in this document. When you install Maven the .maven/
+					directory is created in your ${USER_HOME) directory.
+					<br />
+					Under .maven/ you will see a
+					<i>repository</i>
+					directory. This is were Maven stores all the jars
+					that it downloads when you run your builds. This is
+					also were Maven puts your jars and wars that you
+					build. They will be stored in a directory structure
+					that has the format of
+					${groupId}/${projectId}/jars/${projectId}-{$version}.jar
+					for jar files and
+					${groupId}/${projectId}/wars/${projectId}.war for
+					war files. The ${groupId}, ${projectId} and
+					${version} variables are discussed later on in this
+					document. Jar and war files will also be created in
+					your project in the
+					<i>/target</i>
+					directory.
+				</p>
+			</subsection>
+		</section>
+
+
+		<section name="2. Creating a new Portal Application">
+			<p>
+				Now we're going to configure, setup and build a new
+				custom portal application using the Jetspeed-2
+				maven-plugin.
+			</p>
+			<subsection
+				name="4.1 Install the Jetspeed 2 maven-plugin">
+				<p>
+					Maven2 install the plugins by it self, make sure you mention your repositories in your settings.xml				
+				</p>
+			</subsection>
+			<subsection name="4.2 Generate a new portal project">
+				<p>
+					Once you have the maven-plugin installed and set
+					properties as needed, generate a default portal
+					configuration using the plugin as follows:
+					<source>
+						<![CDATA[
+mvn archetype:generate -DarchetypeGroupId=org.apache.portals.jetspeed-2 -DarchetypeArtifactId=jetspeed-archetype -DarchetypeVersion=2.2-SNAPSHOT -DgroupId=org.apache.portals.tutorials -DartifactId=express-demo -Dversion=1.0]]>
+					</source>
+				</p>
+			</subsection>
+			<subsection
+				name="4.3 Further customization of the portal">
+				<p>
+					You would need specify you database which would be used to creating portal schema.
+					jetspeed pluin have created an jetspeed-mvn-settings.xml, in root of project location
+					you need to fill properties, with correct database information.
+					
+					You also need to specify the tomcat location, where portal need to deployed make sure 
+					tomcat version should be above <b>5.5.27</b>
+				</p>
+				<source>
+					<![CDATA[
+<org.apache.jetspeed.test.jdbc.driver.groupId>org.apache.derby</org.apache.jetspeed.test.jdbc.driver.groupId>
+        
+        <org.apache.jetspeed.test.jdbc.driver.artifactId>derby</org.apache.jetspeed.test.jdbc.driver.artifactId>
+        
+        <org.apache.jetspeed.test.jdbc.driver.version>10.3.2.1</org.apache.jetspeed.test.jdbc.driver.version>
+        
+        <!-- make sure to check/correct the database.url path location (e.g. /tmp on Linux usually is restricted) -->
+        
+        <org.apache.jetspeed.test.database.default.name>derby</org.apache.jetspeed.test.database.default.name>
+        
+        <org.apache.jetspeed.test.database.url>jdbc:derby:/tmp/derby/testdb;create=true</org.apache.jetspeed.test.database.url>
+        
+        <org.apache.jetspeed.test.database.driver>org.apache.derby.jdbc.EmbeddedDriver</org.apache.jetspeed.test.database.driver>
+        
+        <org.apache.jetspeed.test.database.user></org.apache.jetspeed.test.database.user>
+        
+        <org.apache.jetspeed.test.database.password></org.apache.jetspeed.test.database.password>]]>
+				</source>
+			</subsection>
+			<subsection name="4.5 Build the portal">
+				<p>
+					Once your portal configuration and setup is ready,
+					you can build and install the portal application in
+					your local maven repository (as needed for
+					deployment) using the following standard maven goal.
+					<source>
+						<![CDATA[
+mvn install]]>
+					</source>
+				</p>
+				<p>
+					You are now ready to deploy the new portal
+					application. For this, skip the following section on
+					building the Jetspeed 2 portal from source and
+					continue with the
+					<a href="#6__Deploy_and_Run">deployment</a>
+					section.
+				</p>
+			</subsection>
+		</section>
+		<section name='5. Build Jetspeed 2 from source'>
+			<p>
+				Build the Jetspeed 2 portal directly from the source is
+				somewhat easier to do but should only be done if you
+				don't want to create a new, customizable portal.
+			</p>
+			<subsection
+				name="5.1 Setup the Jetspeed 2 source and build properties">
+				<p>
+					The Jetspeed 2 source contains a
+					<code>jetspeed-mvn-settings-sample.xml</code>
+					file which provides all of the required portal
+					configuration settings as described. You need copy this file to <code>jetspeed-mvn-settings.xml</code>			
+					<a
+						href="#Required_Portal_Configuration_Properties">
+						above
+					</a>
+					.
+				</p>
+				<p>
+					You should
+					<i>
+						<b>not</b>
+					</i>
+					define any of those properties in your
+					<code>${m2_HOME}/settings.xml</code>
+					.
+					<br />
+				</p>
+				<p>
+					When you are going to deploy the portal as described
+					further below, you'll see references to the
+					<code>org.apache.jetspeed.portal.home</code>
+					which you can translate with the root folder of your
+					Jetspeed 2 source.
+				</p>
+				<p>
+					If you want to run the testcases when building the
+					Jetspeed 2 sources
+					<i>and</i>
+					don't want to use the default Derby test database,
+					you need to override the default test database
+					properties, similar to the production database
+					properties as described
+					<a href="#Optional_Database_Server_Properties">
+						above
+					</a>
+					:
+					<ul>
+						<li>
+							<code>
+								org.apache.jetspeed.test.database.default.name
+							</code>
+						</li>
+						<li>
+							<code>
+								org.apache.jetspeed.test.database.url
+							</code>
+						</li>
+						<li>
+							<code>
+								org.apache.jetspeed.test.database.user
+							</code>
+						</li>
+						<li>
+							<code>
+								org.apache.jetspeed.test.database.password
+							</code>
+						</li>
+						<li>
+							<code>
+								org.apache.jetspeed.test.database.driver
+							</code>
+						</li>
+						<li>
+							<code>
+								org.apache.jetspeed.test.database.drivers.path
+							</code>
+						</li>
+					</ul>
+				</p>
+			</subsection>
+			<subsection
+				name="Build the Jetspeed 2 portal and demo portlet applications">
+				<p>
+					For a full build and installation of the portal and
+					the demo portlet applications in your local maven
+					repository run:
+					<source>
+						<![CDATA[mvn clean install]]>
+					</source>
+				</p>
+				<p>
+					But, if you also want to run the testcases during
+					the build run the following instead:
+					<source>
+						<![CDATA[mvn -Dmaven.test.skip=false clean install]]>
+					</source>
+				</p>
+				<p>
+					You are now ready to deploy the Jetspeed 2 Portal.
+				</p>
+			</subsection>
+		</section>
+		<section name="6. Deploy and Run">
+			<subsection name="Deploy">
+				<p>
+					We currently only cover deploying to Tomcat 5 or
+					Tomcat 5.5.
+				</p>
+				<p>
+					Information about deployment to other application
+					servers can be found at the The Jetspeed 2
+					<a
+						href="http://wiki.apache.org/portals/Jetspeed2">
+						Wiki
+					</a>
+					.
+				</p>
+				<p>
+					To deploy a default Jetspeed 2 portal, including the
+					demo portlet applications, run the following in a
+					<i>separate</i>
+					console:
+					<source>
+						<![CDATA[
+						mvn jetspeed:mvn -Dtarget=demo
+						]]>
+					</source>
+					<i>
+						Note: the
+						<a href="maven-2-build.html">
+							maven-plugin documentation
+						</a>
+						described other goals you can use to customize
+						the deployment to your taste.
+					</i>
+				</p>
+			</subsection>
+			<subsection name="Run">
+				<p>
+					The final step is starting up your Tomcat server and
+					the portal will automatically install any deployed
+					portlet applications.
+				</p>
+				<p>
+					Then you can access the portal with your browser at:
+					<source><a href="http://localhost:8080/jetspeed">http://localhost:8080/jetspeed</a></source>
+					or replace "jetspeed" in the above url with the name
+					of you own portal application (
+					<code>
+						${org.apache.jetspeed.portal.artifactId}
+					</code>
+					).
+				</p>
+			</subsection>
+			<subsection name="Default installed user accounts">
+				<p>
+					With the default Jetspeed 2 portal deployment,
+					several example user accounts are inserted into the
+					portal database with which you can logon to the
+					portal:
+					<table>
+						<tr>
+							<th>username</th>
+							<th>password</th>
+							<th>roles</th>
+						</tr>
+						<tr>
+							<td>
+								<code>admin</code>
+							</td>
+							<td>
+								<code>admin</code>
+							</td>
+							<td>
+								<code>admin, manager, user</code>
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<code>manager</code>
+							</td>
+							<td>
+								<code>manager</code>
+							</td>
+							<td>
+								<code>manager, user</code>
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<code>jetspeed</code>
+							</td>
+							<td>
+								<code>jetspeed</code>
+							</td>
+							<td>
+								<code>manager</code>
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<code>user</code>
+							</td>
+							<td>
+								<code>user</code>
+							</td>
+							<td>
+								<code>user</code>
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<code>tomcat</code>
+							</td>
+							<td>
+								<code>tomcat</code>
+							</td>
+							<td></td>
+						</tr>
+					</table>
+				</p>
+			</subsection>
+		</section>
+	</body>
+</document>

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-source.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started-source.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started.xml Tue Dec  2 00:53:22 2008
@@ -0,0 +1,202 @@
+<?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>Getting Started with Jetspeed 2</title>
+		<subtitle>Getting up and running quickly</subtitle>
+		<authors>
+			<person name="David Sean Taylor" email="taylor@apache.org" />
+			<person name="Ate Douma" email="ate@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="Requirements">
+			<p>
+				It is expected that the user is familiar with both the
+				<a href="http://maven.apache.org">Apache Maven</a>
+				project management tool.
+			</p>
+			<ul>
+				<li>
+					<a
+						href="http://maven.apache.org/download.html">
+						Maven 2.0.9
+					</a>
+				</li>
+				<li>Java 1.5 or higher</li>
+				<li>
+					Servlet 2.4 Engine:
+					<ul>
+						<li>Tomcat 5.5.26</li> 
+						<li>Jetty</li>
+						<li>Websphere 6.0</li>
+						<li>Geronimo</li>
+						<li>JBoss</li>
+						<li>Weblogic</li>
+					</ul>
+
+				</li>
+			</ul>
+		</section>
+
+		<section name='1. Get Maven Ready'>
+			<p>
+				If you have not already done so, download and install
+				<a href="http://maven.apache.org/">Maven2</a>
+				.
+			</p>
+		</section>
+		<section name='2. What Database do you want'>
+			<p>
+				Jetspeed's security model requires a database to
+				authorize users and to retain the user information.
+				Jetspeed security should work with any JDBC 2.0
+				compliant driver. The following databases are tested:
+				<ul>
+ 				    <li>Derby</li>
+					<li>HSQLDB - Hypersonic SQL</li>
+					<li>MySQL</li>
+					<li>Oracle</li>
+					<li>Postgres</li>
+					<li>DB2</li>
+					<li>Sybase</li>
+					<li>SQL Server</li>
+				</ul>
+
+				Jetspeed is distributed with the Derby database
+				configured as the default.
+			</p>
+			<p>
+				The database configuration will be setup during the
+				installation process. If you are not going to use the
+				default Derby database, you need to select another database
+				during installation.
+			</p>
+		</section>
+		<section name="3. Servlet Engines">
+			<p>
+				In theory, Jetspeed 2 portals can be run under any
+				servlet container supporting the 2.4 specification or
+				greater. Successful Jetspeed 2 portal applications have
+				been deployed using:
+				<ul>
+					<li>Tomcat 5.5.26 or higher</li>
+					<li>Jetty</li>
+					<li>Websphere</li>
+					<li>Geronimo</li>
+					<li>JBoss</li>
+				</ul>
+			</p>
+			<subsection name=" Tomcat Configuration">
+				<p>
+					Jetspeed 2 can use the Tomcat Manager application
+					for managing portlet applications with the Portlet
+					Application Lifecycle Manager Portlet (PALM). To be
+					able to do so it needs a configured Tomcat user with
+					the predefined 'manager' role in the
+					${org.apache.jetspeed.server.home}/conf/tomcat-users.xml.
+				</p>
+				<p>
+					A minimal example tomcat-users.xml can look like:
+					<source>
+						<![CDATA[
+<tomcat-users>
+  <role rolename="manager"/>
+  <user username="j2deployer" password="xxxxx" roles="manager"/>
+</tomcat-users>]]>
+					</source>
+					<i>
+						The attribute values for username and password
+						must correspond to the specified values for
+						<code>
+							${org.apache.jetspeed.services.autodeployment.user}
+						</code>
+						and
+						<code>
+							${org.apache.jetspeed.services.autodeployment.user}
+						</code>
+						as described above.
+					</i>
+				</p>
+			</subsection>
+			<subsection name="Tomcat 5.5.9 on Windows">
+				<p>
+					To have redeployment and undeployment working
+					properly when using Tomcat 5.5.9 on Windows you have
+					to set the global Context attribute "antiJARLocking"
+					to true.
+				</p>
+				<p>
+					In
+					${org.apache.jetspeed.server.home}\conf\context.xml
+					use:
+					<source>
+						<![CDATA[
+    <Context antiJARLocking="true">
+    ...
+    </Context>]]>
+					</source>
+				</p>
+			</subsection>
+			<subsection
+				name="Jetty - A Quick Test Environment or a Production Servlet Container">
+			<p>
+				Jetty can be used for a production deployment but it is
+				most commonly used to quickly test customizations
+				without interfering with the production servlet
+				container. It does not require any special
+				configuration.
+			</p>
+			</subsection>
+		</section>
+		<section
+			name='4. Installing Jetspeed from Source or Binary Distributions'>
+			<p>
+				Depending on what you want to do, you have the choice of
+				installing Jetspeed from a binary release or from the
+				sources. If you want to modify the core functionality of
+				Jetspeed or contribute to the development of Jetspeed,
+				you need to work with the sources. If you are only
+				interested in building your own custom enterprise
+				portal, you can start with a binary release of Jetspeed.
+				Most people should start with the binary distribution.
+			</p>
+		</section>
+		<section name='5. Jetspeed build'>
+			<p>
+				Your installation instructions will depend on whether
+				you are
+				<a href="getting-started-source.html">
+					building from source
+				</a>
+				or
+				<a href="getting-started-binary.html">
+					building from a binary distribution
+				</a>
+				or
+				<a href="getting-started-installer.html">
+					installing with Jetspeed-2 installer
+				</a>
+				.
+			</p>
+		</section>
+	</body>
+</document>

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/getting-started.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guide-federated-security.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guide-federated-security.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guide-federated-security.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guide-federated-security.xml Tue Dec  2 00:53:22 2008
@@ -0,0 +1,37 @@
+<?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 Federated Security</title>
+    <subtitle>Federated Security Configuration Overview</subtitle>
+    <authors>
+        <person name="David Sean Taylor" email="taylor@apache.org" />
+    </authors>
+</properties>
+<body>
+<section name="Configuring Jetspeed-2 Federated Security">
+<p>
+1. override web.xml in custom build
+2. edit web.xml
+	* remove security-constraints "Login"
+	* remove LoginProxy, LoginServlet, LoginError, LoginRedirector, ...
+	* remove servlet-mapping for above servlets
+</p>
+</section>
+</body>
+</document>
\ No newline at end of file

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guide-federated-security.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guide-federated-security.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-aggregation.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-aggregation.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-aggregation.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-aggregation.xml Tue Dec  2 00:53:22 2008
@@ -0,0 +1,256 @@
+<?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 Aggregation</title>
+        <subtitle>Guide to Jetspeed Aggregation</subtitle>
+        <authors>
+            <person name="David Sean Taylor" email="taylor@apache.org" />
+        </authors>
+    </properties>
+    <body>
+        <section name="What is Aggregation?">
+            <p>
+                The portal provides a consolidated view of multiple content sources, or portlets, in a single browser display.
+                The process of consolidating and rendering this content together is known as aggregation.	
+                In Jetspeed, the aggregator is made up of several pluggable Spring components that plug into the Jetspeed engine.	 
+            </p>
+        </section>
+        <section name='Supported Aggregators'> 
+            <p>List of Aggregators:</p>
+            <table>
+                <tr>
+                    <th>Component Name</th>
+                    <th>Description</th>                
+                    <th>Multithreaded?</th>
+                    <th>JSR-168 Caching?</th>
+                </tr>
+                <tr>
+                    <td>PageAggregator</td>
+                    <td>Given a PSML page, aggregates the content of all portlets on that page.</td>                
+                    <td>no</td>
+                    <td>yes</td>
+                </tr>
+                <tr>
+                    <td>AsyncPageAggregator</td>
+                    <td>A multi-threaded, asynchronous PSML page aggregator.</td>
+                    <td>yes</td>
+                    <td>yes</td>
+                </tr>
+                <tr>
+                    <td>PortletAggregator</td>
+                    <td>Renders the content of one single portlet.</td>
+                    <td>no*</td>
+                    <td>yes</td>
+                </tr>
+                <tr>
+                    <td>AsyncPageAggregator + CommonJ</td>
+                    <td>A multi-threaded, asynchronous PSML page aggregator running CommonJ Work Monitor threads, tested only with IBM Websphere 6.1 only.</td>
+                    <td>yes</td>
+                    <td>yes</td>
+                </tr>                                
+            </table>            
+            <i>* multi-threading is accomplished with the Jetspeed Desktop combined with the PortletAggregator</i>
+        </section>
+        <section name="Aggregator Spring Configuration">
+            <p>
+            </p>
+            <source test="">
+                <![CDATA[
+        <!-- Default portlet timeout in milliseconds:
+        Zero means no portlet timeout option by default.
+        -->
+        <constructor-arg>
+            <value>0</value>
+        </constructor-arg>				
+]]>
+            </source>
+            <p>
+            </p>
+            
+        </section>
+        
+        <section name="Changing the Page Aggregator to Multithreaded">
+            <p>
+                The default aggregator is single-threaded. To switch to multi-threaded,
+                edit the <b>pipelines.xml</b> spring configuration file:
+            </p>
+            <source test="">
+                <![CDATA[
+<!-- Before -->
+  <bean id="aggregatorValve"
+        class="org.apache.jetspeed.aggregator.AggregatorValve"
+        init-method="initialize"
+
+   <constructor-arg>
+       <ref bean="org.apache.jetspeed.aggregator.PageAggregator"/>
+   </constructor-arg>
+  </bean> 
+
+  <!-- After -->
+  <bean id="aggregatorValve"
+        class="org.apache.jetspeed.aggregator.AggregatorValve"
+        init-method="initialize"
+
+   <constructor-arg>
+       <ref bean="org.apache.jetspeed.aggregator.AsyncPageAggregator"/>
+   </constructor-arg>
+  </bean> 
+]]>
+            </source>
+            <p>
+            </p>
+            
+        </section>
+        <section name="jetspeed-portlet.xml Parameters">
+            <p>
+                For the multithreaded aggregator, you can override the default setting
+                for rendering timeout for a specific portlet. This value is set in milliseconds
+                and represents the timeout value that Jetspeed will give the portlet to complete 
+                rendering before it gives up. 
+            </p>
+            <source test="">
+                <![CDATA[
+<portlet>
+        <portlet-name>PickANumberPortlet</portlet-name>
+        <js:metadata name="timeout">3000</js:metadata>
+</portlet>
+]]>
+            </source>
+            <p>
+            </p>
+            
+        </section>
+        <section name="Multithreaded Aggregation with Websphere">
+            <p>Running mulithreaded aggregation with Jetspeed requires the following configuration steps.
+            Note that steps 1 and 2 are required for all Websphere installations and are not specific to multithreaded aggregation.           
+            </p>
+            <subsection name='1. Login Filter'>
+            <p>Configure the WEB-INF/web.xml to use the PortalFilter for logging in by uncommented  the PortalFilter and its mapping:</p>
+            <source test="">
+                <![CDATA[
+  <filter>
+    <filter-name>PortalFilter</filter-name>
+    <filter-class>org.apache.jetspeed.login.filter.PortalFilter</filter-class>   
+  </filter>
+...
+  <filter-mapping>
+    <filter-name>PortalFilter</filter-name>
+    <url-pattern>/*</url-pattern>    
+  </filter-mapping>               
+]]>            
+            </source>
+            </subsection>
+            <subsection name='2.Portal Login Portlet'>
+            <p>Edit the default-page.psml, changing the login portlet to the filter-based login portlet as shown below.
+            Make sure to also change the fragment id. Change:</p>
+            <source test="">
+                <![CDATA[
+    <fragment id="dp-12" type="portlet" name="j2-admin::LoginPortlet">
+    ...
+]]>            
+            </source>
+			<p>to ..</p>
+            <source test="">
+                <![CDATA[
+    <fragment id="dp-12a" type="portlet" name="j2-admin::PortalLoginPortlet">
+    ...
+]]>            			            
+            </source>
+            </subsection>
+            <subsection name='3. Use the Jetspeed Portal Request Factory'>            
+            <p>
+Some webcontainers like WebSphere 5.x derive critical information of the HttpServletRequest dynamically from the current application context.
+This means that in an invoked portlet application, the original Portal request, as stored in the RequestContext, for example doesn't returns the Portal contextPath, servletPath and HttpSession of the Portal application. You'll get the same object references as in the current application HttpServletRequest.
+Because of this, simple things as portal level login through a custom portlet isn't possible in these web containers.
+			</p>
+			<p>
+To solve this, an additional PortalRequest wrapper will be used which registers the initial (portal) object references from a supplied request and always returns those,
+instead of delagating to the wrapped request.
+Which wrapper is used is handled by a new PortalRequestFactory which can be specified in the springframework configuration.
+For other web containers like Tomcat which doesn't have this "problem", nothing has to be specified (none is by default), in which case the request will be wrapped in an HttpServletRequestWrapper to maintain the same level of wrapping (needed for easy access to the original request in ServletPortletInvoker.            
+            </p>
+            <p>Edit WEB-INF/assembly/wps.xml, and uncomment the one bean found there</p>
+            <source test="">
+<![CDATA[            
+<beans>   
+    <!-- required for websphere, uncomment if running under websphere
+         see:  http://issues.apache.org/jira/browse/JS2-355 -->
+    <bean id="org.apache.jetspeed.request.PortalRequestFactory" class="org.apache.jetspeed.request.PortalRequestFactoryImpl"/>   
+</beans>
+]]>            			
+            </source>
+            </subsection>
+            <subsection name='4. Turn on the Multithreaded Aggregation Engine'>
+            <p>Swap out the (org.apache.jetspeed.aggregator.PageAggregator) with the multithreaded aggregation engine in WEB-INF/assembly/pipelines.xml:
+            </p>
+            <source test="">
+<![CDATA[            
+  <bean id="aggregatorValve"
+        class="org.apache.jetspeed.aggregator.AggregatorValve"
+        init-method="initialize"
+  >
+   <constructor-arg>
+       <ref bean="org.apache.jetspeed.aggregator.AsyncPageAggregator"/>
+   </constructor-arg>
+  </bean> 
+]]>            			                        
+          </source>
+		</subsection>
+		<subsection name='Optional Replacement for Portlet Request/Response Unwrapper'>
+          <p>You can replace the default portlet request/response unwrapper with a third-party module in WEB-INF/assembly/pluto-factories.xml.</p>
+          <p>Because the servlet request object of a servlet container could not be thread-safe under Jetspeed parallel rendering mode, the third-party unwrapper module can provide a thread-safe implementation by decorating the original request object.</p>
+          <p>Here's an example setting for third-party unwrapper module:</p>
+          <source test="">
+<![CDATA[            	
+  <!--  
+  PortletRequestResponseUnwrapper finds servlet request or servlet response from portlet request or portlet response by unwrapping.
+  Third-party module can provide an implementation to decorate the real request or response object of a servlet container.
+  For example, the real request object of a servlet container can be decorated because it is not thread-safe under Jetspeed parallel rendering mode.
+  -->
+  <bean id="PortletRequestResponseUnwrapper"
+        class="com.bluesunrise.jetspeed.container.invoker.WebspherePortletRequestResponseUnwrapper" />
+]]>            			                        		
+          </source>
+		</subsection>            
+		<subsection name='Optional CommonJ Work Manager'>
+		<p> If you want to use Commonj Work Manager provided by the container, uncomment the followings in WEB-INF/assembly/aggregation.xml:</p>
+          <source test="">
+<![CDATA[            			
+    <bean id="JetspeedWorkManager" class="org.springframework.jndi.JndiObjectFactoryBean">
+        <property name="resourceRef"><value>false</value></property> 
+        <property name="jndiName">
+            <value>java:comp/env/wm/jetspeed</value>
+        </property>
+    </bean>
+    <bean id="org.apache.jetspeed.aggregator.CommonjWorkerMonitor"
+          class="org.apache.jetspeed.aggregator.impl.CommonjWorkerMonitorImpl"
+          init-method="start"  destroy-method="stop" >
+        <constructor-arg index="0">
+            <ref bean="JetspeedWorkManager" />           
+        </constructor-arg>
+    </bean>
+]]>            			
+          </source>
+<p>                        				
+    Also replace all references to org.apache.jetspeed.aggregator.WorkerMonitor with org.apache.jetspeed.aggregator.CommonjWorkerMonitor in WEB-INF/assembly/aggregation.xml.
+</p>
+		</subsection>
+        </section>
+    </body>
+</document>

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-aggregation.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-aggregation.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-ajax-api.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-ajax-api.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-ajax-api.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-ajax-api.xml Tue Dec  2 00:53:22 2008
@@ -0,0 +1,1095 @@
+<?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>AJAX XML API</title>
+    <subtitle>Documentation for Jetspeed-2 AJAX XML API</subtitle>
+    <authors>
+      <person name="David Sean Taylor" email="taylor@apache.org"/>
+    </authors>
+  </properties>
+  <body>
+<section name="AJAX XML API Overview">
+<p>
+The Jetspeed XML AJAX API is an XML-based API provided to AJAX clients for making
+asynchronous requests to Jetspeed-2 services. </p>
+<p>
+Typical use cases:
+</p>
+<ul>
+    <li><b>Page Customization and Portlet Placement</b> - To move, copy, add, or remove portlets on a page</li>
+    <li><b>Layout Selection</b> - change the layout (number of rows and columns, size of columns) on a page</li>
+    <li><b>Theme and Decorator Selection</b> - change the page theme and portlet decorators on a page.</li>
+    <li><b>Portlet Selectors</b> - provide a select-list of portlets to the end user</li>
+    <li><b>Security Configuration</b> - configure the security constraints or policy on a resource (page, portlet, folder, link, fragment), or portal wide</li>
+    <li><b>Menu Configuration</b> - create and edit menus for the Jetspeed Site</li>			
+	<li><b>General Administration</b> - all use cases for general administration have not yet been explored.</li>
+</ul>
+<subsection name='Secured Access'>
+<p>
+All AJAX XML API requests run through
+a standard Jetspeed <a href='guide-pipeline.html'>Pipeline</a> request. This means that you can configure your AJAX
+request with the usual array of Jetspeed components. The default AJAX pipeline secures
+access to all requests. Each AJAX action may have its own security constraints. All
+requests made to a page will use the declarative security constraints configured for that page.
+AJAX request actions are enforced under edit or view mode, depending on the nature of the action.
+</p>
+</subsection>		
+</section>	  
+<section name='API'>
+<p>
+The AJAX XML API is simply a HTTP request-based API, communicating over a simple REST (Representational State Transfer) protocol.	
+The API is accessed over HTTP via the "ajaxapi" servlet path on the portal URL:
+<source><![CDATA[
+http://hostname/contextname/ajaxapi
+]]></source>
+</p>
+<subsection name='Request Parameters and the Page'>	
+<p>Request Parameters specify the requested API action, and additional API parameters.
+The page that a request is referencing is implied in the HTTP URL.
+Thus if we are making a request to modify a page, the page is specified in the HTTP URL:
+<source><![CDATA[
+http://localhost:8080/jetspeed/ajaxapi/Public/db-browser.psml
+]]></source>
+The page location algorithm using standard Jetspeed Profiling rules to locate the page.
+A page is actually not required in the URL, since the <a href='guide-profiler.html'>Jetspeed Profiler</a> will locate the page
+for you. Example:
+<source><![CDATA[
+http://localhost:8080/jetspeed/ajaxapi
+]]></source>
+goes to the default page for the current user.
+</p>	
+<p>Request Parameters are specific to each API. One request parameter, the "action" parameter,
+ is almost always required, (except in the default case). The default action is "action=getpage"
+which returns an XML representation of the profile-located page in <a href='guide-psml.html'>PSML</a>. (PSML is an XML format).
+See the table below for specific examples of request parameters.
+</p>		
+<p>Here are the APIs currently available:
+</p>		
+</subsection>
+<subsection name='Get Page'>
+<table>	
+    <tr>
+        <td>API:</td>
+        <td>getpage</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxGetPage</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Get Page retrieves a page from the Page Manager store in <a href='guide-psml.html'>PSML</a> format.			
+		</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>page</td>
+				<td>implied in the URL</td>				
+			</tr>
+			<tr>
+				<td>action</td>
+				<td>getportlets (optional, this is the default action)</td>				
+			</tr>			
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi/Public/content.psml
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+<status>success</status>
+<action>getpage</action>
+  <page hidden="false">
+  <defaults layout-decorator="tigris" portlet-decorator="tigris"/>
+  <name>public.psml</name>
+  <path>/Public/public.psml</path>
+  <title>Public Share</title>
+  <short-title>Public Share</short-title>
+  <metadata name="title" xml:lang="es">Carpeta compartida</metadata>
+  <fragment id="ps-1000" type="layout" name="jetspeed-layouts::VelocityTwoColumns" decorator="">
+    <fragment id="ps-1001" type="portlet" name="rss::RSS" decorator="">
+      <property name="row" value="0"/>
+      <property name="column" value="0"/>
+    </fragment>
+	<fragment id="ps-1002" type="portlet" name="demo::BookmarkPortlet" decorator="">
+      <property name="row" value="1"/>
+      <property name="column" value="1"/>
+    </fragment>
+	<fragment id="ps-1003" type="portlet" name="jsf-demo::CalendarPortlet" decorator="">
+      <property name="row" value="0"/>
+      <property name="column" value="1"/>
+    </fragment>
+	<fragment id="P-1080bff9b03-10000" type="portlet" name="jsf-demo::CalendarPortlet" decorator="">
+      <property name="row" value="1"/>
+      <property name="column" value="0"/>
+    </fragment>
+  </fragment>
+</page>
+</js>
+]]></source>
+			
+		</td>    
+	</tr>
+</table>
+</subsection>
+<subsection name='Move Absolute'>
+<table>		
+    <tr>
+        <td>API:</td>
+        <td>moveabs</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxMovePortletAbsolute</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Move a portlet on a page to an absolute position specified in the row and col request parameters.</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>page</td>
+				<td>implied in the URL</td>				
+			</tr>
+			<tr>
+				<td>action</td>
+				<td>moveabs</td>				
+			</tr>			
+			<tr>
+				<td>id</td>
+				<td>the portlet PSML fragment id of the portlet to be moved</td>				
+			</tr>			
+			<tr>
+				<td>row</td>
+				<td>the absolute new row location to place the portlet fragment (zero based)</td>				
+			</tr>						
+			<tr>
+				<td>col</td>
+				<td>the absolute new column location to place the portlet fragment (zero based)</td>				
+			</tr>									
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=moveabs&id=ps-1003&row=0&col=1			
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+   <status>success</status>
+    <action>moveabs</action>
+    <id>ps-1003</id>
+	<old_position>
+      <col>1</col>
+      <row>1</row>
+    </old_position>
+	<new_position>
+      <col>1</col>
+      <row>0</row>
+    </new_position>
+</js>						
+]]></source>
+			
+		</td>    
+	</tr>
+</table>
+</subsection>
+<subsection name='Move Relative'>
+<table>		
+    <tr>
+        <td>APIs:</td>
+        <td>moveleft, moveright, moveup, movedown</td>
+    </tr>
+    <tr>
+        <td>Components:</td>
+        <td>AjaxMovePortletLeft, AjaxMovePortletRight, AjaxMovePortletUp, AjaxMoveDown</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Move a portlet on a page relatively one position, based on the action.</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>page</td>
+				<td>implied in the URL</td>				
+			</tr>
+			<tr>
+				<td>action</td>
+				<td>moveleft, moveright, moveup, movedown</td>				
+			</tr>			
+			<tr>
+				<td>id</td>
+				<td>the portlet PSML fragment id of the portlet to be moved</td>				
+			</tr>			
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=movedown&id=ps-1003
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+   <status>success</status>
+    <action>movedown</action>
+    <id>ps-1003</id>
+	<old_position>
+      <col>1</col>
+      <row>0</row>
+    </old_position>
+	<new_position>
+      <col>1</col>
+      <row>1</row>
+    </new_position>
+</js>						
+]]></source>
+			
+		</td>    
+	</tr>
+
+</table>
+</subsection>
+<subsection name='Move'>
+<table>		
+    <tr>
+        <td>API:</td>
+        <td>move</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxMovePortlet</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Move a portlet on a page to a cartesian position (x,y,z,width,height) from request parameters.</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>page</td>
+				<td>implied in the URL</td>				
+			</tr>
+			<tr>
+				<td>action</td>
+				<td>move</td>				
+			</tr>			
+			<tr>
+				<td>id</td>
+				<td>the portlet PSML fragment id of the portlet to be moved</td>				
+			</tr>			
+			<tr>
+				<td>x</td>
+				<td>the portlet cartesian X position</td>				
+			</tr>						
+			<tr>
+				<td>y</td>
+				<td>the portlet cartesian Y position</td>				
+			</tr>
+			<tr>
+				<td>z</td>
+				<td>the portlte cartesian Z position</td>				
+			</tr>
+			<tr>
+				<td>width</td>
+				<td>the width of the portlet</td>				
+			</tr>
+			<tr>
+				<td>height</td>
+				<td>the height cartesian Y position</td>				
+			</tr>            									
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=move&id=ps-1003&x=100&y=250&width=200&height=300			
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+   <status>success</status>
+    <action>move</action>
+    <id>ps-1003</id>
+	<old_position>
+      <x>50</x>
+      <y>155</row>
+    </old_position>
+	<new_position>
+      <x>100</x>
+      <y>250</y>
+    </new_position>
+</js>						
+]]></source>			
+		</td>    
+	</tr>
+</table>
+</subsection>    
+<subsection name='Add Portlet'>
+<table>			
+    <tr>
+        <td>API:</td>
+        <td>add</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxAddPortlet</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Adds a new portlet to the current page. The portlet can be added at a specified row and column.
+		    If either the row or column or not specified, defaults to zero respectively.</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>page</td>
+				<td>implied in the URL</td>				
+			</tr>
+			<tr>
+				<td>action</td>
+				<td>add</td>				
+			</tr>			
+			<tr>
+				<td>id</td>
+				<td>The portlet full name to be placed on the page, using Jetspeed Portlet Naming (PortletApplicationName::PortletName)</td>				
+			</tr>			
+			<tr>
+				<td>row</td>
+				<td>optional: the absolute new row location to place the new portlet fragment (zero based)</td>				
+			</tr>						
+			<tr>
+				<td>col</td>
+				<td>optional: the absolute new column location to place the new portlet fragment (zero based)</td>				
+			</tr>									
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=add&id=jsf-demo::CalendarPortlet
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+  <status>success</status>
+  <action>add</action>
+  <id>jsf-demo::CalendarPortlet</id>
+  <new_position>
+    <col>0</col>
+    <row>0</row>
+  </new_position>
+</js>
+]]></source>
+			
+		</td>    
+	</tr>
+</table>
+</subsection>
+<subsection name='Remove Portlet'>
+<table>		
+
+    <tr>
+        <td>API:</td>
+        <td>remove</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxRemovePortlet</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Removes a new portlet from the current page.</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>page</td>
+				<td>implied in the URL</td>				
+			</tr>
+			<tr>
+				<td>action</td>
+				<td>remove</td>				
+			</tr>			
+			<tr>
+				<td>id</td>
+				<td>the portlet PSML fragment id of the portlet to be removed</td>				
+			</tr>			
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi/Public/public.psml?action=remove&id=ps-1003
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+  <status>success</status>
+  <action>remove</action>
+  <id>jsf-demo::CalendarPortlet</id>
+  <new_position>
+    <col>0</col>
+    <row>0</row>
+  </new_position>
+</js>
+]]></source>
+			
+		</td>    
+	</tr>
+</table>
+</subsection>
+<subsection name='Get Portlets'>
+<table>		
+
+    <tr>
+        <td>API:</td>
+        <td>getportlets</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxGetPortlets</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Get Portlets retrieves the (sorted) portlet list available to the current subject, filtered
+		    the portlet list, and returning portlets which the current subject may view. 
+			The Jetspeed (JAAS) security policy enforces this filtering. Portlets are returned 
+		    in XML format, with name, displayName, and description for each portlet.</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>page</td>
+				<td>implied in the URL</td>				
+			</tr>
+			<tr>
+				<td>action</td>
+				<td>getportlets</td>				
+			</tr>			
+			<tr>
+				<td>filter</td>
+				<td>not yet implemented. A query filter to be defined.</td>				
+			</tr>			
+			
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi?action=getportlets
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+<status>success</status>
+<action>getportlets</action>
+-
+	<portlets>
+<portlet name="demo::AttributeScopePortlet" displayName="Attribute Scope Demo" description="$portlet.Description">
+        </portlet>
+<portlet name="demo::BookmarkPortlet" displayName="Bookmark Portlet" description="Bookmark Portlet">
+        </portlet>
+<portlet name="demo::BookmarkPortletForXHTMLBasic" displayName="Bookmark Portlet for XHTML Basic" description="Bookmark Portlet for XHTML Basic">
+        </portlet>
+<portlet name="demo::CSSDemoPortlet" displayName="CSS Demo Portlet" description="$portlet.Description">
+        </portlet>
+....
+<portlet name="rss::RSS" displayName="RSS Portlet" description="RSS Portlet">
+        </portlet>
+<portlet name="rss::RomeRSS" displayName="Rome RSS Portlet" description="Rome RSS Portlet">
+        </portlet>
+</portlets>
+</js>
+]]></source>
+			
+		</td>    
+	</tr>				
+</table>        
+</subsection>	
+    
+<subsection name='Permissions'>
+<table>		
+
+    <tr>
+        <td>API:</td>
+        <td>permissions</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxSecurityPermissions</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Security Permissions Maintenance to add, update, and remove permissions from the Jetspeed security policy</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>action</td>
+				<td>permissions</td>				
+			</tr>			            
+			<tr>
+				<td>method</td>
+				<td>the method to execute: must be of value: add | update | remove</td>				
+			</tr>
+			<tr>
+				<td>type</td>
+				<td>the type of permission being manipulated: portlet | folder | page</td>				
+			</tr>			
+			<tr>
+				<td>resource</td>
+				<td>the name of the portal resource being manipulated</td>				
+			</tr>			            
+			<tr>
+				<td>roles</td>
+				<td>comma-separated list of roles, only valid for methods: add, update</td>				
+			</tr>			                        
+			<tr>
+				<td>actions</td>
+				<td>comma-separated list of actions, only valid for methods: add, update</td>				
+			</tr>			                        
+			<tr>
+				<td>oldactions</td>
+				<td>comma-separated list of previous actions, only valid for methods: update</td>				
+			</tr>			                                    
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi?action=permissions&method=add&type=portlet&resource=demo::*&roles=role1,role2,role3&actions=view,edit
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+    <status>success</status>
+    <action>permissions</action>
+    <resource>demo::*</resource> 
+    <type>portlet</type> 
+    <actions>view,edit</actions>
+    <actions>role1,role2,role3</actions>    
+</js>
+]]></source>		
+		</td>    
+	</tr>
+</table>
+</subsection>
+
+<subsection name='getmenus'>
+<table>		
+
+    <tr>
+        <td>API:</td>
+        <td>getmenus</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxGetMenus</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Retrieves all menus for the current page (implied in URL)</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>action</td>
+				<td>getmenus</td>				
+			</tr>			            
+			<tr>
+				<td>page</td>
+				<td>(implied in URL)</td>				
+			</tr>
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi/default-page.psml?action=getmenus
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+    <status>success</status>
+    <action>getmenus</action>    
+    <menus>
+        <menu type="standard">navigations</menu>
+        <menu type="standard">back</menu>
+        <menu type="standard">pages</menu>
+        <menu type="standard">breadcrumbs</menu>
+        <menu type="custom">site-navigations</menu>
+        <menu type="custom">additional-links</menu>
+        <menu type="custom">page-navigations</menu>
+    </menus>
+</js>
+]]></source>		
+		</td>    
+	</tr>
+</table>
+</subsection>
+
+<subsection name='getmenu'>
+<table>		
+
+    <tr>
+        <td>API:</td>
+        <td>getmenu</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxGetMenu</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Retrieves the menu definition for a given menu</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>action</td>
+				<td>getmenu</td>				
+			</tr>			            
+			<tr>
+				<td>menu</td>
+				<td>name of the menu to retrieve (menu definition may change per page)</td>				
+			</tr>
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi?action=getmenu&name=breadcrumbs
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+<status>success</status>
+<action>getmenu</action>
+<menu>
+  <name>breadcrumbs</name>
+  <title>You are here:</title>
+  <short-title>You are here:</short-title>
+  <skin>breadcrumbs</skin>
+  <url>/default-page.psml</url>
+  <hidden>false</hidden>
+  <selected>true</selected>
+  <option>
+    <type>folder</type>
+    <title>Root Folder</title>
+    <short-title>Root Folder</short-title>
+    <skin>breadcrumbs</skin>
+    <url>/</url>
+    <hidden>false</hidden>
+    <selected>true</selected>
+  </option>
+  <option>
+    <type>page</type>
+    <title>Welcome to Jetspeed 2</title>
+    <short-title>Welcome to Jetspeed 2</short-title>
+    <skin>blue</skin>
+    <url>/default-page.psml</url>
+    <hidden>false</hidden>
+    <selected>true</selected>
+  </option>
+</menu>
+</js>
+]]></source>		
+		</td>    
+	</tr>
+</table>
+</subsection>
+
+<subsection name='window'>
+<table>		
+
+    <tr>
+        <td>API:</td>
+        <td>getmenus</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxChangeWindow</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Changes a portlet window's Window State or Portlet Mode</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>action</td>
+				<td>window</td>				
+			</tr>			            
+			<tr>
+				<td>id</td>
+				<td>window id of the portlet to be modified</td>				
+			</tr>
+			<tr>
+				<td>state</td>
+				<td>A portlet api valid window state or extended window state (normal | maximized | minimized)</td>				
+			</tr>            
+			<tr>
+				<td>mode</td>
+				<td>A portlet api valid portlet mode or extended portlet mode (view | edit | help | print)</td>				
+			</tr>                        
+			<tr>
+				<td>page</td>
+				<td>Implied in URL</td>				
+			</tr>                                    
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi?action=window&state=maximized&mode=edit&id=um-2
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+  <status>success</status>
+  <action>window</action>
+  <id>um-2</id>  
+  <state>maximized</state>
+  <mode>edit</mode>
+</js>
+]]></source>		
+		</td>    
+	</tr>
+</table>
+</subsection>
+
+<subsection name='getuseinfo'>
+<table>		
+
+    <tr>
+        <td>API:</td>
+        <td>getuseinfo</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxGetUserInformation</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Returns information about the currently logged in user. Can be used for example in AJAX based portlets to retrieve the userinfo in a more robust way. Will return success only if a user is currenly logged in, otherwise will return false.</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>action</td>
+				<td>getuserinfo</td>				
+			</tr>                                   
+		</table>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi?action=getuserinfo
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+    <status>success</status>
+    <action>userinformation</action>
+    <username>admin</username> 
+    <type>org.apache.jetspeed.security.impl.UserPrincipalImpl</type>
+    <userinfo>
+        <user.name.given>Test Dude</user.name.given>
+        <user.name.family>Dudley</user.name.family>
+    </userinfo>
+</js>
+]]></source>		
+		</td>    
+	</tr>
+</table>
+</subsection>
+
+<subsection name='getuserlist'>
+<table>		
+
+    <tr>
+        <td>API:</td>
+        <td>getuseinfo</td>
+    </tr>
+    <tr>
+        <td>Component:</td>
+        <td>AjaxGetUserList</td>
+    </tr>
+    <tr>
+        <td>Description:</td>
+        <td>Provides basic information (username, ip-address, number of sessions and status) about currently logged in users in xml-format. Optionally it can also provide more detailed userinformation, number of guest sessions and include offline users as well.</td>
+    </tr>
+    <tr>
+        <td>Parameters:</td>
+        <table>
+			<tr>
+				<td>action</td>
+				<td>getuserinfo</td>
+			</tr>
+            <tr>
+                <td>userinfo</td>
+                <td>Whether we should include also userinfo (true | false [default])</td>
+            </tr>
+            <tr>
+                <td>offline</td>
+                <td>Whether we should include offline users (true | false [default])</td>
+            </tr>
+            <tr>
+                <td>guest</td>
+                <td>Whether we should return also the guest sessions (true | false [default])</td>
+            </tr>
+            <tr>
+                <td>all</td>
+                <td>If set to true, will return every bits and piece there is (true | false [default])</td>
+            </tr>
+		</table>
+    </tr>
+    <tr>
+        <td>
+            <p>
+                By default the private information (emails, etc..) is protected with
+                RolesSecurityBehavior security, but can be changed in <a href="http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/src/webapp/WEB-INF/assembly/ajax-layout.xml?view=markup">AJAX configuration</a>
+                by altering the protectionScope constructor value to either "all" to protect
+                even the basic information or to "none" when everything will be shown for everyone (not wise on production).
+                The default value "private" will show just the basic information of online/offline users and number of guest sessions,
+                as the "private-offline" will not show even the offline users. Possible protectionScope values are "all",
+                "private-offline", "private" and "none".
+            </p>
+        </td>
+    </tr>
+    <tr>
+        <td>API example:</td>
+		<td>
+<source><![CDATA[			
+http://localhost:8080/jetspeed/ajaxapi?action=getuserlist&userinfo=true&guest=true
+]]></source>			
+		</td>    
+	</tr>
+    <tr>
+        <td>XML Response:</td>
+		<td>
+<source><![CDATA[
+<js>
+    <status>success</status>
+    <action>getuserlist</action>
+    <users>
+        <user>
+            <username>admin</username>
+            <sessions>1</sessions>
+            <status>online</status>
+            <ipaddress>127.0.0.1</ipaddress>
+            <userinfo>
+                <user.name.given>Test Dude</user.name.given>
+                <user.name.family>Dudley</user.name.family>
+            </userinfo>
+        </user>
+        <guests>0</guests>
+    </users>
+</js>
+]]></source>		
+		</td>    
+	</tr>
+</table>
+</subsection>
+        
+</section>
+
+<section name='Spring Assembly'>
+<p>
+The <code>AjaxRequestService</code>	is a Spring component that handles AJAX requests.
+It is hooked into the AJAX <a href='guide-pipeline.html'>Pipeline</a> for special processing
+of AJAX request. Here is the Spring Assembly. Each API is configured in the Ajax Service.
+</p>
+<source><![CDATA[	
+<bean id="AjaxRequestService" class="org.apache.jetspeed.ajax.AjaxRequestServiceImpl">
+    <constructor-arg index="0">
+        <map>
+            <entry key="move">
+                <ref bean="AjaxMove"/>
+            </entry>            
+            <entry key="moveabs">
+                <ref bean="AjaxMovePortletAbsolute"/>
+            </entry>
+            <entry key="moveleft">
+                <ref bean="AjaxMovePortletLeft"/>
+            </entry>
+            <entry key="moveright">
+                <ref bean="AjaxMovePortletRight"/>
+            </entry>
+            <entry key="moveup">
+                <ref bean="AjaxMovePortletUp"/>
+            </entry>
+            <entry key="movedown">
+                <ref bean="AjaxMovePortletDown"/>
+            </entry>
+            <entry key="add">
+                <ref bean="AjaxAddPortlet"/>
+            </entry>
+            <entry key="remove">
+                <ref bean="AjaxRemovePortlet"/>
+            </entry>
+            <entry key="getportlets">
+                <ref bean="AjaxGetPortlets"/>
+            </entry>
+            <entry key="getpage">
+                <ref bean="AjaxGetPage"/>
+            </entry>
+            <entry key="getpages">
+                <ref bean="AjaxGetPages"/>
+            </entry>			
+            <entry key="getfolder">
+                <ref bean="AjaxGetFolder"/>
+            </entry>			            
+            <entry key="getlink">
+                <ref bean="AjaxGetLink"/>
+            </entry>			                        
+            <entry key="getfolderlist">
+                <ref bean="AjaxGetFolderList"/>
+            </entry>			                        
+            <entry key="getfolders">
+                <ref bean="AjaxGetFoldersList"/>
+            </entry>			      						
+            <entry key="getthemes">
+                <ref bean="AjaxGetThemes"/>
+            </entry>
+            <entry key="getactions">
+                <ref bean="AjaxGetActions"/>
+            </entry>
+            <entry key="window">
+                <ref bean="AjaxChangeWindow"/>
+            </entry>
+            <entry key="getmenus">
+                <ref bean="AjaxGetMenus"/>
+            </entry>			            
+            <entry key="getmenu">
+                <ref bean="AjaxGetMenu"/>
+            </entry>			            
+            <entry key="permissions">
+                <ref bean="AjaxSecurityPermissions"/>
+            </entry>			                        
+            <entry key="constraints">
+                <ref bean="AjaxSecurityConstraints"/>
+            </entry>			          
+            <entry key="updatefolder">
+                <ref bean="AjaxUpdateFolder"/>                
+            </entry>                          
+            <entry key="updatepage">
+                <ref bean="AjaxUpdatePage"/>                
+            </entry>              
+            <entry key="updatelink">
+                <ref bean="AjaxUpdateLink"/>                
+            </entry>                                                              
+            <entry key="getuserinfo">
+                <ref bean="AjaxGetUserInformation"/>                
+            </entry>
+            <entry key="getuserlist">
+                <ref bean="AjaxGetUserList"/>                
+            </entry>
+        </map>
+    </constructor-arg>
+    <constructor-arg index="1">
+        <ref bean="AjaxVelocityEngine"/>
+    </constructor-arg>
+</bean>
+]]></source>
+		
+</section>	
+</body>
+</document>
+

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-ajax-api.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-ajax-api.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-app-servers.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-app-servers.xml?rev=722405&view=auto
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-app-servers.xml (added)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-app-servers.xml Tue Dec  2 00:53:22 2008
@@ -0,0 +1,249 @@
+<?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>Application Servers Configuration</title>
+		<subtitle>Application Servers Configuration for 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="Application Server Properties">
+			<p>
+				<i>
+					Note: The maven-plugin currently only supports the
+					Tomcat Server 5.0.x or 5.5.x
+				</i>
+			</p>
+			<table>
+				<tr>
+					<th>Property</th>
+					<th>Description</th>
+					<th nowrap="nowrap">Default value</th>
+				</tr>
+				<tr>
+					<td>
+						<code>org.apache.jetspeed.server.home</code>
+					</td>
+					<td>
+						The root folder of your Tomcat server
+						installation.
+						<br />
+						Example:
+						<code>${CATALINA_HOME}/</code>
+						.
+					</td>
+					<td>
+						<i>no default</i>
+					</td>
+				</tr>
+				<tr>
+					<td>
+						<code>org.apache.jetspeed.server.shared</code>
+					</td>
+					<td>
+						The location of the shared jars in your Tomcat
+						installation.
+						<br />
+						Example:
+						<code>
+							${org.apache.jetspeed.server.home}/shared/lib/
+						</code>
+					</td>
+					<td>
+						<i>no default</i>
+					</td>
+				</tr>
+				<tr>
+					<td>
+						<code>org.apache.jetspeed.deploy.war.dir</code>
+					</td>
+					<td>
+						The location of web applications in your Tomcat
+						installation.
+						<br />
+						Example:
+						<code>
+							${org.apache.jetspeed.server.home}/webapps/
+						</code>
+					</td>
+					<td>
+						<i>no default</i>
+					</td>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.services.autodeployment.user
+						</code>
+					</td>
+					<td>
+						A Tomcat user with the manager role.
+						<br />
+						Used to access the Tomcat Manager application
+						from within the portal, explained below.
+					</td>
+					<td>
+						<i>no default</i>
+					</td>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.services.autodeployment.password
+						</code>
+					</td>
+					<td>
+						The password of the Tomcat user above.
+						<br />
+						Used to access the Tomcat Manager application
+						from within the portal, explained below.
+					</td>
+					<td>
+						<i>no default</i>
+					</td>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.catalina.version.major
+						</code>
+					</td>
+					<td>
+						The major version of the Tomcat server you are
+						using: 5 or 5.5
+						<br />
+						Example:
+						<code>5.5</code>
+					</td>
+					<td>
+						<i>no default</i>
+					</td>
+				</tr>
+			</table>
+		</section>
+		<section name="Optional Database Server Properties">
+			<p>
+				Jetspeed-2 and its maven-plugin uses, as well as
+				provides, by default a Derby database.
+			</p>
+			<p>
+				If you want to use a different database you will need to
+				override the following properties:
+			</p>
+			<table>
+				<tr>
+					<th>Property</th>
+					<th>Description</th>
+					<th nowrap="nowrap">Default value</th>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.production.database.default.name
+						</code>
+					</td>
+					<td>
+						The type of database you are using. Used for sql
+						script generation with Torque.
+						<br />
+						Currently supported databases (with
+						corresponding Torque target database name):
+						<ul>
+							<li>derby (derby)</li>
+							<li>hsql (hypersonic)</li>
+							<li>oracle (oracle)</li>
+							<li>mysql (mysql)</li>
+							<li>postgres (postresql)</li>
+							<li>mssql (mssql)</li>
+							<li>sapdb (sapdb)</li>
+							<li>db2 (db2)</li>
+						</ul>
+					</td>
+					<td>derby</td>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.production.database.url
+						</code>
+					</td>
+					<td>The jdbc connection url</td>
+					<td>jdbc:derby:${org.apache.jetspeed.derbydatabase.path}/productiondb;create=true</td>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.production.database.user
+						</code>
+					</td>
+					<td>The database user name to connect with.</td>
+					<td><i>empty</i></td>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.production.database.password
+						</code>
+					</td>
+					<td>
+						The database user its password to connect with.
+					</td>
+					<td>
+						<i>empty</i>
+					</td>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.production.database.driver
+						</code>
+					</td>
+					<td>The jdbc driver class name</td>
+					<td>org.apache.derby.EmbeddedDriver</td>
+				</tr>
+				<tr>
+					<td>
+						<code>
+							org.apache.jetspeed.production.jdbc.drivers.path
+						</code>
+					</td>
+					<td>
+						A Java classpath style path to the jdbc driver
+						classes or jar(s) needed for connecting to the
+						database.
+						<br />
+						Example:
+						<code>
+							/lib/ojdbc14.jar;/lib/nls_charset12.jar
+						</code>
+					</td>
+					<td>
+						<i>empty</i>
+					</td>
+				</tr>
+			</table>
+		</section>
+
+	</body>
+</document>

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-app-servers.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/src/site/xdoc/guides/guide-app-servers.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


Mime
View raw message