taylor 01/12/09 21:17:06 Modified: xdocs customizer.xml features.xml install.xml psml.xml psml_db.xml todo.xml Log: updated docs for version 1.3a2 Revision Changes Path 1.6 +41 -26 jakarta-jetspeed/xdocs/customizer.xml Index: customizer.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/xdocs/customizer.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- customizer.xml 2001/02/17 17:27:44 1.5 +++ customizer.xml 2001/12/10 05:17:06 1.6 @@ -1,16 +1,16 @@ <?xml version="1.0"?> <document> - <properties> - <title>Customization</title> - <subtitle>Jetspeed User Customization</subtitle> - <authors> - <person name="Kevin A. Burton" email="[EMAIL PROTECTED]"/> - <person name="Chico" email=""/> - </authors> - </properties> - <body> - <section name="Customization"> - <p> + <properties> + <title>Customization</title> + <subtitle>Jetspeed User Customization</subtitle> + <authors> + <person name="Kevin A. Burton" email="[EMAIL PROTECTED]"/> + <person name="Chico" email=""/> + </authors> + </properties> + <body> + <section name="Customization"> + <p> Mass customization of the user interface is one of the benefits of a portal. Customization makes it easier for a user to complete tasks, and also helps further identify and characterize the user. A user can define the look and feel of a page, the type of content displayed and so forth. @@ -18,24 +18,39 @@ provide an easy method to create new pages, selecting portlets and defining layouts for individual pages. </p> - <p> + <p> The Customizer is the second level of customization. The authentication process in Jetspeed determines what information is presented to the user initially. This is information can, for example, be dependent on the role of the user. </p> - <p> -A screenshot of the Customizer interface is shown below. On the left hand side of the screen is a list -of information sources, or portlets. The content of the list can change per Jetspeed installation. Next -are two columns where the user can indicate using check boxes what information should be delivered to -a Web browser or a WAP device. The selection is stored in the user profile once "Finish" is pressed. + <p> +A screenshot of the Customizer interface is shown below. At the top of the screen are choices to customize the HTML or WML presentation. +The Layout drop-down allows you to choose the layout of your page. You can choose from several possibilities, including: +<ul> +<li>Two Columns 50/50 or 25/75 or 75/25</li> +<li>Three Columns 25/50/25 or 33/33/33</li> +<li>Single Row</li> +<li>Single Column</li> +<li>Menu Pane</li> +<li>Tab Pane</li> +</ul> +The numbers (i.e. 33/33/33 are percentages of the page that the column will fill). +The Menu pane organizes your portlets in a menu on the left-hand side of the page, and on the right hand side the selected portlet is shown. +The Tab pane works similarly, but puts the selections in a horizontal 'pane' menu at the topof the page, and the entire portlet is shown in the middle of the screen. +Menu and Tab panes may be nested, as you can see in the default system by logging on as 'admin/jetspeed'. The changes in the configuration are immediately available for the user. </p> - <p> -<img src="./images/customizer.jpeg" align="left"/> -</p> - - </section> - <section name="Requirements"> - </section> - </body> -</document> \ No newline at end of file + <p> + <img src="./images/customizer.gif" align="left"/> + </p> +</section> +<section name="AddingNew Portlets"> + <p> +To add new portlets to the page, select "Add Portlet button, and from there you can choose the portlets you'd like to see presented on your page: + </p> + <p> + <img src="./images/customize-add.gif" align="left"/> + </p> + </section> + </body> +</document> 1.7 +41 -40 jakarta-jetspeed/xdocs/features.xml Index: features.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/xdocs/features.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- features.xml 2001/02/20 12:27:56 1.6 +++ features.xml 2001/12/10 05:17:06 1.7 @@ -1,46 +1,47 @@ <?xml version="1.0"?> <document> - <properties> - <title>Jetspeed Features</title> - <subtitle>Jetspeed Features</subtitle> - <authors> - <person name="Kevin A. Burton" email="[EMAIL PROTECTED]"/> - <person name="David S. Taylor" email="[EMAIL PROTECTED]"/> - <person name="Chico" email=""/> - </authors> - </properties> - <body> - <section name="Features"> - <p>Jetspeed has support for the following features:</p> - <ul> - <li>Soon to standardize on a Java Portlet API specification</li> - <li>Template-based layouts including JSP and Velocity</li> - <li>Supports remote XML content feeds via Open Content Syndication + <properties> + <title>Jetspeed Features</title> + <subtitle>Jetspeed Features</subtitle> + <authors> + <person name="Kevin A. Burton" email="[EMAIL PROTECTED]"/> + <person name="David S. Taylor" email="[EMAIL PROTECTED]"/> + <person name="Chico" email=""/> + </authors> + </properties> + <body> + <section name="Features"> + <p>Jetspeed has support for the following features:</p> + <ul> + <li>Soon to standardize on a Java Portlet API specification</li> + <li>Template-based layouts including JSP and Velocity</li> + <li>Supports remote XML content feeds via Open Content Syndication </li> - <li>Custom default home page configuration</li> - <li>Database user authentication</li> - <li>In-memory cache for quick page rendering</li> - <li> - <a href="http://my.netscape.com/publish/">Rich Site Summary</a> + <li>Custom default home page configuration</li> + <li>Database user authentication</li> + <li>In-memory cache for quick page rendering</li> + <li> + <a href="http://my.netscape.com/publish/">Rich Site Summary</a> support for syndicated content</li> - <li>Integration with Cocoon, WebMacro and Velocity so that you can develop with the newest XML/XSL + <li>Integration with Cocoon, WebMacro and Velocity so that you can develop with the newest XML/XSL technology.</li> - <li>Wireless Markup Language (WML) support</li> - <li>XML based configuration registry of portlets</li> - <li>Full Web Application Archive (WAR) support</li> - <li>Web Application development infrastructure</li> - <li>Local caching of remote content</li> - <li>Synchronization with <a href="http://www.avantgo.com/">Avantgo</a></li> - <li>Fully portable across all platforms that support JDK 1.2 and Servlet 2.2</li> - <li>Integrated with Turbine modules and services</li> - <li>Profiler Service to access portal pages based on user, security (groups, roles, acls), media types, and language</li> - <li>Persistence Service available to all portlets to easily store state per user, page and portlet</li> - </ul> - <p>Features that are (hopefully) implemented soon:</p> - <ul> - <li>Skins so that users can choose colors and display attributes</li> - <li>Customizer for creating new pages, selecting portlets and defining layouts for individual pages</li> - </ul> - </section> - </body> + <li>Wireless Markup Language (WML) support</li> + <li>XML based configuration registry of portlets</li> + <li>Full Web Application Archive (WAR) support</li> + <li>Web Application development infrastructure</li> + <li>Local caching of remote content</li> + <li>Synchronization with <a href="http://www.avantgo.com/">Avantgo</a> + </li> + <li>Fully portable across all platforms that support JDK 1.2 and Servlet 2.2</li> + <li>Integrated with Turbine modules and services</li> + <li>Profiler Service to access portal pages based on user, security (groups, roles, acls), media types, and language</li> + <li>Persistence Service available to all portlets to easily store state per user, page and portlet</li> + <li>Skins so that users can choose colors and display attributes</li> + <li>Customizer for selecting portlets and defining layouts for individual pages</li> + <li>PSML can be stored in a Database.</li> + <li>User, group, role and permission administration via Jetspeed security portlets.</li> + <li>Role-based security access to portlets.</li> + </ul> + </section> + </body> </document> 1.19 +125 -137 jakarta-jetspeed/xdocs/install.xml Index: install.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/xdocs/install.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- install.xml 2001/06/18 17:45:44 1.18 +++ install.xml 2001/12/10 05:17:06 1.19 @@ -1,183 +1,171 @@ <?xml version="1.0"?> - <document> - - <properties> - <title>Jetspeed Installation</title> - <subtitle>Jetspeed Installation</subtitle> - <authors> - <person name="Kevin A. Burton" email="[EMAIL PROTECTED]"/> - <person name="David S. Taylor" email="[EMAIL PROTECTED]"/> - </authors> - </properties> - -<body> - -<section name="Requirements"> - -<ul> - - -<li> + <properties> + <title>Jetspeed Installation</title> + <subtitle>Jetspeed Installation</subtitle> + <authors> + <person name="Kevin A. Burton" email="[EMAIL PROTECTED]"/> + <person name="David S. Taylor" email="[EMAIL PROTECTED]"/> + </authors> + </properties> + <body> + <section name="Requirements"> + <ul> + <li> A Java Servlet Engine/Container. Must be compatible with the Servlet 2.2 API. -Note that Jetspeed is developed under Tomcat (http://jakarta.apache.org) so +Note that Jetspeed is developed under Tomcat and Catalina (http://jakarta.apache.org) so this is the most desirable platform. -</li> - - -<li> +</li> + <li> JDK 1.2 or higher Java Virtual Machine. Jetspeed has been tested on most SUN and IBM Virtual Machines. </li> - -</ul> - - -</section> - -<section name="Installation"> - -<p> + </ul> + </section> + <section name="Installation"> + <p> This installation procedure covers installing Jetspeed as a J2EE Web Application. Installing a Web application is simple. With Web apps, the entire application can be contained in a single archive file and deployed by placing the file into a specific directory. </p> - -<p> + <p> Here are the complete steps for downloading Jetspeed, building it, and then installing the default Web Application. </p> - -<ul> - -<li> + <ul> + <li> 1. Checkout the complete Jetspeed source from our CVS server. Follow the Jakarta CVS instructions available <a href="http://jakarta.apache.org/site/cvsindex.html">here</a> and checkout the jakarta-jetspeed module </li> -<li> + <li> 2. Build Jetspeed <ul> -<li>cd <jetspeedRoot>/build</li> -<li>[Win32/DOS] .\build webapp</li> -<li>[Win32/cygnus] bash build.sh webapp</li> -<li>[unix] ./build.sh webapp</li> -</ul> - -</li> -<li> + <li>cd <jetspeedRoot>/build</li> + <li>[Win32/DOS] .\build war</li> + <li>[Win32/cygnus] bash build.sh war</li> + <li>[unix] ./build.sh war</li> + </ul> + </li> + <li> 3. Get a Servlet 2.2 runner (container). We use Tomcat in this installation. - <ul><li> - <a href="http://jakarta.apache.org/tomcat/">Tomcat Homepage</a> - </li></ul> -</li> -<li> + <ul> + <li> + <a href="http://jakarta.apache.org/tomcat/">Tomcat Homepage</a> + </li> + </ul> + </li> + <li> 4. Unzip the Tomcat distribution -<p></p> -</li> -<li> +<p/> + </li> + <li> 5. Copy the Jetspeed WAR file to the Tomcat webapps directory <ul> -<li>[Win32] copy <jetspeedRoot>\bin\jetspeed.war <tomcat_home>\webapps\</li> -<li>[Unix] cp <jetspeedRoot>/bin/jetspeed.war <tomcat_home>/webapps/</li> -</ul> - -</li> -<li> + <li>[Win32] copy <jetspeedRoot>\bin\jetspeed.war <tomcat_home>\webapps\</li> + <li>[Unix] cp <jetspeedRoot>/bin/jetspeed.war <tomcat_home>/webapps/</li> + </ul> + </li> + <li> 6. Start Tomcat <ul> -<li>[Win32] <tomcat_home>\bin\startup.bat</li> -<li>[Unix] <tomcat_home>/bin/startup.sh</li> -</ul> - -</li> -<li> + <li>[Win32] <tomcat_home>\bin\startup.bat</li> + <li>[Unix] <tomcat_home>/bin/startup.sh</li> + </ul> + </li> + <li> 7. Connect to Jetspeed <ul> - <li><a href="http://localhost:8080/jetspeed/">http://localhost:8080/jetspeed/</a> -</li> -<li>There are 2 default accounts created:</li> -<li> - <ul> - <li>Login: turbine Password: turbine</li> - <li>Login: admin Password: jetspeed</li> - </ul> -</li> -</ul> - -</li> -<li> + <li> + <a href="http://localhost:8080/jetspeed/">http://localhost:8080/jetspeed/</a> + </li> + <li>There are 2 default accounts created:</li> + <li> + <ul> + <li>Login: turbine Password: turbine</li> + <li>Login: admin Password: jetspeed</li> + </ul> + </li> + </ul> + </li> + <li> 7a. When signing up a new user in Jetspeed, the registration process includes a step where an email is sent to the new user. In order for this process to work on Windows NT or 2000, you will need to have a local SMTP server running. The Apaches James Mail Enterprise Server is available from: <ul> - <li> - <a href="http://jakarta.apache.org/james/">http://jakarta.apache.org/james/</a></li> - <li>The mail host settings will need to be modified:</li> - <p> - <tomcat_home>/webapps/jetspeed/WEB-INF/conf/TurbineResources.properties</p> - </ul> -</li> - - -</ul> - -</section> - -<section name="Database Configuration"> -<p> + <li> + <a href="http://jakarta.apache.org/james/">http://jakarta.apache.org/james/</a> + </li> + <li>The mail host settings will need to be modified:</li> + <p> + <tomcat_home>/webapps/jetspeed/WEB-INF/conf/TurbineResources.properties</p> + </ul> + </li> + </ul> + </section> + <section name="Database Configuration"> + <p> Jetspeed uses Turbine's security model to authorize users and persist minimal user information. Turbine security should work with any JDBC 2.0 compliant driver. The following databases are tested: </p> - <ul> - <li>DB2</li> - <li>Hypersonic SQL</li> - <li>MySQL</li> - <li>Oracle</li> - <li>Postgres</li> - <li>Sybase</li> - </ul> -<p> + <ul> + <li>DB2</li> + <li>Hypersonic SQL</li> + <li>MySQL</li> + <li>Oracle</li> + <li>Postgres</li> + <li>Sybase</li> + </ul> + <p> Jetspeed is distributed with a populated Hypersonic-SQL database. This database is selected as the default database in the TurbineResources.properties file. To configure Jetspeed with a different database, modify the TurbineResources.properties file. Here is an example for Oracle: </p> -<ul> -<li>database.default.driver=oracle.jdbc.driver.OracleDriver</li> -<li>database.default.url=jdbc:oracle:thin:@<host>:1521:<sid></li> -<li>database.default.username= <your-oracle-user></li> -<li>database.default.password= <your-password></li> -</ul> -<p> + <ul> + <li>database.default.driver=oracle.jdbc.driver.OracleDriver</li> + <li>database.default.url=jdbc:oracle:thin:@<host>:1521:<sid></li> + <li>database.default.username= <your-oracle-user></li> + <li>database.default.password= <your-password></li> + <li>database.adaptor=DBOracle</li> + <li>database.adaptor.DBOracle=oracle.jdbc.driver.OracleDriver</li> + </ul> + <p> You will need to replace: </p> -<table> -<tr> -<td><host></td><td>the host of the Oracle instance, such as localhost</td> -</tr> -<tr> -<td><sid></td><td>the name of Oracle database sid at the host</td> -</tr> -<tr> -<td><username></td><td>the oracle user(schema) name</td> -</tr> -</table> -<p> -The TurbineResources.properties file can be found in /webapp/WEB-INF/conf. + <table> + <tr> + <td><host></td> + <td>the host of the Oracle instance, such as localhost</td> + </tr> + <tr> + <td><sid></td> + <td>the name of Oracle database sid at the host</td> + </tr> + <tr> + <td><username></td> + <td>the oracle user(schema) name</td> + </tr> + </table> + <p> +The TurbineResources.properties file can be found in <b>/webapp/WEB-INF/conf</b>. </p> -<p> - The database scripts for setting up the database are included with the source code distribution, under the src/sql/external folder. Run the appropriate script, such as turbine-db2.sql for DB2, to create the database tables. This step is not necessary with Hypersonic SQL. + <p> + The database scripts for setting up the database are included with the source code distribution, under the <b>src/sql/external</b> folder. Run the appropriate script, such as turbine-db2.sql for DB2, to create the database tables. This step is not necessary with Hypersonic SQL. </p> -<p> -To populate the database, a script is provided: /src/sql/external/default_roles_persmissions.sql. Only run the statements for your specific database as commented. + <p> +To populate the database, scripts are provided: <b>/src/sql/external/populate*.sql</b>. Only run the statements for your specific database as commented. </p> -<p> + <p> The script will create two database users: </p> - <ul> - <li>Login: turbine Password: turbine</li> - <li>Login: admin Password: jetspeed</li> - </ul> -</section> - -</body> + <ul> + <li>Login: turbine Password: turbine</li> + <li>Login: admin Password: jetspeed</li> + </ul> + </section> + <section name="PSML Database" > + <p> + If you would also like to store your PSML resources in the database, see the instructions <a href="psml_db.html">here</a>. + </p> + </section> + </body> </document> 1.9 +69 -78 jakarta-jetspeed/xdocs/psml.xml Index: psml.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/xdocs/psml.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- psml.xml 2001/04/01 02:34:24 1.8 +++ psml.xml 2001/12/10 05:17:06 1.9 @@ -1,79 +1,68 @@ <?xml version="1.0"?> - <document> - - <properties> - <title>Portal Structure Markup</title> - <subtitle>An introduction to PSML</subtitle> - <authors> - - <person name="Kevin A. Burton" email="[EMAIL PROTECTED]"/> - <person name="Raphaël Luta" email="[EMAIL PROTECTED]"/> - - </authors> - </properties> - -<body> - - -<!--- + <properties> + <title>Portal Structure Markup</title> + <subtitle>An introduction to PSML</subtitle> + <authors> + <person name="Kevin A. Burton" email="[EMAIL PROTECTED]"/> + <person name="Raphaêª Luta" email="[EMAIL PROTECTED]"/> + </authors> + </properties> + <body> + <!--- - Provide examples of user and registry PSML --> - -<section name="What is PSML?"> - - <p> + <section name="What is PSML?"> + <p> PSML is an acronym for Portal Structure Markup Language. It was created to allow content structure and abstraction within Jetspeed. </p> - - <p>PSML is actually composed of two different (but related) markups: + <p>PSML is actually composed of two different (but related) markups: <ul> - <li>the <b>registry markup</b> which describes all the available + <li>the <b>registry markup</b> which describes all the available resources to the Jetspeed engine. The Registry now supports more than a Portlet Registry. It also has a CapabilityMap Registry, a MediaType Registry, PortletControl Registry, and a PortletController Registry. </li> - <li>the <b>site markup</b> which describes which portlets, available + <li>the <b>site markup</b> which describes which portlets, available in the registry, are actually displayed for a given user, as well as how they are organized on screen and what presentation properties they should use. </li> - </ul> - </p> -</section> - -<section name="Portlet Registry"> - <subsection name="What is the PortletRegistry?"> - <p> + </ul> + </p> + </section> + <section name="Portlet Registry"> + <subsection name="What is the PortletRegistry?"> + <p> The PortletRegistry is a central store where Jetspeed can obtain further information about a given Portlet. </p> - <p> + <p> The Registry is organized like a flat list of portlets (identified in the markup but the <b>entry</b> element. All Portlets within the Registry must have a unique name. </p> - </subsection> - <subsection name="Registry Entries"> - <p> + </subsection> + <subsection name="Registry Entries"> + <p> The portlets are described in the registry by an Entry description. These entries may be of three distinct types: <dl> - <dt>instance</dt> - <dd> + <dt>instance</dt> + <dd> This is the basic entry type. An instance entry should provide all the necessary informations to instanciate the portlet (at least the classname). This type of entry is instanciated as is by the Jetspeed engine. </dd> - <dt>abstract</dt> - <dd> + <dt>abstract</dt> + <dd> An abstract entry is a entry which can't be instanciated directly because it misses some required information. It acts as a portlet template, useful for defining common properties for a group of related portlets. This type of entry is never instanciated by Jetspeed. </dd> - <dt>ref</dt> - <dd> + <dt>ref</dt> + <dd> The ref entry is an entry that define a new entry based on some other entry definition, thus the ref entry definition must reference another registry entry which may be of any type, even other ref entries. The engine @@ -82,12 +71,12 @@ definitions by those found in the ref(s) definition and try to instanciate this portlet. </dd> - </dl> - </p> - </subsection> - <subsection name="Examples"> - <!-- should put an example section with detailed markup explanation --> -<source test=""><![CDATA[ + </dl> + </p> + </subsection> + <subsection name="Examples"> + <!-- should put an example section with detailed markup explanation --> + <source test=""><![CDATA[ <portlet-registry> <portlets> @@ -105,24 +94,23 @@ </portlets> </portlet-registry> ]]></source> - </subsection> -</section> - -<section name="Site Markup"> - <subsection name="Files organisation"> - <p>Whereas the registry describes all the Portlets in a single file, the + </subsection> + </section> + <section name="Site Markup"> + <subsection name="Files organisation"> + <p>Whereas the registry describes all the Portlets in a single file, the markup uses one different file per registered user, thus providing customizability of the interface. With the new profiling service, users can have multiple markup files. </p> - <p>A default site description is used for anonymous access</p> - </subsection> - <subsection name="Site elements"> - <p> + <p>A default site description is used for anonymous access</p> + </subsection> + <subsection name="Site elements"> + <p> The site markup uses 4 main type of elements which correpsond directly to layout classes. <dl> - <dt>Entry</dt> - <dd> + <dt>Entry</dt> + <dd> Entries describe Portlet elements, just as in the registry markup. However, in the site markup, all entries are of type ref and can't define some basic properties (such as classname or url) for security @@ -130,39 +118,38 @@ additional properties not available in the registry such as skin and layout properties. </dd> - <dt>Portlets</dt> - <dd> + <dt>Portlets</dt> + <dd> Portlets describe a group of Portlet elements (PortletSet). Such groups are useful for setting common layout and presentation properties for the contained portlets. Each portlets may contain either entry elements or nested portlets. </dd> - <dt>Controller</dt> - <dd> + <dt>Controller</dt> + <dd> The contoller element describes the PortletController associated with a given PortletSet. The PortletController implements a layout strategy for the portlets contained in the PortletSet. </dd> - <dt>Control</dt> - <dd> + <dt>Control</dt> + <dd> The control element which can be found in portlets or entry elements describes the PortletControl associated with object. The PortletControl may provide additionnal functionalities to a portlet and may also add some graphical decorations around the portlet content. </dd> - </dl> - </p> - <p> + </dl> + </p> + <p> In PSML, all properties defined for an element are local to this element, except for the skin properties which are inherited in the component hierarchy. </p> - </subsection> - <subsection name="Examples"> - <!-- should put an example section with detailed markup explanation --> + </subsection> + <subsection name="Examples"> + <!-- should put an example section with detailed markup explanation --> + <source test=""><![CDATA[ -<source test=""><![CDATA[ - <portlets user="default" xmlns="http://xml.apache.org/jetspeed/2000/psml"> <controller name="org.apache.jetspeed.portal.controllers.RowColumnPortletController"> @@ -195,8 +182,12 @@ </portlets> ]]></source> - </subsection> -</section> - -</body> + </subsection> + </section> + <section name="PSML Database" > + <p> + If you would also like to store your PSML resources in the database, see the instructions <a href="psml_db.html">here</a>. + </p> + </section> + </body> </document> 1.2 +197 -80 jakarta-jetspeed/xdocs/psml_db.xml Index: psml_db.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/xdocs/psml_db.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- psml_db.xml 2001/09/06 14:14:10 1.1 +++ psml_db.xml 2001/12/10 05:17:06 1.2 @@ -1,84 +1,201 @@ <?xml version="1.0"?> <document> - <properties> - <title>PSML Database Configuration Guide</title> - <subtitle>PSML Database configuration guidelines</subtitle> - <authors> - <person name="Paul Spencer" email="[EMAIL PROTECTED]"/> - </authors> - </properties> - - <body> - <section name="PSML Database"> - <p><center><strong>This section is incomplete</strong></center></p> - <p> - User portal configurtion is stored in PSML files or a PSML database. - </p> - <subsection name="Why and when should a PSML Database be used"> - <ul> - <li>Large number of users (n+ user)</li> - </ul> - </subsection> - <subsection name="Down side of using PSML Database"> - <ul> - <li>Jetspeed not depend on the database to be running.</li> - <li>Jetspeed performance is can be degraded by a slow database or - database driver.</li> - <li>Added complexity</li> - </ul> - </subsection> - </section> - - <section name="Creating PSML Database"> - <p><center><strong>This section is incomplete</strong></center></p> - <p> - This is where the follow should be described. - </p> - <ul> - <li>Creation of the database schema</li> - <li>What priviledges are required, i.e. DBA?</li> - </ul> - </section> - - - <section name="Configuraing Jetspeed to use a PSML Database"> - <p><center><strong>This section is incomplete</strong></center></p> - <p> - This is where configuration of Jetspeed to support a PSML database should be described. - </p> - </section> - - <section name="Converting from PSML files to a PSML Database"> - <p><center><strong>This section is incomplete</strong></center></p> - <p> - This is where the process of converting from PSML file to a PSML database should be described. - </p> - </section> - - <section name="Converting from a PSML Database to PSML files"> - <p><center><strong>This section is incomplete</strong></center></p> - <p> - This is where the process of converting from PSML file to a PSML database should be described. - </p> - </section> - - <section name="PSML Database Maintance"> - <p><center><strong>This section is incomplete</strong></center></p> - <p> + <properties> + <title>PSML Database Configuration Guide</title> + <subtitle>PSML Database configuration guidelines</subtitle> + <authors> + <person name="Paul Spencer" email="[EMAIL PROTECTED]"/> + <person name="David Sean Taylor" email="[EMAIL PROTECTED]"/> + </authors> + </properties> + <body> + <section name="PSML Database"> + <p> + PSML, an XML-based portal markup language, defines the presentation, layout and content of portal views. + PSML was originally stored on the file system. To define or configure PSML, the portal administrator was required to edit the files on the file system with a text or XML editor. As of version 1.3a2, the Jetspeed Customizer feature allows editing and creation of PSML resources without knowledge of the PSML structure. Version 1.3a2 also introduces the PSML Database feature, allowing for the storage of PSML resources in + JDBC-compliant databases. + </p> + <p> + When you configure your system to use a PSML Database, all of the PSML resources are stored in the database, and indexed on the standard runtime parameters: + <ul> + <li>User</li> + <li>Role</li> + <li>Group</li> + <li>Media Type</li> + <li>Language</li> + <li>Country</li> + <li>Page Name</li> + </ul> + </p> + <p> + The default Jetspeed installation is configured to use the PSML File System service. + The PSML files can be found under the <b>WEB-INF/psml</b> directory tree. + To convert to a PSML Database, you will need to first create the database schema in your target database (see: + <a href="#Creating PSML Database">Creating PSML Database</a>), and then import PSML files from the file + system to the database (see: + <a href="#Configuring Jetspeed to use a PSML Database">Configuring Jetspeed to use a PSML Database</a>). + </p> + <subsection name="Why and when should a PSML Database be used"> + <ul> + <li>Large number of users (n+ user)</li> + <li>To increase performance and distribute processing.</li> + <li>To integrate Jetspeed Security with an existing database system.</li> + <li>To consolidate all portal information in a common, secure datastore.</li> + </ul> + </subsection> + <subsection name="Down side of using PSML Database"> + <ul> + <li>Jetspeed is dependent on the database to be up and running.</li> + <li>Jetspeed performance can be degraded by a slow database.</li> + <li>Added complexity</li> + <li>You must use the customizer to edit your PSML, and you will be dependent on the customizer supporting all PSML features. It is possible to export the PSML to the file system, and then import it back in. Alternatively, you can manipulate the PSML with SQL commands.</li> + </ul> + </subsection> + </section> + <section name="Creating PSML Database"> + <p> + The first step is to generate the SQL statements that are specific for your target database vendor. + The SQL statements will generate four tables and their corresponding indices. + </p> + <subsection name="Using the Default Hypersonic Database"> + <p> + Jetspeed is distributed with a default Hypersonic database. + The Hypersonic database is found in the <b>WEB-INF/db</b> directory of the web application, and comes with the four PSML tables pre-installed. + To continue with the default Hypersonic configuration, skip to the next section: + <a href="#Configuring Jetspeed to use a PSML Database">Configuring Jetspeed to use a PSML Database</a>. + </p> + </subsection> + <p> + The Jetspeed distribution includes a object-relational database mapping tool: <b>Torque</b> + <a href="http://jakarta.apache.org/turbine/torque/index.html">http://jakarta.apache.org/turbine/torque/index.html</a> + It can be found under the <b>build/torque</b> directory. + Torque generates the SQL statements that you will use to create the PSML tables in your database. + You will need to manually run these SQL statements from a tool provided by your database vendor. + For example with Oracle, use SQL*Plus to run the scripts. + </p> + <p> + Generating the SQL file is very easy. First, edit the file <b>build/torque/build.properties</b>. + Choose your target database. Here are your current choices for version 1.3a2: + </p> + <source> +# ------------------------------------------------------------------- +# +# T A R G E T D A T A B A S E +# +# ------------------------------------------------------------------- +# This is the target database, only considered when generating +# the SQL for your Turbine project. Your possible choices are +# +# db2 +# hypersonic +# mysql +# oracle +# postgresql +# mssql +# +# Default: none +# ------------------------------------------------------------------- +database=hypersonic + </source> + <p> + Save the <b>build.properties</b> file. From the command line in the <b>build/torque</b> directory, run the Torque build script by typing <b>"ant"</b>. Torque will then generate your database-specific SQL commands. The PSML database definitions are stored in a vendor-neutral XML-format in the file + <b>build/torque/schema/dbpsml-schema.xml</b>. Torque takes these definitions, and generates a file containing the vendor-specific SQL commands that + will create the PSML tables in your database. + </p> + <subsection name="The SQL Script"> + <p> + The SQL Script is written to the file <b>src/sql/dbpsml-schema.sql</b>. It contains the vendor-specific SQL commands. These commands + create the PSML tables in your database. You will need to run the commands using a tool provided by your database vendor, such as SQL*PLUS + with Oracle. Taking Oracle as an example, go to a command line, make sure that SQLPLUS is in your classpath, and type (from the + jetspeed-root directory): +</p> + <source> +cd src/sql +sqlplus jetspeed/jetspeed @dbpsml-schema.sql + </source> + <p> +Of course you will need to create a user in Oracle named 'jetspeed' with the 'jetspeed' password. We are also assuming that you have already populated the Oracle database with the base Jetspeed tables. For instructions on doing so see <a href="jetspeed-db.html">Jetspeed Database Configuration</a> + </p> + </subsection> + </section> + <section name="Configuring Jetspeed to use a PSML Database"> + <p> + Jetspeed needs to be configured to access a PSML database. You do this by editing the file <b>webapp/WEB-INF/conf/TurbineResources.properties</b>. + Edit the "databaseURL", "databaseDriver", "databaseUser", "databasePassword", "databaseHost" and "database.adaptor" settings. The default settings are: + </p> + <source> +database.default.driver=org.hsql.jdbcDriver +database.default.url=jdbc:HypersonicSQL:${webappRoot}/WEB-INF/db/jetspeed +database.default.username=sa +database.default.password= + +database.adaptor=DBHypersonicSQL +database.adaptor.DBHypersonicSQL=org.hsql.jdbcDriver + </source> + <p> + Modify these for your specific database driver. For example, Oracle my look something like this: + </p> + <source> +databaseDriver = oracle.jdbc.driver.OracleDriver +databaseUrl = jdbc:oracle:thin@databaseUrl = jdbc:oracle:thin@host:1521:sid +database.default.username=jetspeed +database.default.password=jetspeed + +database.adaptor=DBOracle +database.adaptor.DBOracle = oracle.jdbc.driver.OracleDriver + </source> + <p>Don't forget to put the JDBC driver's JAR file in your classpath or in the <b>webapp/WEB-INF/lib</b> directory.</p> + </section> + <section name="Converting from PSML files to a PSML Database"> + <p> + To switch to the Database PSML Manager, the following settings + will need to be modified in the JetspeedResources.properties. Here are the default settings: + </p> + <source> +services.PsmlManager.classname=org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService +#services.PsmlImportManager.classname=org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService +#services.PsmlManager.classname=org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService + </source> + <p> + To use the Database PSML service, comment out the 1st line (CastorPsmlManagerService) and then + uncomment the 2nd and 3rd line. The 3rd line sets the DatabasePsmlManagerService as the default service. + The 2nd line enables the PsmlImporter, which is run the very first time that you start the DatabasePsmlManagerService. + It imports all the PSML files located in the WEB-INF/psml directory tree into the database. + The importer is only ran once, the first time that the Database PSML Manager detects that the database is empty. + This is what your entries should look to use the Database PSML service: + </p> + <source> +#services.PsmlManager.classname=org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService +services.PsmlImportManager.classname=org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService +services.PsmlManager.classname=org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService + </source> + </section> + <section name="Converting from a PSML Database to PSML files"> + <p> + This feature is implemented, but has not yet been enabled. + In order to run it, you will need to modify the CastorPsmlManagerService to import on startup. + Reference the Database PSML Manager for an example of how to do this. + </p> + </section> + <section name="PSML Database Maintance"> + <p> Backup and datase optimization is not done by Jetspeed. These - type of activitities are MUST be performed. + type of activitities must be performed outside of Jetspeed. </p> - </section> - - <section name="Tested Configurations"> - <p><center><strong>This section is incomplete</strong></center></p> - <table> - <tr> - <th>DBMS</th> - <th>Version</th> - <th>Comments</th> - </tr> - </table> - </section> - </body> -</document> \ No newline at end of file + </section> + <section name="Tested Configurations"> + <table> + <tr> + <th>Hypersonic</th> + <th>Version 1.4</th> + <th>Works with the default Jetspeed system as of version 1.3a2</th> + </tr> + <tr> + <th>Oracle</th> + <th>Version 8i</th> + <th>Works with the default Jetspeed system as of version 1.3a2</th> + </tr> + </table> + </section> + </body> +</document> 1.10 +50 -102 jakarta-jetspeed/xdocs/todo.xml Index: todo.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/xdocs/todo.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- todo.xml 2001/09/20 03:21:25 1.9 +++ todo.xml 2001/12/10 05:17:06 1.10 @@ -1,157 +1,105 @@ <?xml version="1.0" encoding="iso-8859-1"?> - - <!-- -$Id: todo.xml,v 1.9 2001/09/20 03:21:25 paulsp Exp $ +$Id: todo.xml,v 1.10 2001/12/10 05:17:06 taylor Exp $ --> - - <document> - - - <properties> - <title>Jetspeed Todo</title> - <subtitle>Jetspeed Todo</subtitle> - <authors> - <person name="Raphaël Luta" email="[EMAIL PROTECTED]"/> - </authors> - </properties> - - -<body> - - -<section name="Todo"> - - -<p> + <properties> + <title>Jetspeed Todo</title> + <subtitle>Jetspeed Todo</subtitle> + <authors> + <person name="Raphaël Luta" email="[EMAIL PROTECTED]"/> + </authors> + </properties> + <body> + <section name="Todo"> + <p> This document describes functionality that is either missing or not finished within Jetspeed as well as the owners of implementing or coordinating the implementation of these features. </p> - -<p> + <p> If you are a new developer to Jetspeed or even an existing developer, these are areas where you can take ownership and help complete. </p> - -<p> + <p> It is always possible to take ownership of any portion of the project. The way to do this is to communicate with the owner of the portion and then come to some sort of agreement about what portions you will be splitting up or taking over. If you cannot get a response from the people in charge of the projects, assume they are dead and fill yourself in. </p> - -<p> + <p> If you need more detailed help, please send mail to the mailing list ([EMAIL PROTECTED]) and ask your specific questions there. </p> - -</section> - -<section name="Items for 1.3a2 release"> -<!--<p> - The current target date for this release is 4th June 2001. New feature work - for this release should be committed before 25th May 2001. + </section> + <section name="Items for 1.3a3 release"> + <!--<p> + The current target date for this release is first quarter 2002. New feature work + for this release should be committed before March 1, 2002. </p> --> -<ul> - <li> - Update Jetspeed Turbine dependency to Turbine 2.1 - <p>Owner: Jason Van Zyl, David S. Taylor</p> - </li> - <li> + <ul> + <li> Make Jetspeed work seamlessly with the TDK <p>Owner: Jason Van Zyl, David S. Taylor</p> - </li> - <li> - Integrate Velocity Portlet and PortletControl - <p>Owner: Raphaël Luta</p> - </li> - <li> + </li> + <li> Document new Registry implementation and configuration files <p>Owner: Raphaël Luta</p> - </li> - <li> + </li> + <li> Remove legacy ECS screens, clean up the properties file and remove unused classes <p>Owner: Raphaël Luta</p> - </li> - <li> - Implement and integrate the portlet security system - <p>Owner: Santiago Gala, David S. Taylor</p> - </li> - <li> + </li> + <li> Rewrite diskcache as a Turbine service </li> - <li> + <li> Rewrite CapabilityMap as a Turbine service, make user-agent defintions loadable from URL. </li> - <li> + <li> Update URLManager service and syndication system to use different update schedules and use an event based refresh notification </li> - <li> + <li> Write an upgrade stylesheet for converting existing jcfg config files to xreg </li> - <li> + <li> Write RSS to VoiceXML stylesheets and complete the VoiceXML version of the default portal </li> - <li> - Update the build system to make easier compilation of modules - <p>Owner: Johnny Cass [EMAIL PROTECTED]</p> - </li> - <li> - Implement Cactus unit testing in Jetspeed - <strong><em>Done</em></strong> - <p>Owner: Johnny Cass</p> - </li> - <li> - Update the list of site using Jetspeed - </li> - <li> - Update documentation - <p>Owner: Paul Spencer</p> - </li> -</ul> -</section> - -<section name="Items for 1.3a3 release"> -<p> + </ul> + </section> + <section name="Items for 1.3a3 release"> + <p> No target date is set for this release </p> -<ul> - <li> - Integrate the new Portlet API is the main CVS branch - <p>Owner: Ingo Schuster, Stephan Hesmer</p> - </li> - <li> + <ul> + <li> Complete and integrate updated PSML implementation <p>Owner: Raphaël Luta</p> - </li> - <li> + </li> + <li> Substitute the layout engine with a new stream-based one <p>Owner: Raphaël Luta</p> - </li> - <li> + </li> + <li> Rework the memory caching sub-system </li> -</ul> -</section> - -<section name="Blue Sky"> -<ul> - <li> + </ul> + </section> + <section name="Blue Sky"> + <ul> + <li> Define a portal implementation on top of Cocoon 2 for the new Portlet API <p>Owner: Raphaël Luta</p> - </li> -</ul> -</section> - - -</body> + </li> + </ul> + </section> + </body> </document>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>