Hi all,

I wrote an install guide as well. However, mine is for installing Jetspeed 
with VisualAge (in the Websphere Test Environment) and DB2. I verified it 
with a CVS codedrop of beginning of September.
I also fixed a bug in the DB2 SQL script, namely, changed the type of the 
VisitorID filed to auto-increment. Furthermore, I added a line to the 
default_roles_permissions.sql to have an additional role 
"authenticated_user" added (This role seems to be needed for "normal" users).
Unfortunately, the list server doesn't allow to enclose files - even if 
they are plain text only. I'll therefore paste all files at the bottom of 
this mail. If there are any questions - ask them! Hope I didn't do a 
mistake at the pasting down there...

                 ingo.





Install Guide: Jetspeed_VisualAge_Setup.html

------------------snip-----snap-------------------------
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta name="Author" content="ingo">
    <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) 
[Netscape]">
    <title>Installing Jetspeed with VisualAge and DB2</title>
</head>
<body>

<h3>
<u>Installing Jetspeed with Visual Age (3.5) and DB2 (7.1)</u></h3>
Ingo Schuster ([EMAIL PROTECTED])
<br>&nbsp;
<p>This guide applies to the CVS versoins of Jetspeed and Turbine as of
2000-09-04.
<p>In the following, <tt>[WTE]</tt> stands for the "IBM Websphere Test
Environment" directory in your VisualAge directory tree,
<br>e.g: <tt>d:\visual age\ide\project_resources\websphere test environment\,
[jetspeed]</tt> stands for the "jetspeed" directory, <tt>[turbine]</tt>
for the "turbine" directory that has been checked out from the CVS.
<br>Together with this guide come a zip file which contains all the config
files that need to be adapted. The settings in these example files assume
that VisualAge has been installed to <tt>d:\apps\VisualAge for Java</tt>
<br>&nbsp;
<h4>
Installation steps:</h4>
0.a) Install DB2, Visual Age ;-)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Make sure your DB2 is configured
to use jdbc 2.0 - this is done by executing the <tt>usejdbc2.bat</tt>)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<i><u>Dont't</u></i> install
the VAJ Tomcat Extension -
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Websphere Test Environment
won't run together with it and it's hard to uninstall it later.)
<br>0.b) Install the VisualAge Websphere Test Environment:
<blockquote>press <tt>F2</tt>
<br>select<tt> Features|Add Feature</tt>, press <tt>OK</tt>
<br>select<tt> IBM Webshere Test Environment</tt>, press 
<tt>OK</tt></blockquote>
0.c) Make sure, that outgoing internet connections don't need to use a
proxy (e.g. with a SOCKS Client)
<br>0.d) Create an extra "portal" user account for your system (restricted
user) for installing and running jetspeed. The reason for this is that
for the database authentication, the users password needs be written into
a property file as plain text. Jetspeed can be installed and ran under
a different user id and still access the database tables as the (restricted)
"portal" user, however in this case aliases to all tables need to be added
to the database.
<p>1. Create following Directories:
<blockquote><tt>[WTE]\hosts\Jetspeed_host</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\logs</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\lib</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\cache</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\tmp</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\xsp.repository</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root\config</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root\content</tt>
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root\WEB_INF\templates</tt></blockquote>

<p><br>2. Create following projects within the VisualAge workspace:
<blockquote><tt>Portal_Turbine</tt>
<br><tt>Portal_Jetspeed</tt>
<br><tt>Portal_Jars</tt></blockquote>

<p><br>3. Import the source files (<tt>.java</tt> and resources):
<blockquote><tt>[turbine\src\java]</tt> into <tt>Portal_Turbine</tt>
<br><tt>[jetspeed\src\java]</tt> into <tt>Portal_Jetspeed</tt></blockquote>

<p><br>4. Import following jar files into <tt>Portal_Jars </tt>(in the
given order!!). Some jars will contain classes that are already present
in the Workspace, always overwrite the "old" classes with the new ones.
It is ok, that these callses are imported into existing packages.
<blockquote>1. From <tt>[jetspeed\lib]</tt> directory:
<br><tt>&nbsp;&nbsp; cocoon.jar, cocoon-ext-servlet2.2jar, hsql.jar, 
jyve-2.0.jar,
mail.jar</tt>
<br>2.&nbsp; From <tt>[turbine\lib] </tt>directory:
<br><tt>&nbsp;&nbsp; activation-1.0.1.jar, ecs-1.3.3.jar, 
freemarker-jdk1.2.jar,
village-1.3.jar,</tt>
<br><tt>&nbsp;&nbsp; webmacro-jdk1.2-27-08-2000.jar, xmlrpc.jar</tt>
<br>3. From <tt>[jetspeed\lib]</tt>directory:
<br><tt>&nbsp;&nbsp; </tt>3a) <tt>jaxp.jar,</tt>
<br><tt>&nbsp;&nbsp; </tt>3b) <tt>castor.jar,</tt>
<br>4.&nbsp; From <tt>[turbine\lib]</tt> directory:
<br><tt>&nbsp;&nbsp; 4</tt>a) <tt>xalan_1_1_D01.jar,</tt>
<br><tt>&nbsp;&nbsp; 4b</tt>) <tt>xerces-1.1.3.jar,</tt>
<br>5. Netscape's <tt>ldap<i>xy</i>.jar</tt> (to be found somewhere in
your netscape directory subtree)</blockquote>

<p><br>5. Edit the file <tt>[WTE]\properties\default.servlet_engine</tt>
to disable the <tt>default_app</tt> and install <tt>jetspeed_application</tt>.
Adapt following values (or simply take the file that comes together with
this guide):
<blockquote><tt>&nbsp;&nbsp; &lt;transport></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name>http&lt;/name></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;code>com.ibm.servlet.engine.http_transport.HttpTransport&lt;/code></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg name="port" value="8090"/></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg name="maxConcurrency" 
value="50"/></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg name="server_root" 
value="$server_root$"/></tt>
<br><tt>&nbsp;&nbsp; &lt;/transport></tt>
<p><tt>&nbsp;&nbsp; &lt;websphere-servlet-host name="Jetspeed_host"></tt>
<br><tt>&nbsp;&nbsp;&nbsp; &lt;websphere-webgroup 
name="Jetspeed_application"></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;description>Jetspeed 
WebGroup&lt;/description></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;document-root>$approot$/doc_root&lt;/document-root></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;classpath>$approot$$psep$$server_root$&lt;/classpath></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;root-uri>/&lt;/root-uri></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;auto-reload enabled="true"
polling-interval="3000"/></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;shared-context>false&lt;/shared-context></tt>
<br><tt>&nbsp;&nbsp;&nbsp; &lt;/websphere-webgroup></tt>
<p><tt>&nbsp;&nbsp; &lt;hostname-binding hostname="localhost:8090" 
servlethost="Jetspeed_host"/></tt>
<br><tt>&nbsp;&nbsp; &lt;hostname-binding hostname="127.0.0.1:8090" 
servlethost="Jetspeed_host"/></tt></blockquote>

<p><br>6.a) Copy 
<tt>[WTE]\hosts\default_host\default_app\servlets\default_app.webapp</tt>
to
<br><tt>&nbsp;&nbsp; 
[WTE]\hosts\jetspeed_host\jetspeed_application\jetspeed_application.webapp</tt>.
<p>6.b) Edit this file (or simply take the file that comes together with
this guide):
<blockquote>Adapt following values:
<br><tt>&lt;description>default application&lt;/description></tt>
<br><tt>&lt;value>$server_root$/temp/Jetspeed_application&lt;/value></tt>
<br><tt>&lt;value>$server_root$/temp/JSP1_0/jetspeed_application&lt;/value></tt>
<p>Add following servlet definition:
<br><tt>&lt;servlet></tt>
<br><tt>&nbsp;&nbsp; &lt;name>turbine&lt;/name></tt>
<br><tt>&nbsp;&nbsp; &lt;description>Turbine servlet&lt;/description></tt>
<br><tt>&nbsp;&nbsp; &lt;code>org.apache.turbine.Turbine&lt;/code></tt>
<br><tt>&nbsp;&nbsp; &lt;servlet-path>/jetspeed&lt;/servlet-path></tt>
<br><tt>&nbsp;&nbsp; &lt;init-parameter></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name>properties&lt;/name></tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;value>/config/TurbineResources.properties&lt;/value></tt>
<br><tt>&nbsp;&nbsp; &lt;/init-parameter></tt>
<br><tt>&nbsp;&nbsp; &lt;autostart>false&lt;/autostart></tt>
<br><tt>&lt;/servlet></tt></blockquote>
7. Copy the <tt>[Jetspeed]\src\content</tt> directory to
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root\content</tt>
<p>8.a) Place following files in 
<tt>[WTE]\hosts\jetspeed_host\jetspeed_application\doc_root\config</tt>
<blockquote><tt>TurbineResources.properties</tt>
<br><tt>JetSpeedResources.properties</tt>
<br><tt>cocoon.properties</tt>
<br><tt>Webmacro.properties</tt>
<br><tt>jetspeed-config.jcfg</tt>
<br>They can be found in the <tt>[jetspeed]/src/config</tt> directory,
or you can simply use the samples files that come together with this 
guide.</blockquote>

<p><br>These files and 
<tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root\content\psml\[...]</tt>
need to be configured. The examples that come with this document can be
used - they assume that websphere has been installed to <tt>d:\apps\VisualAge
for Java</tt>. If you installed to a different this path, the configuration
files have to be adapted in approx. 10 places.
<p>9.c) In 
<tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root\config\TurbineResources.properties</tt>,
set <tt>mail.server</tt> to a valid smtp server.
<p>10.a) Create the database tables (use the portal user account for this
step - (see also 0.d) )
<blockquote>Open the DB2 Control Center, create database (database name:
<tt>Jetspeed</tt>)
<br>Connect to the db: <tt>CONNECT TO JETSPEED</tt>
<br>Open the DB2 Command Center and execute the following scripts in the
given order. They are originally located in the 
<tt>[jetspeed]/src/sql/external</tt>
directory, however, use the files that come together with this guide as
they fix some bugs.
<br>&nbsp;&nbsp; 1. <tt>DB2_users_roles_permissions.sql</tt>
<br>&nbsp;&nbsp; 2. <tt>DB2_id_table.sql</tt>
<br>&nbsp;&nbsp; 3. <tt>default_roles_permissions.sql</tt>
<br>Disconnect from the db: <tt>DISCONNECT</tt></blockquote>

<p><br>10.b) Set the <tt>database.default.username</tt> and 
<tt>database.default.password</tt>
in
<br><tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root\config\TurbineResources.properties</tt>
<p>11. Start Visual Age's Websphere Test Environment 
(<tt>Workspace|Tools|Websphere
Test Environment</tt>)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Select the servlet engine and press
"<tt>Edit Classpath</tt>".
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Check <tt>Portal_Turbine, Portal_Jetspeed,
Portal_Jars.</tt>
<br><tt>&nbsp;&nbsp; </tt>Additionally, enter the full path to 
<tt>[WTE]\hosts\Jetspeed_host\Jetspeeed_Application\doc_root\config\</tt>
<p>12. Add the DB2-jdbc driver to the workspace calss path
<blockquote>In the workspace select <tt>Window|Options...|Resources</tt>
<br>Edit the Workspace classpath and add the 
<tt>[...]\db2\java\db2java.zip</tt>.</blockquote>
13. At this point, the basic portal functionality works. Within the Websphere
Test Environment, the servlet engine needs to be started.
<br>&nbsp;&nbsp;&nbsp;&nbsp; Jetspeed can be accessed via the URL 
<tt>http://localhost:8090/jetspeed/turbine_servlet</tt>
<br>&nbsp;&nbsp;&nbsp;&nbsp; As the initialization takes quite long, the
browser might generate a time-out upon the first request.
<br>&nbsp;
<p>
<hr WIDTH="100%">
<br>Some notes:
<ul>
<li>
The path to TurbineResources.properties (set as servlet init parameter)
is always relative to the document root.</li>

<li>
When using a web application web path other than "<tt>/</tt>" all URLs
in the configuration files that start with <tt>/config</tt> have to be
adapted.</li>

<li>
The content feed can be disabled by setting 
<tt>daemon.feeddaemon.onstartup=false</tt>
in JetspeedResource.properties.</li>

<li>
For an experimental system, it is faster to set 
<tt>autocreate.portlets=false</tt>
in JetspeedResource.properties (sort of "lazy instantiation" of portlets).</li>
</ul>

</body>
</html>
------------------snip-----snap-------------------------





DB_Init: DB2_users_roles_permissions.sql

------------------snip-----snap-------------------------
-- Turbine, a Servlet Framework for building Dynamic Websites
--
-- For licensing and use, please see the LICENSE.txt in this directory.
--
-- This is a schema for IBM DB2 for
-- the concept of Users/Roles/Permissions
--
-- Please see the Html documentation for more information
-- on this SQL. Equivalent contributions of this for other
-- databases are welcome.
--
-- Commented Sequence Creation / Added ID_TABLE and JOBENTRY Tables
-- 
-- @author Jon S. Stevens
-- @author Brett McLaughlin
-- @author Martin Poeschl

DROP TABLE PERMISSION
;
CREATE TABLE PERMISSION (
   PERMISSIONID  INT            NOT NULL,
   PERMISSION    VARCHAR(99)   NOT NULL )
;
ALTER TABLE PERMISSION
  ADD CONSTRAINT PERMISSION_PK PRIMARY KEY (PERMISSIONID)
;
CREATE UNIQUE INDEX PERMISSION_NAME ON PERMISSION(PERMISSION)
;
DROP TABLE USERROLE
;
CREATE TABLE USERROLE  (
     ROLEID      INT                NOT NULL,
     ROLENAME    VARCHAR(99)     NOT NULL
)
;
ALTER TABLE USERROLE
  ADD CONSTRAINT ROLE_PK PRIMARY KEY (ROLEID)
;
CREATE UNIQUE INDEX ROLE_NAME ON USERROLE(ROLENAME)
;
DROP TABLE ROLEPERMISSION
;
CREATE TABLE ROLEPERMISSION  (
     ROLEID       INT           NOT NULL,
     PERMISSIONID INT           NOT NULL
)
;
ALTER TABLE ROLEPERMISSION
   ADD CONSTRAINT ROLEPERMISSION_PK PRIMARY KEY (ROLEID,PERMISSIONID)
;
DROP TABLE VISITOR
;
CREATE TABLE VISITOR  (
     VISITORID   INT          GENERATED ALWAYS AS IDENTITY,
     LOGINID     VARCHAR(32) NOT NULL,
     PASSWORD_VALUE    VARCHAR(32) NOT NULL,
     FIRST_NAME  VARCHAR(99) NOT NULL,
     LAST_NAME   VARCHAR(99) NOT NULL,
     ADDRESS1    VARCHAR(32),
     ADDRESS2    VARCHAR(32),
     CITY        VARCHAR(32),
     STATE       VARCHAR(32),
     POSTALCODE  VARCHAR(32),
     COUNTRY     VARCHAR(32),
     CITIZENSHIP VARCHAR(32),
     PHONE       VARCHAR(32),
     ALTPHONE    VARCHAR(32),
     FAX         VARCHAR(32),
     CELL        VARCHAR(32),
     PAGER       VARCHAR(32),
     EMAIL       VARCHAR(99),
     MODIFIED    DATE,
     CREATED     DATE,
     LASTLOGIN   DATE,
     OBJECTDATA  VARCHAR(255) ) --DBCLOB)
;
alter table Visitor add CONFIRM_VALUE VARCHAR(99)
;
ALTER TABLE VISITOR
   ADD CONSTRAINT VISITOR_PK PRIMARY KEY (VISITORID)
;
CREATE UNIQUE INDEX VISITOR_LOGINID ON VISITOR(LOGINID)
;
-- no longer needed, default_roles_permissions does this initialization
--INSERT INTO VISITOR
--       (VISITORID,
--        LOGINID,
--        PASSWORD_VALUE,
--        FIRST_NAME,
--        LAST_NAME)
--VALUES (1,
--        'turbine',
--        'turbine',
--        'system',
--        'adminstrator' )
--
DROP TABLE VISITORROLE
;
CREATE TABLE VISITORROLE  (
     VISITORID   INT         NOT NULL,
     ROLEID      INT         NOT NULL
)
;
ALTER TABLE VISITORROLE
  ADD CONSTRAINT VISITORROLE_PK PRIMARY KEY (VISITORID, ROLEID)
;
DROP TABLE JOBENTRY
;
CREATE TABLE JOBENTRY  (
     OID           INT             NOT NULL,
     MINUTE        INT  default -1 NOT NULL,
     HOUR          INT  default -1 NOT NULL,
     WEEKDAY       INT  default -1 NOT NULL,
     DAY_OF_MONTH  INT  default -1 NOT NULL,
     TASK          VARCHAR(99) NOT NULL,
     EMAIL         VARCHAR(99)
)
;
ALTER TABLE JOBENTRY
  ADD CONSTRAINT OID_PK PRIMARY KEY (OID)
;
CREATE UNIQUE INDEX JOBENTRY_NAME ON JOBENTRY(TASK)
;
------------------snip-----snap-------------------------





DB_Init: default_roles_permissions.sql

------------------snip-----snap-------------------------
-- Script to fill the tables with default roles and permissions
-- Currently tested with MySQL, Oracle, Postgres, Hypersonic and Access only.

-- Add some default permissions

insert into Permission (PERMISSIONID, PERMISSION) values (1, 'view_user');
insert into Permission (PERMISSIONID, PERMISSION) values (2, 'add_user');
insert into Permission (PERMISSIONID, PERMISSION) values (3, 'modify_user');
insert into Permission (PERMISSIONID, PERMISSION) values (4, 'view_group');
insert into Permission (PERMISSIONID, PERMISSION) values (5, 'add_group');
insert into Permission (PERMISSIONID, PERMISSION) values (6, 'modify_group');
insert into Permission (PERMISSIONID, PERMISSION) values (7, 
'view_permission');
insert into Permission (PERMISSIONID, PERMISSION) values (8, 'add_permission');
insert into Permission (PERMISSIONID, PERMISSION) values (9, 
'modify_permission');
insert into Permission (PERMISSIONID, PERMISSION) values (10, 'view_role');
insert into Permission (PERMISSIONID, PERMISSION) values (11, 'add_role');
insert into Permission (PERMISSIONID, PERMISSION) values (12, 'modify_role');

-- Create a Role or Group in this case turbine root
insert into UserRole (ROLEID, ROLENAME) values (1, 'turbine_root');

-- Add some permissions for turbine root
insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'view_user' and  UserRole.ROLENAME = 'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'add_user' and  UserRole.ROLENAME = 'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'modify_user' and  UserRole.ROLENAME = 'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'view_group' and  UserRole.ROLENAME = 'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'add_group' and  UserRole.ROLENAME = 'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'modify_group' and  UserRole.ROLENAME = 'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'view_permission' and  UserRole.ROLENAME = 
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'add_permission' and  UserRole.ROLENAME = 
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'modify_permission' and  UserRole.ROLENAME = 
'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'view_role' and  UserRole.ROLENAME = 'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'add_role' and  UserRole.ROLENAME = 'turbine_root';

insert into RolePermission (ROLEID,PERMISSIONID) select UserRole.ROLEID, 
Permission.PERMISSIONID from UserRole, Permission where 
Permission.PERMISSION = 'modify_role' and  UserRole.ROLENAME = 'turbine_root';



-- Create an account 'turbine' for system administartor
-- Remeber to set a good password for this user in a production system!
insert into Visitor (LOGINID, PASSWORD_VALUE, FIRST_NAME, LAST_NAME, 
MODIFIED, CREATED, CONFIRM_VALUE ) values ('turbine', 'turbine', 'system', 
'administrator', null, null, 'CONFIRMED' );

-- Finally, add the user turbine to the turbine_root group
insert into VisitorRole ( VISITORID, ROLEID ) select Visitor.VISITORID, 
UserRole.ROLEID from Visitor, UserRole where Visitor.LOGINID = 'turbine' 
AND UserRole.ROLENAME = 'turbine_root';

-- create a role for a normal portal user
insert into USERROLE (ROLEID, ROLENAME) values (2, 'authenticated_user');
------------------snip-----snap-------------------------





WTE: default.servlet_engine

------------------snip-----snap-------------------------
<?xml version="1.0"?>
<websphere-servlet-engine name="servletEngine">
    <active-transport>http</active-transport>
    <transport>
       <name>http</name>
       <code>com.ibm.servlet.engine.http_transport.HttpTransport</code>
       <arg name="port" value="8090"/>
       <arg name="maxConcurrency" value="50"/>
       <arg name="server_root" value="$server_root$"/>
    </transport>

    <websphere-servlet-host name="Jetspeed_host">
     <websphere-webgroup name="Jetspeed_application">
        <description>Jetspeed WebGroup</description>
        <document-root>$approot$/doc_root</document-root>
        <classpath>$approot$$psep$$server_root$</classpath>
        <root-uri>/</root-uri>
        <auto-reload enabled="true" polling-interval="3000"/>
        <shared-context>false</shared-context>
     </websphere-webgroup>

       <mime type="application/SLA">
          <ext>STL</ext>
          <ext>stl</ext>
       </mime>
       <mime type="application/STEP">
          <ext>STEP</ext>
          <ext>STP</ext>
          <ext>step</ext>
          <ext>stp</ext>
       </mime>
       <mime type="application/acad">
          <ext>DWG</ext>
          <ext>dwg</ext>
       </mime>
       <mime type="application/clariscad">
          <ext>CCAD</ext>
       </mime>
       <mime type="application/drafting">
          <ext>DRW</ext>
       </mime>
       <mime type="application/dxf">
          <ext>DXF</ext>
          <ext>dxf</ext>
       </mime>
       <mime type="application/i-deas">
          <ext>UNV</ext>
          <ext>unv</ext>
       </mime>
       <mime type="application/iges">
          <ext>IGES</ext>
          <ext>IGS</ext>
          <ext>iges</ext>
          <ext>igs</ext>
       </mime>
       <mime type="application/octet-stream">
          <ext>bin</ext>
          <ext>class</ext>
       </mime>
       <mime type="application/oda">
          <ext>oda</ext>
       </mime>
       <mime type="application/pdf">
          <ext>pdf</ext>
       </mime>
       <mime type="application/postscript">
          <ext>PS</ext>
          <ext>ai</ext>
          <ext>eps</ext>
          <ext>ps</ext>
       </mime>
       <mime type="application/pro_eng">
          <ext>PRT</ext>
          <ext>prt</ext>
       </mime>
       <mime type="application/set">
          <ext>SET</ext>
          <ext>set</ext>
       </mime>
       <mime type="application/solids">
          <ext>SOL</ext>
       </mime>
       <mime type="application/vda">
          <ext>VDA</ext>
          <ext>vda</ext>
       </mime>
       <mime type="application/vnd.lotus-1-2-3">
          <ext>123</ext>
          <ext>wk1</ext>
          <ext>wk3</ext>
          <ext>wk4</ext>
       </mime>
       <mime type="application/vnd.lotus-approach">
          <ext>apr</ext>
          <ext>vew</ext>
       </mime>
       <mime type="application/vnd.lotus-freelance">
          <ext>pre</ext>
          <ext>prz</ext>
       </mime>
       <mime type="application/vnd.lotus-organizer">
          <ext>or2</ext>
          <ext>or3</ext>
          <ext>org</ext>
       </mime>
       <mime type="application/vnd.lotus-screencam">
          <ext>scm</ext>
       </mime>
       <mime type="application/vnd.lotus-wordpro">
          <ext>lwp</ext>
          <ext>sam</ext>
       </mime>
       <mime type="application/x-123">
          <ext>wk1</ext>
       </mime>
       <mime type="application/x-bcpio">
          <ext>bcpio</ext>
       </mime>
       <mime type="application/x-bsh">
          <ext>bsh</ext>
       </mime>
       <mime type="application/x-cpio">
          <ext>cpio</ext>
       </mime>
       <mime type="application/x-csh">
          <ext>csh</ext>
       </mime>
       <mime type="application/x-dvi">
          <ext>dvi</ext>
       </mime>
       <mime type="application/x-freelance">
          <ext>prs</ext>
       </mime>
       <mime type="application/x-gtar">
          <ext>gtar</ext>
       </mime>
       <mime type="application/x-hdf">
          <ext>hdf</ext>
       </mime>
       <mime type="application/x-javascript">
          <ext>js</ext>
       </mime>
       <mime type="application/x-ksh">
          <ext>ksh</ext>
       </mime>
       <mime type="application/x-latex">
          <ext>latex</ext>
       </mime>
       <mime type="application/x-netcdf">
          <ext>cdf</ext>
          <ext>nc</ext>
       </mime>
       <mime type="application/x-pcl">
          <ext>pcl</ext>
       </mime>
       <mime type="application/x-rtf">
          <ext>rtf</ext>
       </mime>
       <mime type="application/x-sh">
          <ext>sh</ext>
       </mime>
       <mime type="application/x-shar">
          <ext>shar</ext>
       </mime>
       <mime type="application/x-sv4cpio">
          <ext>sv4cpio</ext>
       </mime>
       <mime type="application/x-sv4crc">
          <ext>sv4crc</ext>
       </mime>
       <mime type="application/x-tcl">
          <ext>tcl</ext>
       </mime>
       <mime type="application/x-tex">
          <ext>tex</ext>
       </mime>
         <mime type="application/x-texinfo">
            <ext>texi</ext>
          <ext>texinfo</ext>
       </mime>
       <mime type="application/x-troff">
          <ext>roff</ext>
          <ext>t</ext>
          <ext>tr</ext>
       </mime>
       <mime type="application/x-troff-man">
          <ext>man</ext>
       </mime>
       <mime type="application/x-troff-me">
          <ext>me</ext>
       </mime>
       <mime type="application/x-troff-ms">
          <ext>ms</ext>
       </mime>
       <mime type="application/x-wais-source">
          <ext>src</ext>
       </mime>
       <mime type="application/x-x509-ca-cert">
          <ext>der</ext>
       </mime>
       <mime type="audio/basic">
          <ext>au</ext>
          <ext>snd</ext>
       </mime>
       <mime type="audio/x-aiff">
          <ext>aif</ext>
          <ext>aifc</ext>
          <ext>aiff</ext>
       </mime>
       <mime type="audio/x-wav">
          <ext>wav</ext>
       </mime>
       <mime type="image/bmp">
          <ext>bmp</ext>
       </mime>
       <mime type="image/cmu-raster">
          <ext>ras</ext>
       </mime>
       <mime type="image/gif">
          <ext>gif</ext>
       </mime>
       <mime type="image/ief">
          <ext>ief</ext>
       </mime>
       <mime type="image/jpeg">
          <ext>JPE</ext>
          <ext>JPEG</ext>
          <ext>JPG</ext>
          <ext>jpe</ext>
          <ext>jpeg</ext>
          <ext>jpg</ext>
       </mime>
       <mime type="image/tiff">
          <ext>tif</ext>
          <ext>tiff</ext>
       </mime>
       <mime type="image/x-portable-anymap">
          <ext>pnm</ext>
       </mime>
       <mime type="image/x-portable-bitmap">
          <ext>pbm</ext>
       </mime>
       <mime type="image/x-portable-graymap">
          <ext>pgm</ext>
       </mime>
       <mime type="image/x-portable-pixmap">
          <ext>ppm</ext>
       </mime>
       <mime type="image/x-rgb">
          <ext>rgb</ext>
       </mime>
       <mime type="image/x-xbitmap">
          <ext>xbm</ext>
       </mime>
       <mime type="image/x-xpixmap">
          <ext>xpm</ext>
       </mime>
       <mime type="image/x-xwindowdump">
          <ext>xwd</ext>
       </mime>
       <mime type="multipart/x-gzip">
          <ext>gz</ext>
       </mime>
       <mime type="multipart/x-tar">
          <ext>tar</ext>
       </mime>
       <mime type="multipart/x-ustar">
          <ext>ustar</ext>
       </mime>
       <mime type="multipart/x-zip">
          <ext>zip</ext>
       </mime>
       <mime type="text/css">
          <ext>css</ext>
          <ext>s</ext>
       </mime>
       <mime type="text/html">
          <ext>htm</ext>
          <ext>html</ext>
       </mime>
       <mime type="text/plain">
          <ext>C</ext>
          <ext>c</ext>
          <ext>cc</ext>
          <ext>com</ext>
          <ext>conf</ext>
          <ext>cxx</ext>
          <ext>def</ext>
          <ext>f90</ext>
          <ext>for</ext>
          <ext>h</ext>
          <ext>hh</ext>
          <ext>java</ext>
          <ext>list</ext>
          <ext>log</ext>
          <ext>lst</ext>
          <ext>m</ext>
          <ext>mar</ext>
          <ext>sdml</ext>
          <ext>txt</ext>
       </mime>
       <mime type="text/richtext">
          <ext>rtx</ext>
       </mime>
       <mime type="text/tab-separated-values">
          <ext>tsv</ext>
       </mime>
       <mime type="text/x-asm">
          <ext>asm</ext>
       </mime>
       <mime type="text/x-setext">
          <ext>etx</ext>
       </mime>
       <mime type="text/x-ssi-html">
          <ext>htmls</ext>
          <ext>shtml</ext>
       </mime>
       <mime type="text/x-uil">
          <ext>uil</ext>
       </mime>
       <mime type="text/x-uuencode">
          <ext>uu</ext>
       </mime>
       <mime type="video/mpeg">
          <ext>MPE</ext>
          <ext>MPEG</ext>
          <ext>MPG</ext>
          <ext>mpe</ext>
          <ext>mpeg</ext>
          <ext>mpg</ext>
       </mime>
       <mime type="video/quicktime">
          <ext>mov</ext>
          <ext>qt</ext>
       </mime>
       <mime type="video/x-motion-jpeg">
          <ext>mjpg</ext>
       </mime>
       <mime type="video/x-msvideo">
          <ext>avi</ext>
       </mime>
       <mime type="video/x-sgi-movie">
          <ext>movie</ext>
       </mime>
       <mime type="www/mime">
          <ext>mime</ext>
       </mime>
       <mime type="www/unknown">
          <ext>*</ext>
          <ext>*.*</ext>
       </mime>
       <mime type="x-world/x-vrml">
          <ext>wrl</ext>
       </mime>
    </websphere-servlet-host>
    <hostname-binding hostname="localhost:8090" servlethost="Jetspeed_host"/>
    <hostname-binding hostname="127.0.0.1:8090" servlethost="Jetspeed_host"/>
</websphere-servlet-engine>
------------------snip-----snap-------------------------





WTE: Jetspeed_application.webpp

------------------snip-----snap-------------------------
<?xml version="1.0"?>
<websphere-servlet-engine name="servletEngine">
    <active-transport>http</active-transport>
    <transport>
       <name>http</name>
       <code>com.ibm.servlet.engine.http_transport.HttpTransport</code>
       <arg name="port" value="8090"/>
       <arg name="maxConcurrency" value="50"/>
       <arg name="server_root" value="$server_root$"/>
    </transport>

    <websphere-servlet-host name="Jetspeed_host">
     <websphere-webgroup name="Jetspeed_application">
        <description>Jetspeed WebGroup</description>
        <document-root>$approot$/doc_root</document-root>
        <classpath>$approot$$psep$$server_root$</classpath>
        <root-uri>/</root-uri>
        <auto-reload enabled="true" polling-interval="3000"/>
        <shared-context>false</shared-context>
     </websphere-webgroup>

       <mime type="application/SLA">
          <ext>STL</ext>
          <ext>stl</ext>
       </mime>
       <mime type="application/STEP">
          <ext>STEP</ext>
          <ext>STP</ext>
          <ext>step</ext>
          <ext>stp</ext>
       </mime>
       <mime type="application/acad">
          <ext>DWG</ext>
          <ext>dwg</ext>
       </mime>
       <mime type="application/clariscad">
          <ext>CCAD</ext>
       </mime>
       <mime type="application/drafting">
          <ext>DRW</ext>
       </mime>
       <mime type="application/dxf">
          <ext>DXF</ext>
          <ext>dxf</ext>
       </mime>
       <mime type="application/i-deas">
          <ext>UNV</ext>
          <ext>unv</ext>
       </mime>
       <mime type="application/iges">
          <ext>IGES</ext>
          <ext>IGS</ext>
          <ext>iges</ext>
          <ext>igs</ext>
       </mime>
       <mime type="application/octet-stream">
          <ext>bin</ext>
          <ext>class</ext>
       </mime>
       <mime type="application/oda">
          <ext>oda</ext>
       </mime>
       <mime type="application/pdf">
          <ext>pdf</ext>
       </mime>
       <mime type="application/postscript">
          <ext>PS</ext>
          <ext>ai</ext>
          <ext>eps</ext>
          <ext>ps</ext>
       </mime>
       <mime type="application/pro_eng">
          <ext>PRT</ext>
          <ext>prt</ext>
       </mime>
       <mime type="application/set">
          <ext>SET</ext>
          <ext>set</ext>
       </mime>
       <mime type="application/solids">
          <ext>SOL</ext>
       </mime>
       <mime type="application/vda">
          <ext>VDA</ext>
          <ext>vda</ext>
       </mime>
       <mime type="application/vnd.lotus-1-2-3">
          <ext>123</ext>
          <ext>wk1</ext>
          <ext>wk3</ext>
          <ext>wk4</ext>
       </mime>
       <mime type="application/vnd.lotus-approach">
          <ext>apr</ext>
          <ext>vew</ext>
       </mime>
       <mime type="application/vnd.lotus-freelance">
          <ext>pre</ext>
          <ext>prz</ext>
       </mime>
       <mime type="application/vnd.lotus-organizer">
          <ext>or2</ext>
          <ext>or3</ext>
          <ext>org</ext>
       </mime>
       <mime type="application/vnd.lotus-screencam">
          <ext>scm</ext>
       </mime>
       <mime type="application/vnd.lotus-wordpro">
          <ext>lwp</ext>
          <ext>sam</ext>
       </mime>
       <mime type="application/x-123">
          <ext>wk1</ext>
       </mime>
       <mime type="application/x-bcpio">
          <ext>bcpio</ext>
       </mime>
       <mime type="application/x-bsh">
          <ext>bsh</ext>
       </mime>
       <mime type="application/x-cpio">
          <ext>cpio</ext>
       </mime>
       <mime type="application/x-csh">
          <ext>csh</ext>
       </mime>
       <mime type="application/x-dvi">
          <ext>dvi</ext>
       </mime>
       <mime type="application/x-freelance">
          <ext>prs</ext>
       </mime>
       <mime type="application/x-gtar">
          <ext>gtar</ext>
       </mime>
       <mime type="application/x-hdf">
          <ext>hdf</ext>
       </mime>
       <mime type="application/x-javascript">
          <ext>js</ext>
       </mime>
       <mime type="application/x-ksh">
          <ext>ksh</ext>
       </mime>
       <mime type="application/x-latex">
          <ext>latex</ext>
       </mime>
       <mime type="application/x-netcdf">
          <ext>cdf</ext>
          <ext>nc</ext>
       </mime>
       <mime type="application/x-pcl">
          <ext>pcl</ext>
       </mime>
       <mime type="application/x-rtf">
          <ext>rtf</ext>
       </mime>
       <mime type="application/x-sh">
          <ext>sh</ext>
       </mime>
       <mime type="application/x-shar">
          <ext>shar</ext>
       </mime>
       <mime type="application/x-sv4cpio">
          <ext>sv4cpio</ext>
       </mime>
       <mime type="application/x-sv4crc">
          <ext>sv4crc</ext>
       </mime>
       <mime type="application/x-tcl">
          <ext>tcl</ext>
       </mime>
       <mime type="application/x-tex">
          <ext>tex</ext>
       </mime>
         <mime type="application/x-texinfo">
            <ext>texi</ext>
          <ext>texinfo</ext>
       </mime>
       <mime type="application/x-troff">
          <ext>roff</ext>
          <ext>t</ext>
          <ext>tr</ext>
       </mime>
       <mime type="application/x-troff-man">
          <ext>man</ext>
       </mime>
       <mime type="application/x-troff-me">
          <ext>me</ext>
       </mime>
       <mime type="application/x-troff-ms">
          <ext>ms</ext>
       </mime>
       <mime type="application/x-wais-source">
          <ext>src</ext>
       </mime>
       <mime type="application/x-x509-ca-cert">
          <ext>der</ext>
       </mime>
       <mime type="audio/basic">
          <ext>au</ext>
          <ext>snd</ext>
       </mime>
       <mime type="audio/x-aiff">
          <ext>aif</ext>
          <ext>aifc</ext>
          <ext>aiff</ext>
       </mime>
       <mime type="audio/x-wav">
          <ext>wav</ext>
       </mime>
       <mime type="image/bmp">
          <ext>bmp</ext>
       </mime>
       <mime type="image/cmu-raster">
          <ext>ras</ext>
       </mime>
       <mime type="image/gif">
          <ext>gif</ext>
       </mime>
       <mime type="image/ief">
          <ext>ief</ext>
       </mime>
       <mime type="image/jpeg">
          <ext>JPE</ext>
          <ext>JPEG</ext>
          <ext>JPG</ext>
          <ext>jpe</ext>
          <ext>jpeg</ext>
          <ext>jpg</ext>
       </mime>
       <mime type="image/tiff">
          <ext>tif</ext>
          <ext>tiff</ext>
       </mime>
       <mime type="image/x-portable-anymap">
          <ext>pnm</ext>
       </mime>
       <mime type="image/x-portable-bitmap">
          <ext>pbm</ext>
       </mime>
       <mime type="image/x-portable-graymap">
          <ext>pgm</ext>
       </mime>
       <mime type="image/x-portable-pixmap">
          <ext>ppm</ext>
       </mime>
       <mime type="image/x-rgb">
          <ext>rgb</ext>
       </mime>
       <mime type="image/x-xbitmap">
          <ext>xbm</ext>
       </mime>
       <mime type="image/x-xpixmap">
          <ext>xpm</ext>
       </mime>
       <mime type="image/x-xwindowdump">
          <ext>xwd</ext>
       </mime>
       <mime type="multipart/x-gzip">
          <ext>gz</ext>
       </mime>
       <mime type="multipart/x-tar">
          <ext>tar</ext>
       </mime>
       <mime type="multipart/x-ustar">
          <ext>ustar</ext>
       </mime>
       <mime type="multipart/x-zip">
          <ext>zip</ext>
       </mime>
       <mime type="text/css">
          <ext>css</ext>
          <ext>s</ext>
       </mime>
       <mime type="text/html">
          <ext>htm</ext>
          <ext>html</ext>
       </mime>
       <mime type="text/plain">
          <ext>C</ext>
          <ext>c</ext>
          <ext>cc</ext>
          <ext>com</ext>
          <ext>conf</ext>
          <ext>cxx</ext>
          <ext>def</ext>
          <ext>f90</ext>
          <ext>for</ext>
          <ext>h</ext>
          <ext>hh</ext>
          <ext>java</ext>
          <ext>list</ext>
          <ext>log</ext>
          <ext>lst</ext>
          <ext>m</ext>
          <ext>mar</ext>
          <ext>sdml</ext>
          <ext>txt</ext>
       </mime>
       <mime type="text/richtext">
          <ext>rtx</ext>
       </mime>
       <mime type="text/tab-separated-values">
          <ext>tsv</ext>
       </mime>
       <mime type="text/x-asm">
          <ext>asm</ext>
       </mime>
       <mime type="text/x-setext">
          <ext>etx</ext>
       </mime>
       <mime type="text/x-ssi-html">
          <ext>htmls</ext>
          <ext>shtml</ext>
       </mime>
       <mime type="text/x-uil">
          <ext>uil</ext>
       </mime>
       <mime type="text/x-uuencode">
          <ext>uu</ext>
       </mime>
       <mime type="video/mpeg">
          <ext>MPE</ext>
          <ext>MPEG</ext>
          <ext>MPG</ext>
          <ext>mpe</ext>
          <ext>mpeg</ext>
          <ext>mpg</ext>
       </mime>
       <mime type="video/quicktime">
          <ext>mov</ext>
          <ext>qt</ext>
       </mime>
       <mime type="video/x-motion-jpeg">
          <ext>mjpg</ext>
       </mime>
       <mime type="video/x-msvideo">
          <ext>avi</ext>
       </mime>
       <mime type="video/x-sgi-movie">
          <ext>movie</ext>
       </mime>
       <mime type="www/mime">
          <ext>mime</ext>
       </mime>
       <mime type="www/unknown">
          <ext>*</ext>
          <ext>*.*</ext>
       </mime>
       <mime type="x-world/x-vrml">
          <ext>wrl</ext>
       </mime>
    </websphere-servlet-host>
    <hostname-binding hostname="localhost:8090" servlethost="Jetspeed_host"/>
    <hostname-binding hostname="127.0.0.1:8090" servlethost="Jetspeed_host"/>
</websphere-servlet-engine>
------------------snip-----snap-------------------------





Config: Turbine Resources.properties

------------------snip-----snap-------------------------
# Your mail server for outgoing email.
# Default: null
mail.server=

# This is the module to handle building AccessControlLists
# Default: org.apache.turbine.om.security.DefaultAccessControl
access.control=org.apache.turbine.om.security.DefaultAccessControl

# This determines whether or not to cache the modules in memory.
# For development, turn this off. For production, turn this on.
# Default: false
module.cache=false

# If module.cache=true, then how large should we make the
# hashtables by default.
action.cache.size=20
layout.cache.size=10
navigation.cache.size=10
page.cache.size=5
screen.cache.size=50
scheduledjob.cache.size=10
wmnavigationloader.cache.size=10
wmlayoutscreenloader.cache.size=50

# This is the "classpath" for Turbine. In order to locate
# your own modules, you should add them to this path.
# For example, if you have com.company.actions,
# com.company.screens, com.company.navigations, then
# this setting would be "com.company,org.apache.turbine.modules"
# This path is searched in order. For example, Turbine
# comes with a screen module named "Login". If you wanted
# to have your own screen module named "Login", then you
# would specify the path to your modules before the
# Default: org.apache.turbine.modules
module.packages=org.apache.jyve,org.apache.jetspeed.turbine,org.apache.turbine.modules

# This is the class that implements the User interface
# Default: org.apache.turbine.om.user.TurbineUser
user.class=org.apache.turbine.om.user.TurbineUser

# These are your database settings, look in the
# org.apache.turbine.util.db.pool.* packages for more information.
#### ORACLE
#database.default.driver=oracle.jdbc.driver.OracleDriver
#database.default.url=jdbc:oracle:thin:@localhost:1521:ORCL
#### MySQL MM Driver
database.default.driver=COM.ibm.db2.jdbc.app.DB2Driver
database.default.url=jdbc:db2:jetspeed

database.default.username=portal
database.default.password=portal

# The number of database connections to cache in the ConnectionPool.
database.maxConnections=3

# The time in milliseconds that database connections will be cached.
# Default: one hour
database.expiryTime=3600000

# These are the supported jdbc-drivers and their adaptors.
# These properties are used by the DBFactory.
#database.adaptor=DBMM
#database.adaptor.DBMM=org.gjt.mm.mysql.Driver
#database.adaptor=DBWeblogic
#database.adaptor.DBWeblogic=weblogic.jdbc.pool.Driver
#database.adaptor=DBOracle
#database.adaptor.DBOracle=oracle.jdbc.driver.OracleDriver
#database.adaptor=DBInstantDB
#database.adaptor.DBInstantDB=org.enhydra.instantdb.jdbc.idbDriver
#database.adaptor=DBPostgres
#database.adaptor.DBPostgres=postgresql.Driver
#database.adaptor=DBDB2Net
#database.adaptor.DBDB2Net=COM.ibm.db2.jdbc.net.DB2Driver

database.adaptor=DBDB2App
database.adaptor.DBDB2App=COM.ibm.db2.jdbc.app.DB2Driver

#database.adaptor=DBSybase
#database.adaptor.DBSybase=com.sybase.jdbc.SybDriver
#database.adaptor=DBHypersonicSQL
#database.adaptor.DBHypersonicSQL=org.hsql.jdbcDriver
#database.adaptor=DBOdbc
#database.adaptor.DBOdbc=sun.jdbc.odbc.JdbcOdbcDriver

# These are the default settings for OPaL persistence.
# mechanism.
# Default: false
opal.start=true
opal.dbbroker.classname=org.apache.turbine.opl.database.DbBrokerImpl

# This is the default screen to show to people when they
# first access the system. You can override this by
# specifying module.packages to include your own modules.
# Default: Login
screen.homepage=Home

# This is the page that is shown on an incorrect login
# attempt. It is referenced in the LoginUser action
# Default: Login
screen.login=Login

# This is the default error screen
# Default: Error
screen.error=Error

# This is the screen that is displayed when the user's
# web page is in an invalid state.
# Default: error.InvalidState
screen.invalidstate=error.InvalidState

# set the default Doctype.  The default Doctype can be set by
# using the single strings:  Html40Strict, Html40Transitional,
# or Html40Frameset.  Additionally the default can be supplied as
# two strings separated by a comma giving the dtd and uri.
# Default: ignored if not set to some value
# default.doctype=Html40Transitional

# The default location for ImageServer to find its files
# Default: d:/
screen.ImageServer.root=d:/apps/VisualAge for 
Java/ide/project_resources/IBM Websphere Test 
Environment/hosts/Jetspeed_host/Jetspeed_application/doc_root/content/images

# This is the default action to log a user in.
# Default: LoginUser
action.login=JLoginUser

# This is the default action to validate whether or not
# a session is valid. For example, if you want to make
# sure if a user has already logged in or not.
# Default: SessionValidator
# action.sessionvalidator=sessionvalidator.DefaultSessionValidator
# NOTE:  Within Jetspeed this is defined below...


# This is the default action that builds up the AccessControlList
# for the individual users session
# Default: AccessController
action.accesscontroller=AccessController

# This is the default layout to apply.
# Default: DefaultLayout
layout.default=JetspeedLayout

# This is the default page module. You probably do not want
# to modify this.
# Default: DefaultPage
page.default=DefaultPage

# This is the file upload max file size.
# Default: 1000000
max.file.size.bytes=1000000

# This is the code that will be used to handle file upload
# Default: org.apache.turbine.util.upload.UploaderOReilly
file.upload.handler=org.apache.turbine.util.upload.UploaderOReilly

# This is the path where files will be uploaded
# Default: .
file.upload.default.path=.

# This is the file server where files will be uploaded for
# mulipart/form-data requests
# Default: none
#file.server=

# This indicates whether Turbine should try to create JNDI contexts.
# Default: false
# contexts=true

# This indicates the action that should be run to create JNDI initial contexts.
# Default: InitContextsAction
action.initcontexts=InitContextsAction

# These are the JNDI context properties.
# Each context's properties are defined by the properties
# beginning with context.name.
# Default: none
#
# Example:
# The following will create a JNDI context named "name" in the
# data.contexts Hashtable. It will point at the RMI registry
# on localhost running on port 1099, and will use
# com.sun.jndi.rmi.registry.RegistryContextFactory as the initial
# context factory:
#
# context.name.java.naming.provider.url=rmi://localhost:1099
# 
context.name.java.naming.factory.initial=com.sun.jndi.rmi.registry.RegistryContextFactory

# The full path name to a log file
# if not given, commands to log events using org.apache.turbine.util.Log 
will be ignored.
# This file must already exist and be writable.
# Default: none
#
logfile=d:/apps/VisualAge for Java/ide/project_resources/IBM Websphere Test 
Environment/hosts/jetspeed_host/logs/jetspeed-turbine.log

# Supplies Turbine with information about the database schema, which can 
simplify any
# required Peer classes.
# Default: org.apache.turbine.util.db.map.TurbineMapBuilder
database.maps.builder=org.apache.turbine.util.db.map.TurbineMapBuilder


# The message that can be displayed before a user logs in.
# login.message=Thank you for your visit. Please log into the system.

# The message that can be displayed when no screen is defined.
login.message.noscreen=There has been an error. Your session is valid but 
the screen variable is not defined.

# The message that can be displayed when a user enters an incorrect 
password or username.
login.error=Sorry your username or password is incorrect!

# The message that can be displayed when a user logs out.
logout.message=Thank you for using the system. Please come back soon.

# Whether the web server is able to use SSL.  Links in Turbine can check 
this property to determine
# if SSL can be used. Default=true
use.ssl=true

# Classes for Turbine Services should be defined here.
# Format: services.[name].classname
services.TurbineResourceService.classname=org.apache.turbine.services.resources.TurbineResourceService
services.TurbineLocalizationService.classname=org.apache.turbine.services.localization.TurbineLocalizationService
services.TurbineWebMacroService.classname=org.apache.turbine.services.webmacro.TurbineWebMacroService
services.TurbineFreeMarkerService.classname=org.apache.turbine.services.freemarker.TurbineFreeMarkerService
services.TurbineGlobalCacheService.classname=org.apache.turbine.services.cache.TurbineGlobalCacheService
services.TurbineSchedulerService.classname=org.apache.turbine.services.schedule.TurbineSchedulerService

# Default ResourceBundle and language/country codes
# used by the TurbineLocalizationService.
locale.default.bundle=org.apache.jyve.localization.JyveLocalization
locale.default.language=en
locale.default.country=US

# Scheduler Service
# Set enabled to true to start the scheduler.
# Default = false
scheduler.enabled=false

# FreeMarker path where templates are stored.
services.freemarker.path=/path/to/turbine/examples/freemarker

# This is used in the UserFactory.validateUser
# to make the password checking secure. passwords must be
# stored in the database as SHA encoded strings. validation
# is done by SHA encoding the password provided by the user
# and then comparing that to whatever is in a database
# This feature is experimental right now.
# Default: false
secure.passwords=false

###################################
#Jetspeed specific configurations #
###################################

# The message that can be displayed before a user logs in.
login.message=Please login to Jetspeed

#the properties file for Jetspeed
jetspeed.properties=d:/apps/VisualAge for Java/ide/project_resources/IBM 
Websphere Test 
Environment/hosts/Jetspeed_host/Jetspeed_application/doc_root/config/JetspeedResources.properties

# This is the default action to validate whether or not
# a session is valid. For example, if you want to make
# sure if a user has already logged in or not.
# Default: SessionValidator
action.sessionvalidator=JetspeedSessionValidator


###################################
#Jyve specific configurations     #
###################################

# Set the values below to be appropriate values for your environment:
[EMAIL PROTECTED]
jyve.confirm.email.name=Jetspeed Confirmation
jyve.confirm.email.subject=Jetspeed - New Account Confirmation
jyve.images.root=d:/apps/VisualAge for Java/ide/project_resources/IBM 
Websphere Test 
Environment/hosts/Jetspeed_host/Jetspeed_application/doc_root/content/images

# You can modify the following color values according your personal taste:
jyve.display.color.row.unreleased=FFFF00
jyve.display.color.table.background=CCCCCC
jyve.display.color.row.title=006666
jyve.display.color.row.unreleased.question=FF8800

jyve.topbar.color.cell.bg.title=006666
jyve.topbar.htmlcolor.cell.text.title=white
jyve.topbar.color.cell.bg.value=CCCCCC
jyve.topbar.htmlcolor.cell.text.value=black

# You can modify the following options according your personal taste:
# Those affect the appearance in the DisplayQuestionAnswer screen.
jyve.displayqa.showcreator=yes
jyve.displayqa.showlastmodifieddate=yes

jyve.mainmenu=Home
------------------snip-----snap-------------------------





Config: JetspeedResources.properties

------------------snip-----snap-------------------------
################################################################################
# Jetspeed Configuration
# Author: Kevin A. Burton ([EMAIL PROTECTED])
# $Id: JetspeedResources.properties,v 1.52 2000/08/02 07:45:51 burton Exp $
################################################################################
# This is the main file you will need to configuration Jetspeed.  If there are
# any secondary files they will be pointed to from this file.
#
# All items in this file are stored as <property>=<value> pairs.  In order to
# modify somethign just changes its value.
#
# Some properties are URL based.  They can except http/file/etc based 
URLs.  Note
# that if you don't specify the scheme but only specify it as 
"/my/new/path.html"
# Jetspeed will attempt to guess the URL.  Normally this would be something 
like
# "http://server.domain:port/my/new/path.html".  Note that some of the entries
# become public URLs and if you want your data more secure you might want to
# switch to "file://" based URLs.
#
#Conventions:
#
#    <property>.url       ->  This property is expected to be a URL or a URL
#                             without a scheme.  If it does not have a schema
#                             Jetspeed will try to determine the full URL.
#
#    <property>.file      ->  Points to an actual file on your local 
filesystem.
#
#    <property>.directory ->  Points to a directory on your local filesystem.
#
#    <property>.classname ->  A fully qualified Java classname:
#                               EX: org.apache.jetspeed.<MY_CLASSNAME>
#
#    <property>.interval  ->  A time interval in seconds
#
#
################################################################################

################################################################################
#  THE FOLLOWING ARE "REQUIRED" PROPERTIES IN ORDER TO USE 
JETSPEED            #
################################################################################

##########################################
# XML based Jetspeed configuration       #
##########################################
jetspeed.config=/config/jetspeed-config.jcfg

##########################################

##########################################
# Remote Object Storage System           #
##########################################
#Specify the directory that Jetspeed should
#cache XML documents to.

#for Win32 systems specify your directory 
as:  cache.directory=/d:/temp/JetspeedDocumentCache
#Default: /tmp/JetspeedDocumentCache
cache.directory=d:/apps/VisualAge for Java/ide/project_resources/IBM 
Websphere Test Environment/hosts/Jetspeed_host/Jetspeed_application/cache

#Specify whether Jetspeed should fetch items that aren't in the DiskCache in
#real time.  If true Jetspeed will throw a ContentNotAvailableException when it
#encounters a URL that isn't available within the Cache.  This can be used so
#that clients don't have to wait for URLs to download while using Jetspeed.
#After the URL is first encountered Jetspeed will create a thread to download
#this in the background
#Default: true
cache.require.cached=true

#########################################
# Cocoon config                         #
#########################################
#Jetspeed attempts to initialize it's own Cocoon Engine.
cocoon.properties.file=d:/apps/VisualAge for Java/ide/project_resources/IBM 
Websphere Test 
Environment/hosts/Jetspeed_host/Jetspeed_Application/doc_root/config/cocoon.properties

#NOTE:  You should also set "processor.xsp.repository" within cocoon.properties

#########################################
# Temporary Storage                     #
#########################################
# Sometimes Jetspeed wants to write out a file that may be necessary for 
further
# debuging.  It will log the location and then write to this directory.
# NOTE:  The System property java.io.tmpdir is defined under JDK 1.2 but not
# JDK 1.1.x

#Default: /tmp
temp.directory=d:/apps/VisualAge for Java/ide/project_resources/IBM 
Websphere Test Environment/hosts/Jetspeed_host/Jetspeed_Application/tmp

#########################################
# Admin Username and Password definition#
#########################################
# It is required that you set a username and
# password to access the Admin console.

#specify the username for the Jetspeed admin console.
#Default: jetspeed
admin.username=jetspeed

#specify the password for the Jetspeed admin console
#Default: changeme
admin.password=changeme

##########################################
# Public Remote Object Storage System    #
##########################################

#Specify where Jetspeed should cache remote documents but that should also 
be public.
#An example of this would be an image that was loaded through a XML page 
from a remote
#server but is stored in this cache so that it can be loaded quicker
#Jetspeed uses this to cache Images that it receives from XML documents.  The
#content is parsed out and the images are placed in public.cache.directory so
#that users don't have to contact the server via another socket but can use
#the one they currently have to your HTTP server.  This also works well if the
#original machine happens to be down when this request happens.

#the directory that you want your HTTPD to serve files from.  This should be
#the public URL for the above document.  Make sure your HTTP daemon has the
#correct permission to serve files from this directory.
#Default: /jetspeed-cache
public.cache.url=/jetspeed-cache

################################################################################
#  THE FOLLOWING ARE "OPTIONAL" PROPERTIES THAT ENABLE A CUSTOMIZED 
INSTALL    #
################################################################################


##########################################
# Portlet Configuration                  #
##########################################
#Defines the standard set of properties for Jetspeed

#specify the default portlet control that should be instantiated
#Default: org.apache.jetspeed.portal.DefaultPortletControl
portletcontrol.default.classname=org.apache.jetspeed.portal.controls.TitlePortletControl

#specify what default portlet controller should be instantiated
#Default: org.apache.jetspeed.portal.DefaultPortletController
portletcontroller.default.classname=org.apache.jetspeed.portal.controllers.DefaultPortletController

#if you run the default controls and controller that comes with Jetspeed...
#they take some params

#Default: 100%
defaultportletcontrol.width=100%

#Default: 3
defaultportletcontroller.numcolumns=3

#Default: 100%
defaultportletcontroller.width=100%

##########################################
# Jetspeed content publication           #
##########################################
#Jetspeed ships with some content that it needs to function.  This content must
#be available in order for Jetspeed to function correctly.  You should specify
#the content.root here.  This should be a portion of a URL that is prefixed 
to all
#requests.

# Example:  /content -> /content/xml/mydocument.xml
# Example:  http://myserver/mycontent -> 
http://myserver/mycontent/xml/mydocument.xml
# Default: /content
content.root.url=/content

##########################################
# Ability to have Jetspeed portlets      #
# posted to third party devices          #
# note this url expects "title" and "url"#
##########################################

thirdparty.portletrenderer.url = 
http://avantgo.com/mydevice/autoadd.html?max=300&depth=5&images=0&links=0&refresh=always&hours=2&dflags=127&hour=0&quarter=00&s=00
thirdparty.portletrenderer.caption = Add to Avantgo

#########################################
# XML PortletController configuration   #
#########################################
xmlportletcontroller.width=700
#xmlportletcontroller.stylesheet=d:/tmp/defaultstyle.xsl
xmlportletcontroller.stylesheet=/content/xml/defaultstyle.xsl


#########################################
# Document refresh settings             #
#########################################
#how many seconds to cache portlets by default.  Portlets that allows 
themselves
#to be refreshed will usually pay attention to this interval
#Default: 3600
refresh.portlet.default = 3600


#########################################
# Content Feeds                         #
#########################################
#specify where Jetspeed should get it's content feeds.
#this is setup like the following:

#contentfeeds.feed.name=<name>
#contentfeeds.feed.<name>.description=My Feed Description
#contentfeeds.feed.<name>.url=http://server/url

#the XMLTree content feed
contentfeeds.feed.name=xmltree
contentfeeds.feed.name=10am
contentfeeds.feed.name=moreover

#feed meta info
contentfeeds.feed.xmltree.description=XML Tree OCS Feed ( 
http://www.xmltree.com )
contentfeeds.feed.xmltree.url=http://www.xmltree.com/export/ocs.cfm

contentfeeds.feed.10am.description=10.am OCS Feed ( http://www.10.am )
contentfeeds.feed.10am.url=http://10.am/extra/ocsdirectory.xml

contentfeeds.feed.moreover.description=Moreover OCS Feed ( 
http://www.moreover.com )
contentfeeds.feed.moreover.url=http://w.moreover.com/categories/ocs/ocsdirectory.rdf

#The stylesheet used to transform OCS into PortletMarkup
contentfeeds.stylesheet.url=/content/xsl/ocs.xsl

#Jetspeed has the option to continually fetch all of its channels and keep them
#in cache.  The upside is that your clients will be able to see content
#right away.  The downside is that this results in more bandwidth used.  The
#default value is true.  Setting it to false will cause slower page rendering
#due to Jetspeed having to go out and fetch your content.
#Default: true
contentfeeds.fetchall=true

#the total number of portets to browse at once within Jetspeed

#in preview mode...
#Default: 15
contentfeeds.portletbrowser.preview.maxportlets=15

#in overview mode...
#Default: 15
contentfeeds.portletbrowser.overview.maxportlets=15

#########################################
# Admin Control Panel Items             #
#########################################

#deny access to these portlets from the PortletFactory to only people who
#are authenticated as a turbine admin.  It is important that before the
#PortletFactory returns instances that these are not allowed.
admin.portlet.name=GlobalAdminPortlet
admin.portlet.name=JetspeedPropertiesPortlet
admin.portlet.name=MemoryStorePortlet
admin.portlet.name=JavaRuntimePortlet
admin.portlet.name=DaemonAdminPortlet
admin.portlet.name=JetspeedContentAdmin
admin.portlet.name=BadURLManagerPortlet

#########################################
# Daemon Configuration                  #
#########################################

#provide a list of all daemon names
daemon.entry=feeddaemon
daemon.entry=diskcachedaemon
daemon.entry=badurlmanagerdaemon

daemon.feeddaemon.classname=org.apache.jetspeed.daemon.impl.FeedDaemon
daemon.feeddaemon.interval=3600
daemon.feeddaemon.onstartup=false

daemon.diskcachedaemon.classname=org.apache.jetspeed.daemon.impl.DiskCacheDaemon
daemon.diskcachedaemon.interval=3600
daemon.diskcachedaemon.onstartup=false

daemon.badurlmanagerdaemon.classname=org.apache.jetspeed.daemon.impl.BadURLManagerDaemon
daemon.badurlmanagerdaemon.interval=3600
daemon.badurlmanagerdaemon.onstartup=false


#########################################
# Jetspeed Content                      #
#########################################
#Jetspeed supports a more advanced weblog format that allows you to publish
#content to your website.  This is based on RSS 0.91 but allows you to have
#more Slashdot style content with topics, icons, etc.


#Jetspeed content providers.  This should be a multi-valued property set where
#you specify the list of providers you want to use:

#Default: jetspeed
content.provider.list=jetspeed

#Config:  You need to tell Jetspeed how to fetch the content you want and
#what stylesheet to use.  The mechanism is setup like this:
#
#content.provider.[provider-name].url=[url to your content xml file]
#content.provider.[provider-name].stylesheet.url=[url to the stylesheet to 
use with your content]
#content.provider.[provider-name].description=[a full description of your 
content]
#content.provider.[provider-name].title=[a title for your content.]

content.provider.jetspeed.url=/content/xml/jetspeed-content.xml
content.provider.jetspeed.stylesheet.url=/content/xsl/jpc-full.xsl
content.provider.jetspeed.title=Jetspeed
content.provider.jetspeed.description=Jetspeed weblog

#########################################
# PSML & Profiler Support               #
#########################################

# Profiler used for assigning the�PSML URL to use for each request
profiler.default.classname=org.apache.jetspeed.profiler.UserProfiler

# Optional configuration file for profiler
# This is currently not used by the implemented profilers
#profiler.configuration=/properties/profiler.conf

# Base URL for fetching user configuration files
# the config files should be in the form <base.url><username>.psml
# for use with the default profiler
psml.base.url=/content/psml/

# Username used for anonymous access (this should map to a <username>.psml 
file
# found in the psml.base.url directory)
psml.base.username=default

# File used the store a portlet registry (still experimental)
psml.registry.url=/content/psml/portletregistry.psml


#########################################
# Navigations.                          #
#########################################
#Use this to specify the set of navigations
#that Jetspeed should use on top of Turbine
navigations.top=JetspeedTopNavigation
navigations.bottom=JetspeedBottomNavigation

#########################################
# Navigation configuration              #
#########################################
#Use this section to define the navigation images
#and strings

#The logo image that goes at the top of Jetspeed
site.header.logo=/content/images/jetspeed-logo.gif

#The welcome message the user receives
site.header.welcome=Welcome to Jetspeed

#The logo that can go at the bottom of a navigation
site.footer.logo=/content/images/feather.gif

######################################
# Metadata Options                   #
######################################

# default string displayed when no title is found for a portlet
metadata.default.title=No title set

# default string displayed when no description is found for a portlet
metadata.default.description=No description found. Generic portlet

# default image displayed when no image is defined for a portlet
metadata.default.image=/content/image/portlets/default.gif

#########################################
# Automatic Portlet Creation            #
#########################################
# Jetspeed can automatically create/instantiate all your Portlets and place 
them
# in the cache when Jetspeed starts up.
autocreate.portlets=true

#########################################
# Thread Pool Options                   #
#########################################

#Specify the initial number of threads to create
#Default: 50
threadpool.init.count=30

#Specify the maximum number of threads to create
#Default: 100
threadpool.max.count=50

#Specify the minimum number of threads to keep as spare until you hit the max
#Default: 15
threadpool.minspare.count=10
------------------snip-----snap-------------------------





Config: jetspeed-config.jcfg

------------------snip-----snap-------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>

<jetspeed-config xmlns="http://xml.apache.org/jetspeed/2000/jetspeed-config">

     <!--
     Jetspeed Configuration
     Version: $Id: jetspeed-config.jcfg,v 1.10 2000/08/30 01:06:19 sgala Exp $
     Authors:  Kevin A. Burton ([EMAIL PROTECTED])
         See proposal: /docs/proposals/0003.txt
     -->

     <!-- 
=======================================================================
     BEGIN PortletRegistry section
     ======================================================================== 
-->


     <portlet-registry>

         <portlet-entry type="abstract" name="RSS">
             <classname>org.apache.jetspeed.portal.portlets.RSSPortlet</classname>
             <parameter name="itemDisplayed" value="10" type="int"/>
             <parameter name="stylesheet" value="/content/xsl/rss.xsl"/>
         </portlet-entry>

         <portlet-entry type="abstract" name="FileServer">
             
<classname>org.apache.jetspeed.portal.portlets.FileServerPortlet</classname>
         </portlet-entry>

         <portlet-entry type="abstract" name="Cocoon">
             <classname>org.apache.jetspeed.portal.portlets.CocoonPortlet</classname>
         </portlet-entry>

         <portlet-entry type="instance" name="JetspeedContent">
             <classname>org.apache.jetspeed.portal.portlets.JetspeedContent</classname>
             <parameter name="provider-name" value="jetspeed"/>
         </portlet-entry>

         <portlet-entry type="ref" parent="Cocoon" name="PortletBrowser" 
application="true">
             <url>/content/dynamic/portletbrowser/xsp/index.xml</url>
             <parameter name="stylesheet" 
value="/content/dynamic/portletbrowser/xsp/index.xsl"/>
             <meta-info>
                 <title>Channel Browser</title>
                 <description>Browse channels available within 
Jetspeed.</description>
             </meta-info>
         </portlet-entry>

         <portlet-entry type="ref" parent="Cocoon" name="PortletSearch" 
application="true">
             <url>/content/dynamic/portletbrowser/xsp/search.xml</url>
             <parameter name="stylesheet" 
value="/content/dynamic/portletbrowser/xsp/search.xsl"/>
             <meta-info>
                 <title>Channel Search</title>
                 <description>Search channels available within 
Jetspeed.</description>
             </meta-info>
         </portlet-entry>

         <portlet-entry type="ref" parent="Cocoon" name="Customizer" 
application="true">
             <url>/content/dynamic/customizer/xsp/ui.xml</url>
             <parameter name="stylesheet" 
value="/content/dynamic/customizer/xsl/ui-generic.xsl"/>
<!-- fixed: "/xsp/" to "/xsl" -->
             <meta-info>
                 <title>Customize your page layout</title>
                 <description>Customize your own home page.</description>
             </meta-info>
         </portlet-entry>


         <portlet-entry type="ref" parent="Cocoon" name="XSPApplication" 
application="true">
             <url>/content/dynamic/xsp/index.xml</url>
             <parameter name="stylesheet" 
value="/content/dynamic/xsp/index.xsl"/>
             <meta-info>
                 <title>Sample XSP Application</title>
                 <description>Sample XSP Application.</description>
             </meta-info>
         </portlet-entry>

         <portlet-entry type="instance" name="Applications">
             
<classname>org.apache.jetspeed.portal.portlets.ApplicationsPortlet</classname>
         </portlet-entry>

         <portlet-entry type="instance" name="PortletInfoPortlet" 
hidden="true">
             
<classname>org.apache.jetspeed.portal.portlets.PortletInfoPortlet</classname>
         </portlet-entry>

         <!--
             BEGIN test Portlet infrastructure.  DO NOT REMOVE FROM CVS.  You
             can remove this from a non-development Jetspeed installation if
             necessary

             The following details what is neccessary to test:

             WARNING: Do not modify the information in the TEST_ABSTRACT 
portlet
             as it will cause the PortletEntryNormalizationTest to fail.

         -->

         <portlet-entry type="abstract" name="TEST_ABSTRACT" hidden="true">
             <classname>test.Test</classname>
             <url>/test/test.xml</url>
             <parameter name="stylesheet" value="/test/test.xsl"/>
             <meta-info>
                 <title>Test title</title>
                 <description>Test description</description>
             </meta-info>
         </portlet-entry>

         <!-- since the above portlet-entry is the parent of this ref all the
         above data should become normalized within the engine into this
         entry (TYPE_REF) -->
         <portlet-entry type="ref" parent="TEST_ABSTRACT" name="TEST_REF" 
hidden="true"/>

         <!--  END test Portlet infrastructure -->

         <!-- BEGIN ADMIN PORTLETS -->

         <portlet-entry type="instance" name="GlobalAdminPortlet" admin="true">
             
<classname>org.apache.jetspeed.portal.portlets.admin.GlobalAdminPortlet</classname>
         </portlet-entry>

         <portlet-entry type="instance" name="SelectPortlet" admin="true">
             
<classname>org.apache.jetspeed.portal.portlets.admin.SelectPortlet</classname>
         </portlet-entry>

         <portlet-entry type="instance" name="JetspeedPropertiesPortlet" 
admin="true">
             
<classname>org.apache.jetspeed.portal.portlets.admin.JetspeedPropertiesPortlet</classname>
         </portlet-entry>

         <portlet-entry type="instance" name="MemoryStorePortlet" admin="true">
             
<classname>org.apache.jetspeed.portal.portlets.admin.MemoryStorePortlet</classname>
         </portlet-entry>

         <portlet-entry type="instance" name="JavaRuntimePortlet" admin="true">

             
<classname>org.apache.jetspeed.portal.portlets.admin.JavaRuntimePortlet</classname>

         </portlet-entry>

         <portlet-entry type="instance" name="DaemonAdminPortlet" admin="true">

             
<classname>org.apache.jetspeed.portal.portlets.admin.DaemonAdminPortlet</classname>

         </portlet-entry>

         <portlet-entry type="instance" name="JetspeedContentAdmin" 
admin="true">

             
<classname>org.apache.jetspeed.portal.portlets.admin.JetspeedContentAdmin</classname>

         </portlet-entry>

         <portlet-entry type="instance" name="BadURLManagerPortlet" 
admin="true">

             
<classname>org.apache.jetspeed.portal.portlets.admin.BadURLManagerPortlet</classname>

         </portlet-entry>


         <!-- END ADMIN PORTLETS -->

         <portlet-entry type="ref" parent="FileServer" name="Search">

             <url>/content/static/search.html</url>
             <meta-info>
                  <title>Search</title>
                  <description>Search the Internet</description>
             </meta-info>

         </portlet-entry>

<!--Slashdot-->
         <portlet-entry type="ref" parent="RSS" name="Slashdot">
             <url>http://www.slashdot.org/slashdot.rdf</url>
             <metainfo>
                 <title>Slashdot</title>
             </metainfo>
             <capability-map>
                 <mime-type>text/html</mime-type>
                 <mime-type>text/vnd.wap.wml</mime-type>
             </capability-map>

         </portlet-entry>

         <portlet-entry type="ref" parent="RSS" name="XMLHack">

             <url>http://www.xmlhack.com/rss.php</url>
             <meta-info>
                 <title>XMLHack</title>
             </meta-info>

         </portlet-entry>

         <portlet-entry type="ref" parent="RSS" name="XMLHack-WML">

             <url>http://www.xmlhack.com/rss.php</url>
             <meta-info>
                  <title>XMLHack</title>
             </meta-info>

             <parameter name="itemDisplayed" value="10" type="int"/>
             <parameter name="stylesheet" value="/content/xsl/rss-wml.xsl"/>

             <capability-map>
                 <mime-type>text/vnd.wap.wml</mime-type>
             </capability-map>

         </portlet-entry>

         <portlet-entry type="ref" parent="RSS" name="Apacheweek">

             <url>http://www.apacheweek.com/issues/apacheweek-headlines.xml</url>
             <meta-info>
                 <title>Apacheweek</title>
             </meta-info>

         </portlet-entry>

         <portlet-entry type="ref" parent="RSS" name="Apacheweek-WML">

             <url>http://www.apacheweek.com/issues/apacheweek-headlines.xml</url>
             <meta-info>
                 <title>Apacheweek</title>
             </meta-info>

             <parameter name="itemDisplayed" value="10" type="int"/>
             <parameter name="stylesheet" value="/content/xsl/rss-wml.xsl"/>

             <capability-map>
                 <mime-type>text/vnd.wap.wml</mime-type>
             </capability-map>

         </portlet-entry>


         <portlet-entry type="ref" parent="RSS" name="Mozilla">

             <parameter name="itemDisplayed" value="10" type="int"/>
             <url>http://www.mozilla.org/news.rdf</url>
             <meta-info>
                 <title>Mozilla</title>
             </meta-info>

         </portlet-entry>

         <portlet-entry type="ref" parent="RSS" name="Mozilla-WML">

             <url>http://www.mozilla.org/news.rdf</url>

             <meta-info>
                 <title>Mozilla</title>
             </meta-info>

             <parameter name="itemDisplayed" value="10" type="int"/>
             <parameter name="stylesheet" value="/content/xsl/rss-wml.xsl"/>

             <capability-map>
                 <mime-type>text/vnd.wap.wml</mime-type>
             </capability-map>

         </portlet-entry>

         <portlet-entry type="ref" parent="RSS" name="Jetspeed">

             <url>/content/xml/rss/Jetspeed.rss</url>

         </portlet-entry>

         <portlet-entry type="ref" parent="FileServer" name="login" 
hidden="true">

             <url>/content/static/login.html</url>
             <meta-info>
                  <title>Login</title>
             </meta-info>

         </portlet-entry>


<!--org\apache\jetspeed\portal\portlets\admin\JetspeedContentAdmin:-->
         <portlet-entry type="instance" name="JetspeedContentAdmin">
             
<classname>org.apache.jetspeed.portal.portlets.admin.JetspeedContentAdmin</classname>

          </portlet-entry>
     </portlet-registry>


     <portlet-entry type="ref" parent="FileServer" name="snoop">
          <url>/servlet/snoop</url>
          <meta-info>
               <title>Snoop Servlet</title>
         </meta-info>
     </portlet-entry>

     <!-- 
=======================================================================
     END PortletRegistry section
     ======================================================================== 
-->


     <!-- 
=======================================================================
     BEGIN PortletControlRegistry section
     ======================================================================== 
-->

     <portlet-control-registry>

        <portlet-control-entry name="BorderPortletControl">
            
<classname>org.apache.jetspeed.portal.controls.BorderPortletControl</classname>
            <meta-info>
                <title>BorderPortletControl</title>
            </meta-info>
            <media-type ref="html"/>
        </portlet-control-entry>

        <portlet-control-entry name="ClearPortletControl">
            
<classname>org.apache.jetspeed.portal.controls.ClearPortletControl</classname>
            <meta-info>
                <title>ClearPortletControl</title>
            </meta-info>
            <media-type ref="html"/>
        </portlet-control-entry>

        <portlet-control-entry name="TitlePortletControl">
            
<classname>org.apache.jetspeed.portal.controls.TitlePortletControl</classname>
            <meta-info>
                <title>TitlePortletControl</title>
            </meta-info>
            <media-type ref="html"/>
        </portlet-control-entry>

        <portlet-control-entry name="PanedPortletControl">
            
<classname>org.apache.jetspeed.portal.controls.PanedPortletControl</classname>
            <meta-info>
                <title>PanedPortletControl</title>
            </meta-info>
            <media-type ref="html"/>
        </portlet-control-entry>

     </portlet-control-registry>

     <!-- 
=======================================================================
     END PortletControlRegistry section
     ======================================================================== 
-->

     <portlet-controller-registry>

         <portlet-controller-entry name="CardPortletController">
             
<classname>org.apache.jetspeed.portal.controllers.CardPortletController</classname>
             <media-type ref="html"/>
         </portlet-controller-entry>

         <portlet-controller-entry name="DefaultPortletController">
             
<classname>org.apache.jetspeed.portal.controllers.DefaultPortletController</classname>
             <media-type ref="html"/>
         </portlet-controller-entry>

         <portlet-controller-entry name="FlowPortletController">
             
<classname>org.apache.jetspeed.portal.controllers.FlowPortletController</classname>
             <media-type ref="html"/>
         </portlet-controller-entry>

         <portlet-controller-entry name="GridPortletController">
             
<classname>org.apache.jetspeed.portal.controllers.GridPortletController</classname>
             <media-type ref="html"/>
         </portlet-controller-entry>

         <portlet-controller-entry name="RowColumnPortletController">
             
<classname>org.apache.jetspeed.portal.controllers.RowColumnPortletController</classname>
             <media-type ref="html"/>
         </portlet-controller-entry>

         <portlet-controller-entry name="WAPPortletController">
             
<classname>org.apache.jetspeed.portal.controllers.WAPPortletController</classname>
             <media-type ref="wml"/>
         </portlet-controller-entry>


     </portlet-controller-registry>

     <!-- 
=======================================================================
     BEGIN MediaTypeRegistry section
     ======================================================================== 
-->

     <media-type-registry>

         <media-type-entry name="html">
             <capability-map ref="html"/>
             <meta-info>
                  <title>HTML</title>
             </meta-info>
         </media-type-entry>

         <media-type-entry name="wml">
             <capability-map ref="wml"/>
             <meta-info>
                  <title>WML</title>
             </meta-info>
         </media-type-entry>

     </media-type-registry>

     <!-- 
=======================================================================
     END MediaTypeRegistry section
     ======================================================================== 
-->

     <!-- 
=======================================================================
     BEGIN ProfileRegistry section
     ======================================================================== 
-->

     <profile-registry>

         <profile-entry name="html-default" default="true">

             <url>/content/profiles/default/html/default.psml</url>
             <media-type>html</media-type>

             <meta-info>
                  <title>Default HTML profile</title>
             </meta-info>

         </profile-entry>

     </profile-registry>

     <!-- 
=======================================================================
     END ProfileRegistry section
     ======================================================================== 
-->


     <!-- 
=======================================================================
     BEGIN CapabilityMapRegistry section
     ======================================================================== 
-->

     <capability-map-registry>

         <capability-map-entry name="html">
             <mime-type>text/html</mime-type>

             <meta-info>
                  <title>HTML</title>
             </meta-info>

         </capability-map-entry>

         <capability-map-entry name="wml">
             <mime-type>text/vnd.wap.wml</mime-type>

             <meta-info>
                  <title>WML</title>
             </meta-info>

         </capability-map-entry>

     </capability-map-registry>

     <!-- 
=======================================================================
     END CapabilityMapRegistry section
     ======================================================================== 
-->


</jetspeed-config>
------------------snip-----snap-------------------------






Config: Cocon.properties

------------------snip-----snap-------------------------
##############################################################################

#                          Cocoon Configuration file                         #

##############################################################################



##########################################

# Global Configurations                  #

##########################################



# Indicates whether or not Cocoon should be visible if

# the requested URI equals the specified one.

selfservlet.enabled = true

selfservlet.uri = /Cocoon.xml



# Indicates whether or not Cocoon should handle errors internally

# and format the error and the exception stack trace to the client

# or return the HTTP error code to the web server and let it handle it.

handle.errors.internally = true



# Indicates the log severity level

#log.level = emergency

#log.level = critical

log.level = error

#log.level = warning

#log.level = info

#log.level = debug







##########################################

# XML Parsers                            #

##########################################



# Apache Xerces 1.0.1+ (http://xml.apache.com/)

parser = org.apache.cocoon.parser.XercesParser



# SUN ProjectX TR2 (http://java.sun.com/xml/)

#parser = org.apache.cocoon.parser.SunXMLParser



# Indicate whether the XML file should be validated or not

# this is turned off by default for faster operation.

parser.validate = false





##########################################

# XSLT Transformers                      #

##########################################



# Apache Xalan (http://xml.apache.org/)

transformer = org.apache.cocoon.transformer.XalanTransformer



# James Clark's XT (http://www.jclark.com/)

#transformer = org.apache.cocoon.transformer.XTTransformer







##########################################

# XML Producers                          #

##########################################



# For example, if you want to produce your XML template reading it from

# the file system, using your producer, you should request the URI:

#   http://your.site.com/your_XML_file.xml?producer=file



# This is the request parameter used to identify the producer in the request:

# (default value is "producer")

producer.parameter = producer



# The syntax for this is

#   producer.type.xxx = full.class.name

# where "xxx" is the producer indentier used in the request

producer.type.file = org.apache.cocoon.producer.ProducerFromFile

producer.type.request = org.apache.cocoon.producer.ProducerFromRequest



# This is used in the example files

producer.type.dummy = org.apache.cocoon.example.DummyProducer



# When producer indication is present in the request

# this configuration allows to map those requests to a particular

# producer indicated here with its type.

# NOTE: this type must present in the above map.

producer.default = file











##########################################

# XML Processors                         #

##########################################



# These are used when the <?cocoon-process type="xxx"?> PI is present.

# If no PI of that type is present, no processing is performed.

# The syntax for this is

#   processor.type.xxx = full.class.name



# XSL Transformations (XSLT)

processor.type.xslt = org.apache.cocoon.processor.xslt.XSLTProcessor



# SQL Processor

processor.type.sql = org.apache.cocoon.processor.sql.SQLProcessor



# LDAP Processor

# NOTE: you need to have the SUN JDNI API (jndi.jar) in your classpath

# in order for this processor to work. Check the FAQ for more information.

#processor.type.ldap = org.apache.cocoon.processor.ldap.LdapProcessor



##########################################

# XSP Processor                          #

##########################################



# eXtensible Server Pages Processor (XSP)

processor.type.xsp = org.apache.cocoon.processor.xsp.XSPProcessor



# supported languages

processor.xsp.languages = java



# support for the java language

processor.xsp.java.processor = 
org.apache.cocoon.processor.xsp.language.java.XSPJavaProcessor

processor.xsp.java.logicsheet = xsp-java.xsl

processor.xsp.java.preprocessor = 
org.apache.cocoon.processor.xsp.language.java.XSPJavaPreprocessor



# sets the repository where the compiled pages are stored.

# NOTE: make sure the directory is readable. This directory is usually

# relative to the web server's or to the servlet engine's. In case you're not

# sure, use an absolute location.

# WARNING: since this repository may contain information you want to remain

# secret, we highly suggest that you protect the repository from untrusted

# access, even read-only. Only Cocoon and the system administrators should

# have access here.

# processor.xsp.repository = ./repository (ingo)

processor.xsp.repository = d:/apps/VisualAge for 
Java/ide/project_resources/IBM Websphere Test 
Environment/hosts/Jetspeed_host/Jetspeed_application/xsp.repository



# Set the libraries associated with the given namespace.

# Use the syntax:

#   processor.xsp.logicsheet.<namespace-tag>.<language> = URL to file

# where "URL to file" is usually starting with file:// if you locate

# your custom library in your file system.

processor.xsp.logicsheet.context.java  = 
resource://org/apache/cocoon/processor/xsp/library/java/context.xsl

processor.xsp.logicsheet.cookie.java   = 
resource://org/apache/cocoon/processor/xsp/library/java/cookie.xsl

processor.xsp.logicsheet.global.java   = 
resource://org/apache/cocoon/processor/xsp/library/java/global.xsl

processor.xsp.logicsheet.request.java  = 
resource://org/apache/cocoon/processor/xsp/library/java/request.xsl

processor.xsp.logicsheet.response.java = 
resource://org/apache/cocoon/processor/xsp/library/java/response.xsl

processor.xsp.logicsheet.session.java  = 
resource://org/apache/cocoon/processor/xsp/library/java/session.xsl

processor.xsp.logicsheet.util.java     = 
resource://org/apache/cocoon/processor/xsp/library/java/util.xsl

processor.xsp.logicsheet.sql.java      = 
resource://org/apache/cocoon/processor/xsp/library/java/sql.xsl





#### !!!!WARNING!!!! ###########

# The DCP processor should be considered -deprecated- and we highly suggest

# you to convert all of your DCP stuff into XSP pages that, in the future,

# will totally replace DCP.

#

# Dynamic Content Processor (DCP)

processor.type.dcp = org.apache.cocoon.processor.dcp.DCPProcessor

#

################################





##########################################

# XML Formatters                         #

##########################################



# This is used when no <?cocoon?> PI is present to indicate

# which MIME type to associate to the document.

# NOTE: this type must present in the map below.

formatter.default = text/html



# These are used when the <?cocoon-format type="xxx/yyy"?> PI is present

# The syntax for this is

#   formatter.type.xxx/yyy = full.class.name



# Full configurable formatters

###############################



formatter.type.text/html        = org.apache.cocoon.formatter.HTMLFormatter

formatter.type.text/html/loose  = org.apache.cocoon.formatter.HTMLFormatter

formatter.type.text/xhtml       = org.apache.cocoon.formatter.XHTMLFormatter

formatter.type.text/xhtml/loose = org.apache.cocoon.formatter.XHTMLFormatter

formatter.type.text/xml         = org.apache.cocoon.formatter.XMLFormatter

formatter.type.text/wml         = org.apache.cocoon.formatter.XMLFormatter

formatter.type.text/plain       = org.apache.cocoon.formatter.TextFormatter

formatter.type.model/vrml       = org.apache.cocoon.formatter.TextFormatter

#formatter.type.text/xslfo       = org.apache.cocoon.formatter.FO2PDFFormatter

formatter.type.application/smil = org.apache.cocoon.formatter.XMLFormatter



# You can modify the formatter's behavior by adding the following 
configurations

# for each formatter you want to specifize. Note that even if two formatters

# share the same class, they are will be seen as different entities, accessed

# only by their types.

#

#   formatter.[type].MIME-type      = [formatter MIME type]

#   formatter.[type].encoding       = [encoding type]

#   formatter.[type].doctype-public = [public identifier]

#   formatter.[type].doctype-system = [system identifier]

#   formatter.[type].preserve-space = [whether to preserve space or not]

#   formatter.[type].line-width     = [page width, wrapping column]

#   formatter.[type].indent         = [numbers of spaces for tag indenting]



# HTML 4.0 (strict)

formatter.text/html.doctype-public = -//W3C//DTD HTML 4.0//EN

formatter.text/html.doctype-system = http://www.w3.org/TR/REC-html40/strict.dtd



# XHTML 1.0 (strict)

formatter.text/xhtml.doctype-public = -//W3C//DTD XHTML 1.0 Strict//EN

formatter.text/xhtml.doctype-system = xhtml1-strict.dtd



# WML 1.1

formatter.text/wml.doctype-public = -//WAPFORUM//DTD WML 1.1//EN

formatter.text/wml.doctype-system = http://www.wapforum.org/DTD/wml_1.1.xml

formatter.text/wml.MIME-type = text/vnd.wap.wml



# VRML 97

formatter.model/vrml.MIME-type = model/vrml



# PDF

formatter.text/xslfo.MIME-type = application/pdf



# HTML 4.0 (transitional)

formatter.text/html/loose.doctype-public = -//W3C//DTD HTML 4.0 
Transitional//EN

formatter.text/html/loose.doctype-system = 
http://www.w3.org/TR/REC-html40/loose.dtd

formatter.text/html/loose.preserve-space = true

formatter.text/html/loose.encoding = UTF-8

formatter.text/html/loose.indent = 1

formatter.text/html/loose.line-width = 120

formatter.text/html/loose.MIME-type = text/html



# XHTML 1.0 (transitional)

formatter.text/xhtml/loose.doctype-public = -//W3C//DTD XHTML 1.0 
Transitional//EN

formatter.text/xhtml/loose.doctype-system = xhtml1-transitional.dtd



# SMIL

formatter.application/smil.doctype-public = -//W3C//DTD SMIL 1.0//EN

formatter.application/smil.doctype-system = 
http://www.w3.org/TR/REC-smil/SMIL10.dtd

formatter.application/smil.MIME-type = application/smil









##########################################

# Cache Managers                         #

##########################################



# the default cache

cache = org.apache.cocoon.cache.CocoonCache



# disable page caching

#cache = org.apache.cocoon.cache.NoCache









##########################################

# Object Storage Systems                 #

##########################################



# the default object storage

store = org.apache.cocoon.store.MemoryStore



# Indicates how much free memory should always be available to the JVM. (in 
bytes)

store.freememory = 1000000



# Indicates what is the maximum heap size that your JVM can reach (in byte).

# This is normally set using the -mx or -Xmx command line argument.

store.heapsize = 60000000



# Indicates the sleeping time for the background thread (in seconds)

#store.interval = 200



# Indicates the thread priority (1-10: 10 is maximum, 1 is minimum)

#store.threadpriority = 10



# Uncomment this to disable the background thread that manages the cache

# overflow and leave this at request time.

#store.usethread = false







##########################################

# Language Interpreters                  #

##########################################



# These are used by the DCP Processor

interpreter.type.java = org.apache.cocoon.interpreter.java.JavaInterpreter

#interpreter.type.ecmascript = 
org.apache.cocoon.interpreter.ecmascript.EcmaScriptInterpreter

#interpreter.type.javascript = 
org.apache.cocoon.interpreter.ecmascript.EcmaScriptInterpreter



# Indicates the default language if not specified in the DCP PIs

interpreter.default = java



# NOTE: see the DCP user guide for instructions on using ecmascript and the

# packages required for this operation.





##########################################

# User Agents (Browsers)                 #

##########################################



# NOTE: numbers indicate the search order. This is very important since

# some words may be found in more than one browser description. (MSIE is

# presented as "Mozilla/4.0 (Compatible; MSIE 4.01; ...")

#

# for example, the "explorer=MSIE" tag indicates that the XSL stylesheet

# associated to the media type "explorer" should be mapped to those browsers

# that have the string "MSIE" in their "user-Agent" HTTP header.



browser.0 = explorer=MSIE

browser.1 = pocketexplorer=MSPIE

browser.2 = handweb=HandHTTP

browser.3 = avantgo=AvantGo

browser.4 = imode=DoCoMo

browser.5 = opera=Opera

browser.6 = lynx=Lynx

browser.7 = java=Java

browser.8 = wap=Nokia

browser.9 = wap=UP

browser.10 = wap=Wapalizer

browser.11 = mozilla5=Mozilla/5

browser.12 = mozilla5=Netscape6/

browser.13 = netscape=Mozilla
------------------snip-----snap-------------------------





Config: Webmacro.properties

------------------snip-----snap-------------------------
# NOTE FOR NT USERS
#
# Beware that the \ character is the escape character in a Java
# properties file. You must either double it (\\) or use the Unix
# style (/) file separator in this file. Both should work. Also
# when you set TemplatePath, be sure and use the NT path
# separator (;) rather than the Unix separator (:).




###########################################################
#
# BASIC CONFIGURATION:
#

# You should set TemplatePath, at the very least! It is a list of
# directories which will be searched for your templates, if you
# give a relative filename. It is a list of directories separated
# by a : (on Unix) or a ; (on NT).

# Template path is handled by Turbine
# see services.TurbineWebMacroService.templates entry in 
/WEB-INF/Turbine.properties
# TemplatePath = /home/webmacro


# WebMacro compiles and caches templates for efficiency. During development
# you will want to turn this off by setting the following value to 0, so
# that your template changes are immediately reflected on the website. In
# production systems, this it the number of milliseconds of idle time
# that a cached template will be retained, ie: 600000 is ten minutes.

TemplateExpireTime = 0
# TemplateExpireTime == 600000


# LogLevel can be: ALL, DEBUG, EXCEPTION, ERROR, WARNING, INFO, or NONE
# in order of most information to least information displayed.

LogLevel = EXCEPTION


# LogTraceExceptions causes exception stack traces to be included in the log,
# this causes exceptions to be verbose, but may point out the exact line
# or method which is causing a fault.

LogTraceExceptions = TRUE


# Uncomment the following to log to a file rather than stderr. If your
# standard error writes to a useful log already, you don't need this,
# but many servlet runners simply eat standard error.

LogFile = d:/apps/VisualAge for Java/ide/project_resources/IBM Websphere 
Test Environment/hosts/jetspeed_host/logs/webmacro.log

# Set the template (relative to TemplateDirectory) used for errors. You
# can edit this template to customize the way script failures appear

ErrorTemplate = error.wm



###########################################################
#
# ADVANCED CONFIGURATION
#

# Don't change these values unless you know what you're doing. They
# allow you to fine-tune, extend, and customize WebMacro's behavior.


# Allow C-Style blocks in WebMacro templates. This means that you can
# use { and } to delimit blocks in the template, instead of #begin and
# #end. This is important if you have a set of legacy 0.89 or earlier
# WebMacro templates and you need them to be supported. Otherwise, leave
# it off since the { and } characters interfere with JavaScript.

C-Blocks = true


# ResourceProviders are pluggable modules that are used to load
# important data and code. You can create your own ResourceProviders
# to add new modules to WebMacro, or replace existing modules.
# They are all implementations of org.webmacro.broker.ResourceProvider

# template provider is handled by Turbine
# see service.TurbineWebMacroService.templates.provider entry in 
Turbine.properties

Providers = org.webmacro.resource.HandlerProvider \
             org.webmacro.resource.UrlProvider \
             org.webmacro.engine.DirectiveProvider \
             org.webmacro.engine.ParserProvider

# The DirectiveProvider uses this list to serve up directives to
# parsers. You can control what script directives WebMacro uses
# by changing this list--you could even add your own. They are
# all implementations of org.webmacro.engine.Directive

Directives = org.webmacro.engine.IncludeDirective \
              org.webmacro.engine.ParseDirective \
              org.webmacro.engine.SetDirective \
              org.webmacro.engine.IfDirective \
              org.webmacro.engine.ElseDirective \
              org.webmacro.engine.UseDirective \
              org.webmacro.engine.ParamDirective \
              org.webmacro.engine.FilterDirective \
              org.webmacro.engine.ForeachDirective \
              org.webmacro.engine.LocalDirective \
              org.webmacro.engine.PropertyDirective \
              org.webmacro.engine.ToolDirective

# The following are tools which are added to your WebContext. You can
# customize your WebContext with special tools of your own by adding
# them to this list of classes. The only requirement is that the class
# be public, and have a public default constructor. The instance will
# be shared betwen all instantiations of WebContext, so beware of
# thread issues. If it implements the Macro interface it can gain
# access to a copy of the Webcontext at runtime. The object will
# appear in your WebContext as a variable named after its class,
# minus the word "Tool" if it appears. So CGITool below becomes
# the variable $CGI in your Template.
#
# The CGITool adds a $CGI variable with subproperties named after
# the familiar CGI variable names, such as $CGI.QUERY_STRING, etc.
#
# The FormTool adds a $Form variable to your context, with subproperties
# named after the available Form fieldnames. eg: $Form.Name would
# return the value of HttpServletRequest.getParameterValues("Name")[0]
# The FormList tool is similar, but returns the Form value as an array
# rather than as a single entry (and is $FormList in the template).
#
# CookieTool creates a $Cookie variable which can be used to get and
# set cookies by name. For example, $Cookie.Passowrd
#
# SessionTool creates a $Session variable that resovles to the
# HttpSession of the current request.

ContextTools = org.webmacro.servlet.CGITool \
                org.webmacro.servlet.FormTool \
                org.webmacro.servlet.FormListTool \
                org.webmacro.servlet.CookieTool \
                org.webmacro.servlet.ResponseTool \
                org.webmacro.servlet.RequestTool \
                org.webmacro.servlet.SessionTool

# The following are the parsers available to WebMacro. The parser
# which answers to "wm" will be used for most things, but you can
# invoke a different parser by way of the #use directive, if it has
# been included. These parsers all impoement org.webmacro.engine.Parser

Parsers = org.webmacro.engine.WMParser \
           org.webmacro.engine.NullParser \
           org.webmacro.engine.TextParser
------------------snip-----snap-------------------------



--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/main/mail.html>
Problems?:           [EMAIL PROTECTED]

Reply via email to