You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2006/03/23 04:36:19 UTC
svn commit: r388014 [1/4] - in /incubator/roller/trunk/docs: ./
installguide/ installguide/generated/ userguide/ userguide/generated/
userguide/generated/html/
Author: snoopdave
Date: Wed Mar 22 19:36:14 2006
New Revision: 388014
URL: http://svn.apache.org/viewcvs?rev=388014&view=rev
Log:
Renaming docs to be version number free
Added:
incubator/roller/trunk/docs/installguide/generated/roller-install-guide.html
incubator/roller/trunk/docs/installguide/generated/roller-install-guide.pdf (with props)
incubator/roller/trunk/docs/installguide/generated/roller-install-guide.txt
incubator/roller/trunk/docs/installguide/roller-install-guide.odt (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide.html
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_18eef266.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_276ad74f.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_33edbb94.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_3bfac83.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_3fb97cd5.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_406a562a.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_4879cc9c.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_5393469f.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_58eca8b7.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_5c796a10.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_5ce1ba58.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_5e921c9f.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_62ac32cd.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_65a662dd.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_6aedbe24.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_6e5d8126.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_796ebdaa.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_f21d9b9.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m1965909a.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m31cb7c1f.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m37111dbc.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m3a18f583.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m3c68c547.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m49cf2d5.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m4b577c06.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m4d036c80.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m4fe3f61b.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m5327a1d1.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m54dbe4ad.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m5eead6e8.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m5f34e5af.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m600d3053.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m6046b9c9.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m641d153f.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m66b60ed6.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m6732908.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_m71a6a7f9.png (with props)
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide_html_mf310db2.png (with props)
incubator/roller/trunk/docs/userguide/roller-user-guide.odt (with props)
Removed:
incubator/roller/trunk/docs/installguide/generated/roller-install-guide-210.html
incubator/roller/trunk/docs/installguide/generated/roller-install-guide-210.pdf
incubator/roller/trunk/docs/installguide/generated/roller-install-guide-210.txt
incubator/roller/trunk/docs/installguide/roller-install-guide-210.odt
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210.html
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_18eef266.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_276ad74f.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_33edbb94.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_3bfac83.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_3fb97cd5.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_406a562a.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_4879cc9c.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_5393469f.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_58eca8b7.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_5c796a10.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_5ce1ba58.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_5e921c9f.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_62ac32cd.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_65a662dd.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_6aedbe24.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_6e5d8126.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_796ebdaa.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_f21d9b9.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m1965909a.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m31cb7c1f.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m37111dbc.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m3a18f583.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m3c68c547.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m49cf2d5.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m4b577c06.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m4d036c80.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m4fe3f61b.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m5327a1d1.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m54dbe4ad.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m5eead6e8.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m5f34e5af.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m600d3053.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m6046b9c9.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m641d153f.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m66b60ed6.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m6732908.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_m71a6a7f9.png
incubator/roller/trunk/docs/userguide/generated/html/roller-user-guide-210_html_mf310db2.png
incubator/roller/trunk/docs/userguide/generated/roller-user-guide-210.pdf
incubator/roller/trunk/docs/userguide/roller-user-guide-210.odt
Modified:
incubator/roller/trunk/docs/README.txt
Modified: incubator/roller/trunk/docs/README.txt
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/docs/README.txt?rev=388014&r1=388013&r2=388014&view=diff
==============================================================================
--- incubator/roller/trunk/docs/README.txt (original)
+++ incubator/roller/trunk/docs/README.txt Wed Mar 22 19:36:14 2006
@@ -1,20 +1,10 @@
-Roller documentation is currently maintained on the Roller Wiki
-http://rollerweblogger.org/wiki
-
- Roller Installation Guide:
- http://rollerweblogger.org/wiki/Wiki.jsp?page=InstallationGuide
-
- Roller User Guide:
- http://rollerweblogger.org/wiki/Wiki.jsp?page=UserGuide
-
-
In this directory you'll find:
+ userguide/ - User guide in Open Office 2.0 ODT and PDF formats
+ installguide/ - User guide in Open Office 2.0 ODT and PDF formats
examples/ - example configuration and script files
- installguide/ - Old installation guides
testing/ - Test plans (under development)
- userguide/ - User guide in Open Office 1.1 and PDF formats
Added: incubator/roller/trunk/docs/installguide/generated/roller-install-guide.html
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/docs/installguide/generated/roller-install-guide.html?rev=388014&view=auto
==============================================================================
--- incubator/roller/trunk/docs/installguide/generated/roller-install-guide.html (added)
+++ incubator/roller/trunk/docs/installguide/generated/roller-install-guide.html Wed Mar 22 19:36:14 2006
@@ -0,0 +1,1399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE></TITLE>
+ <META NAME="GENERATOR" CONTENT="StarOffice 8 (Solaris x86)">
+ <META NAME="AUTHOR" CONTENT="Dave Johnson">
+ <META NAME="CREATED" CONTENT="20060123;11164600">
+ <META NAME="CHANGEDBY" CONTENT="Dave Johnson">
+ <META NAME="CHANGED" CONTENT="20060201;11261500">
+ <STYLE>
+ <!--
+ @page { size: 8.5in 11in; margin: 0.79in }
+ P { margin-bottom: 0.08in }
+ -->
+ </STYLE>
+</HEAD>
+<BODY LANG="en-US" DIR="LTR">
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=7 STYLE="font-size: 40pt"><B>Installation
+Guide</B></FONT></P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><FONT SIZE=7 STYLE="font-size: 32pt"><B>Apache
+Roller</B></FONT></P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><A NAME="DDE_LINK1"></A><FONT SIZE=5 STYLE="font-size: 20pt"><B>Version
+2.1-incubating</B></FONT></P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER STYLE="margin-bottom: 0in"><BR>
+</P>
+<P ALIGN=CENTER><FONT SIZE=2><I>Original text is copyright ©
+2002-2004 David M Johnson</I></FONT></P>
+<P ALIGN=CENTER><FONT SIZE=2><I>Contributors: Roller team and Sun
+Microsystems, Inc. </I></FONT>
+</P>
+<DIV ID="Table of Contents1" DIR="LTR">
+ <DIV ID="Table of Contents1_Head" DIR="LTR">
+ <P STYLE="margin-top: 0.17in; margin-bottom: 0.2in; page-break-after: avoid">
+ <FONT FACE="Albany, sans-serif"><FONT SIZE=4 STYLE="font-size: 16pt"><B>Table
+ of Contents</B></FONT></FONT></P>
+ </DIV>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">Introduction 3</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 1: Before you
+ install Roller 4</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 2: Unpack the
+ Roller distribution 5</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 3: Create
+ Roller tables in your database 6</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 4: Install
+ required third party jars 7</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">STEP 4.1: Install
+ JDBC driver jar(s) 7</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">STEP 4.2: Install
+ JavaMail and Activation jars 7</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 5: Deploy
+ Roller to your application server 8</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 6: Check your
+ internationalization settings 10</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 7: Setup
+ Roller data directories 11</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">STEP 7.1: Create
+ uploads directory 11</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">STEP 7.2: Create
+ search-index directory 11</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">STEP 7.3: Create
+ planet-cache directory (optional) 11</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">STEP 7.4: Make
+ sure that the logs subdirectory exists 12</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 8: Review
+ Roller configuration 13</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">STEP 8.1: Review
+ the WEB-INF/classes/roller.properties file 13</P>
+ <P STYLE="margin-left: 0.59in; margin-bottom: 0in">Where to define
+ custom properties 13</P>
+ <P STYLE="margin-left: 0.39in; margin-bottom: 0in">STEP 8.2: Change
+ keys in the WEB-INF/security.xml file 14</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">STEP 9: Start
+ Tomcat and start using Roller 15</P>
+ <P STYLE="margin-left: 0.2in; margin-bottom: 0in">Appendix A: The
+ WEB-INF/roller.properties file 16</P>
+</DIV>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-Introduction"></A>
+Introduction</H2>
+<P><B>This document describes how to install Roller in the following
+environment: </B>
+</P>
+<UL>
+ <LI><P STYLE="margin-bottom: 0in; font-weight: medium">Operating
+ System: UNIX or Windows based operating system
+ </P>
+ <LI><P STYLE="margin-bottom: 0in; font-weight: medium">Java
+ development kit: Java 2 SE 1.4 SDK (or later)</P>
+ <LI><P STYLE="margin-bottom: 0in; font-weight: medium">Application
+ server: Tomcat 5.X (or later)</P>
+ <LI><P STYLE="font-weight: medium">Relational Database: MySQL 4.X
+ (or later)</P>
+</UL>
+<P><B>What do you need to know to install Roller? </B>You need to
+know how to use the UNIX or Windows command-line, how to set
+environment variables, how to create a database in MySQL and how to
+start and stop Tomcat.</P>
+<P><B>What about other servlet containers?</B> <SPAN STYLE="font-style: normal">These
+instructions target Tomcat, but you should be able to make Roller
+work with just about any standard Servlet 2.3 compatible application
+server. For full support of Roller's internationalization features,
+we recommend Servlet 2.4. If you deploy Roller to a non-Tomcat
+server, please contribute your install notes to help others who might
+want to do the same.</SPAN>
+</P>
+<P><B>What about other databases?</B> These instructions target
+MySQL, but Roller also includes database setup scripts for PostgreSQL
+7.X later, Apache Derby, IBM DB2, Oracle and HSQL-DB.</P>
+<P><B>What platform combinations are known to work?</B> For
+information on which platforms we can vouch for, see the the
+<SPAN STYLE="font-weight: medium"><I>Platforms</I></SPAN> page on the
+Roller wiki.</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-STEP1Prerequisites1"></A><A NAME="ref-InstallationGuide_2.x-1"></A>
+STEP 1: Before you install Roller</H2>
+<P STYLE="font-weight: medium">Before you install Roller software you
+should install and configure the Java development kit, your
+application server and your database.</P>
+<P>As part of the Tomcat install you should have set the environment
+variable CATALINA_HOME to point to your Tomcat installation
+directory. If not, you might want to set it now because we will refer
+to it in this installation guide. Below are some examples that show
+how to set this variable. Make sure you substitute the right path to
+your Tomcat installation.</P>
+<P>For UNIX with bash shell:</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> %
+export CATALINA_HOME=/opt/jakarta-tomcat-5.0.29</FONT></FONT></P>
+<P><BR><BR>
+</P>
+<P>For UNIX with c-shell:</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> %
+setenv CATALINA_HOME /opt/jakarta-tomcat-5.0.29</FONT></FONT></P>
+<P><BR><BR>
+</P>
+<P>For Windows with DOS shell</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> C>
+set CATALINA_HOME d:\jakarta-tomcat-5.0.29 </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P><B>NOTES</B></P>
+<UL>
+ <LI><P>For MySQL, make sure you enable UTF-8 support. See the page
+ Setting Up UTF-8 on MySQL page on the Roller wiki for details.</P>
+ <LI><P>For MySQL, make sure that TCP/IP networking is enabled. In
+ some versions of MySQL, this option is off by default. See the page
+ Debian MySQL for details. The Connector/J JDBC driver can only
+ access MySQL via TCP/IP.
+ </P>
+</UL>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-STEP2UnpackTheDownloadedZIPOrTARFile2"></A>
+STEP 2: Unpack the Roller distribution</H2>
+<P>Pick a directory on your computer and unpack the Roller
+distribution using either GNU tar on UNIX or WinZip on Windows.
+Hereinafter, we'll refer to that directory as your Roller
+installation directory, <FONT FACE="Courier New">$ROLLER</FONT> in
+the UNIX examples or <FONT FACE="Courier New">%ROLLER%</FONT> in the
+Windows examples.</P>
+<P><BR><BR>
+</P>
+<P>Here are some examples to show you how you might unpack Roller on
+your computer.</P>
+<P><B>UNIX example</B></P>
+<P>Assuming you download the distribution into your home directory
+and you'd like to install Roller into <FONT FACE="Courier New">/usr/local</FONT>
+you might do something like this:</P>
+<PRE><FONT FACE="Courier New"><FONT SIZE=2> % cd /usr/local</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> % tar xzvf ~/roller-2.1.tar.gz</FONT></FONT>
+</PRE><P>
+That would create the Roller installation directory
+<FONT FACE="Courier New">/usr/local/roller</FONT>.
+</P>
+<P><B>Windows example</B></P>
+<P>Use WinZip to extract the Roller distribution file into the
+directory of your choice for example, no example necessary.</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-STEP3CreateRollerTablesInYourDatabase3"></A><A NAME="ref-InstallationGuide_2.x-3"></A>
+STEP 3: Create Roller tables in your database</H2>
+<P>Create a new database within your MySQL installation, create a
+user with all privileges within that database and run the Roller
+database creation script to create tables within that new database.</P>
+<P>Roller includes database creation scripts for a variety of
+database, but MySQL is the most widely used and best supported
+option. You can find the database creation scripts in the Roller
+installation directory under <FONT FACE="Courier New">WEB-INF/dbscripts/<I><dbname></I></FONT>.
+Here's the list of scripts currently in Roller:</P>
+<UL>
+ <LI><P><FONT FACE="Courier New"><FONT SIZE=2>WEB-INF/dbscripts/mysql/creatdb.sql </FONT></FONT></P>
+ <LI><P><FONT FACE="Courier New"><FONT SIZE=2>WEB-INF/dbscripts/postgresql/creatdb.sql </FONT></FONT></P>
+ <LI><P><FONT FACE="Courier New"><FONT SIZE=2>WEB-INF/dbscripts/hsqldb/creatdb.sql</FONT></FONT></P>
+ <LI><P><FONT FACE="Courier New"><FONT SIZE=2>WEB-INF/dbscripts/derby/creatdb.sql</FONT></FONT></P>
+ <LI><P><FONT FACE="Courier New"><FONT SIZE=2>WEB-INF/dbscripts/db2/creatdb.sql</FONT></FONT></P>
+ <LI><P><FONT FACE="Courier New"><FONT SIZE=2>WEB-INF/dbscripts/oracle/creatdb.sql</FONT></FONT></P>
+</UL>
+<P><BR><BR>
+</P>
+<P>Here are some examples to show you how you might create the Roller
+tables in MySQL:</P>
+<P><B>UNIX example:</B></P>
+<PRE><FONT FACE="Courier New"><FONT SIZE=2> % cd $ROLLER/WEB-INF/dbscripts/mysql</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> % mysql -u root -p</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> password: *****</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> mysql> create database roller;</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> mysql> grant all on roller.* to scott@'%' identified by 'tiger';</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> mysql> grant all on roller.* to scott@localhost identified by 'tiger';</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> mysql> use roller;</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> mysql> source createdb.sql</FONT></FONT>
+<FONT FACE="Courier New"><FONT SIZE=2> mysql> quit</FONT></FONT></PRE><P>
+<B>Windows example:</B></P>
+<PRE> <FONT FACE="Courier New">C> cd %ROLLER%\dbscripts\mysql</FONT>
+<FONT FACE="Courier New"> C> mysql -u root -p</FONT>
+<FONT FACE="Courier New"> password: *****</FONT>
+<FONT FACE="Courier New"> mysql> create database roller;</FONT>
+<FONT FACE="Courier New"> mysql> grant all on roller.* to scott@'%' identified by 'tiger';</FONT>
+<FONT FACE="Courier New"> mysql> grant all on roller.* to scott@'localhost' identified by 'tiger';</FONT>
+<FONT FACE="Courier New"> mysql> use roller;</FONT>
+<FONT FACE="Courier New"> mysql> source createdb.sql</FONT>
+<FONT FACE="Courier New"> mysql> quit</FONT></PRE><P>
+<B>NOTES</B></P>
+<UL>
+ <LI><P>For MySQL, don't forget to call <I>flush privileges </I><SPAN STYLE="font-style: normal">to
+ commit your changes to MySQL.</SPAN></P>
+ <LI><P>To check whether your MySQL is setup properly, use the
+ command line mysql program to connect using the user name and
+ password you created. For example (we use 127.0.0.1 here instead of
+ localhost to ensure that TCP/IP networking is enabled):</P>
+</UL>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">mysql roller
+-h 127.0.0.1 -u scott -ptiger</FONT></P>
+<P><BR><BR>
+</P>
+<P> </P>
+<H2><A NAME="section-InstallationGuide_2.x-STEP4DownloadAndInstallRequiredJars4"></A>
+STEP 4: Install required third party jars</H2>
+<P>You also need to download and install some third-party jars, jars
+that we can't include in Roller due to licensing restrictions. These
+are the JDBC driver, JavaMail and Activation jars.</P>
+<H3>STEP 4.1: Install JDBC driver jar(s)</H3>
+<P>Download the JDBC driver jar for your database and put it in the
+classpath of your application server. For example, assuming Tomcat
+and MySQL, you'd download the J/Connector JDBC driver from mysql.com
+and you'd place it in the Tomcat <FONT FACE="Courier New">common/lib</FONT>
+directory.</P>
+<P><B>UNIX example</B></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> %
+cp mysql-connector.jar $CATALINA_HOME/common/lib</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P><B>Windows example</B></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> C>
+copy mysql-connector.jar %CATALINA_HOME%\common\lib</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P><B>NOTES</B></P>
+<UL>
+ <LI><P STYLE="margin-bottom: 0in">For MySQL 4.1.X users, we
+ recommend that you use the J/Connector 3.0.X JDBC drivers instead of
+ the newer 3.1.X series. If you <I>must</I> use J/Connector/J 3.1.X
+ then please read <I>Installation FAQ</I> page item #13 on the Roller
+ wiki.</P>
+</UL>
+<P><BR><BR>
+</P>
+<H3>STEP 4.2: Install JavaMail and Activation jars</H3>
+<P>If you like to use Roller's e-mail notification features, you'll
+need to add the JavaMail and Activation jars to your application
+server's classpath. Currently, we ship these jars with Roller, so
+<B>move</B> them from the Roller <FONT FACE="Courier New">WEB-INF/lib</FONT>
+directory and into the Tomcat <FONT FACE="Courier New">common/lib</FONT>
+directory.</P>
+<P><B>UNIX example</B></P>
+<P><FONT FACE="Courier New"><FONT SIZE=2> % cp
+$ROLLER/WEB-INF/lib/mail.jar $CATALINA_HOME/common/lib</FONT></FONT></P>
+<P><FONT SIZE=2><FONT FACE="Courier New"> % cp
+$ROLLER/WEB-INF/lib/activation.jar $CATALINA_HOME/common/lib</FONT> </FONT></P>
+<P><B>Windows example</B></P>
+<P><FONT FACE="Courier New"><FONT SIZE=2> c> cp
+%ROLLER%\WEB-INF\lib\mail.jar %CATALINA_HOME%\common\lib</FONT></FONT></P>
+<P><FONT FACE="Courier New"><FONT SIZE=2> C> cp
+%ROLLER%\WEB-INF\lib\activation.jar %CATALINA_HOME%\common\lib</FONT></FONT></P>
+<P><B>NOTES</B></P>
+<UL>
+ <LI><P>To enable the Roller's e-mail notification features, you'll
+ also need to setup a mail session resource in your application
+ server configuration file (see the next section) and you'll need to
+ configure e-mail notification in the Roller UI.</P>
+</UL>
+<P><BR><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-STEP5DeployRollerToYourApplicationServer5"></A><A NAME="ref-InstallationGuide_2.x-5"></A>
+STEP 5: Deploy Roller to your application server</H2>
+<P>To deploy Roller to your application server you need to inform
+your application server:</P>
+<UL>
+ <LI><P STYLE="margin-bottom: 0in">Where to find the Roller
+ installation directory
+ </P>
+ <LI><P>How to configure the Roller datasource under the JNDI name
+ <FONT FACE="Courier New">jdbc/rollerdb </FONT>
+ </P>
+</UL>
+<P STYLE="margin-bottom: 0in">For Tomcat you can do this by creating
+what's known as a context configuration file named <FONT FACE="Courier New">roller.xml</FONT>
+and placing that file in the Tomcat <FONT FACE="Courier New">conf/Catalina/localhost</FONT>
+directory.
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>Example context configuration file
+for Tomcat 5.0.X users</B></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in; font-weight: medium">The portions shown
+in bold are the ones that you'll probably have to change. Make sure
+you set the docBase to point to your Roller installation directory.
+Make sure you set the JDBC connection string to point to your
+database and the database username and password too.</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<PRE><FONT FACE="Courier New"><Context path="/roller" docBase="<B>/usr/local/roller</B>" debug="0"></FONT>
+ <FONT FACE="Courier New"><Resource name="jdbc/rollerdb" auth="Container" type="javax.sql.DataSource" /></FONT>
+ <FONT FACE="Courier New"><ResourceParams name="jdbc/rollerdb"></FONT>
+ <FONT FACE="Courier New"><parameter></FONT>
+ <FONT FACE="Courier New"><name>factory</name></FONT>
+ <FONT FACE="Courier New"><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></FONT>
+ <FONT FACE="Courier New"></parameter></FONT>
+ <FONT FACE="Courier New"><parameter></FONT>
+ <FONT FACE="Courier New"><name>driverClassName</name></FONT>
+ <FONT FACE="Courier New"><value>com.mysql.jdbc.Driver</value></FONT>
+ <FONT FACE="Courier New"></parameter></FONT>
+ <FONT FACE="Courier New"><parameter> </FONT>
+ <FONT FACE="Courier New"><name>url</name></FONT>
+ <FONT FACE="Courier New"><value></FONT>
+ <FONT FACE="Courier New"><B>jdbc:mysql://localhost:3306/roller?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;mysqlEncoding=utf8</B></FONT>
+ <FONT FACE="Courier New"></value></FONT>
+ <FONT FACE="Courier New"></parameter></FONT>
+ <FONT FACE="Courier New"><parameter><name>username</name><value><B>scott</B></value></parameter></FONT>
+ <FONT FACE="Courier New"><parameter><name>password</name><value><B>tiger</B></value></parameter></FONT>
+ <FONT FACE="Courier New"><parameter><name>maxActive</name><value>20</value></parameter></FONT>
+ <FONT FACE="Courier New"><parameter><name>maxIdle</name><value>3</value></parameter></FONT>
+ <FONT FACE="Courier New"><parameter><name>removeAbandoned</name><value>true</value></parameter></FONT>
+ <FONT FACE="Courier New"><parameter><name>maxWait</name><value>3000</value></parameter></FONT>
+ <FONT FACE="Courier New"></ResourceParams></FONT>
+ <FONT FACE="Courier New"><!-- If you want e-mail features, un-comment the section below --></FONT>
+ <FONT FACE="Courier New"><!--</FONT>
+ <FONT FACE="Courier New"><Resource name="mail/Session" auth="Container" type="javax.mail.Session"/></FONT>
+ <FONT FACE="Courier New"><ResourceParams name="mail/Session"></FONT>
+ <FONT FACE="Courier New"><parameter></FONT>
+ <FONT FACE="Courier New"><name>mail.smtp.host</name></FONT>
+ <FONT FACE="Courier New"><value>mailhost.example.com</value></FONT>
+ <FONT FACE="Courier New"></parameter></FONT>
+ <FONT FACE="Courier New"></ResourceParams></FONT>
+ <FONT FACE="Courier New">--></FONT>
+<FONT FACE="Courier New"></Context></FONT></PRE><P>
+<BR><BR>
+</P>
+<P STYLE="margin-bottom: 0in; page-break-before: always"><B>Example
+context configuration file for Tomcat 5.5.X users</B></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in; font-weight: medium">The portions shown
+in bold are the ones that you'll probably have to change. Make sure
+you set the docBase to point to your Roller installation directory.
+Make sure you set the JDBC connection string to point to your
+database and the database username and password too.</P>
+<P STYLE="margin-bottom: 0in; font-weight: medium"><BR>
+</P>
+<PRE><FONT FACE="Courier New"><Context path="/roller" docBase="<B>/usr/local/roller</B>" debug="0"></FONT>
+ <FONT FACE="Courier New"><Resource name="jdbc/rollerdb" auth="Container" type="javax.sql.DataSource"</FONT>
+ <FONT FACE="Courier New">driverClassName="com.mysql.jdbc.Driver"</FONT>
+ <FONT FACE="Courier New">url="<B>jdbc:mysql://localhost:3306/roller?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;mysqlEncoding=utf8</B>"</FONT>
+ <FONT FACE="Courier New">username="<B>scott</B>"</FONT>
+ <FONT FACE="Courier New">password="<B>tiger</B>"</FONT>
+ <FONT FACE="Courier New">maxActive="20"</FONT>
+ <FONT FACE="Courier New">maxIdle="3"</FONT>
+ <FONT FACE="Courier New">removeAbandoned="true"</FONT>
+ <FONT FACE="Courier New">maxWait="3000" /></FONT>
+ <FONT FACE="Courier New"><!-- If you want e-mail features, un-comment the section below --></FONT>
+ <FONT FACE="Courier New"><!--</FONT>
+ <FONT FACE="Courier New"><Resource name="mail/Session" auth="Container" type="javax.mail.Session"</FONT>
+ <FONT FACE="Courier New">mail.smtp.host="mailhost.example.com" /></FONT>
+ <FONT FACE="Courier New">--></FONT>
+<FONT FACE="Courier New"></Context></FONT></PRE><P>
+<B>NOTES</B></P>
+<UL>
+ <LI><P>If Roller starts up fine but later fails and you find an
+ error like the one below in your roller.log file then try dropping
+ your <FONT FACE="Courier New">maxActive</FONT>, <FONT FACE="Courier New">maxIdle</FONT>,
+ and <FONT FACE="Courier New">removeAbandoned</FONT> values.
+ Depending on your database configuration you may have to go pretty
+ low, such as setting <FONT FACE="Courier New">maxActive</FONT> to 6,
+ <FONT FACE="Courier New">maxIdle</FONT> to 3 and
+ <FONT FACE="Courier New">removeAbandonedTimeout</FONT> to 60.
+ </P>
+</UL>
+<P STYLE="font-style: normal"><FONT FACE="Courier New"><FONT SIZE=2> User
+scott@localhost has more than 'max_user_connections' active
+connections</FONT></FONT></P>
+<P><BR><BR>
+</P>
+<P><BR><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-STEP6ConfigureYourApplicationServerForUTF86"></A>
+STEP 6: Check your internationalization settings</H2>
+<P STYLE="margin-bottom: 0in">Roller's approach to
+internationalization (I18N) is to do everything in UTF-8. So, if you
+want I18N to work properly, you'll need to configure your application
+server and your web server to use UTF-8 encoding.
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>Check your application server's URI
+encoding setting!</B></P>
+<P STYLE="margin-bottom: 0in"><BR>Make sure that your web application
+server uses UTF-8 to encode URI's. This allows you to use diacritical
+characters like 'ç' in your URLs. This is important for Roller
+because weblog entry titles are used in URLs.
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">For example, in Tomcat the URI encoding
+is specified in the connectors that are configured in the Tomcat
+configuration file <FONT FACE="Courier New">conf/server.xml</FONT>.
+Here's a connector with the URI encoding attribute set properly:</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New"><Connector
+port="8080"</FONT></P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">maxThreads="150"
+</FONT>
+</P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">minSpareThreads="25"
+maxSpareThreads="75"</FONT></P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">enableLookups="false"
+</FONT>
+</P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">redirectPort="8443"
+</FONT>
+</P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">acceptCount="100"</FONT></P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">debug="0"
+</FONT>
+</P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">connectionTimeout="20000"</FONT></P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New">disableUploadTimeout="true"
+</FONT>
+</P>
+<P STYLE="margin-bottom: 0in"> <FONT FACE="Courier New"><B>URIEncoding="UTF-8"
+</B> /></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><SPAN STYLE="font-weight: medium">And
+make sure you do this for <I>every</I> connector through which you
+use Roller. For example, if you use the AJP connector or HTTPS
+connector you need to add the </SPAN><TT><SPAN STYLE="font-weight: medium">URIEncoding="UTF-8"</SPAN></TT><SPAN STYLE="font-weight: medium">
+attribute to those connectors as well.</SPAN></P>
+<P><BR><BR>
+</P>
+<P><BR><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-STEP7SetupRollerDataDirectories7"></A><A NAME="ref-InstallationGuide_2.x-7"></A>
+STEP 7: Setup Roller data directories
+</H2>
+<P>Roller stores file uploads, search index files, cache files and
+log files on disk. So before you start, check to make sure the
+directories that Roller expects exist and are writable by the Tomcat
+process.
+</P>
+<H3>STEP 7.1: Create <TT>uploads</TT> directory</H3>
+<P STYLE="margin-bottom: 0in">By default, Roller saves uploaded files
+under the directory:</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><TT><FONT FACE="Courier New"> ${user.home}/roller_data/uploads</FONT></TT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">Here <TT><FONT FACE="Courier New">${user.home}</FONT>
+</TT>is the Java system property that normally evaluates to the home
+directory of the user identity executing the server's JVM process.
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">In most cases, this default will
+probably work fine for you. However, for security reasons some
+application servers are set up to run as a server user identity whose
+home directory does not exist or is not writable by the server user
+itself. If this is the case for your server, override the property
+<TT><FONT FACE="Courier New">uploads.dir</FONT></TT> in the
+<FONT FACE="Courier New">roller.properties</FONT> file. See step 8
+for more information on the <FONT FACE="Courier New">roller.properties</FONT>
+file.</P>
+<H3>STEP 7.2: Create <TT>search-index</TT> directory</H3>
+<P>By default, Roller creates and maintains its text search index
+data in files under the directory</P>
+<P><TT><FONT FACE="Courier New"> ${user.home}/roller_data/roller-index</FONT></TT>
+</P>
+<P>Again, <TT><FONT FACE="Courier New">${user.home}</FONT> </TT>is
+the Java system property that normally evaluates to the home
+directory of the user identity executing the server's JVM process.
+You can specify a different directory by overriding the property
+<TT><FONT FACE="Courier New">search.index.dir</FONT> </TT>in
+<FONT FACE="Courier New">roller.properties</FONT><FONT FACE="Thorndale">.
+See step 8 for more information on the </FONT><FONT FACE="Courier New">roller.properties</FONT><FONT FACE="Thorndale">
+file.</FONT></P>
+<H3>STEP 7.3: Create <TT>planet-cache</TT> directory (optional)</H3>
+<P>You only need to do this if you are planning on using Roller's
+integrated planet aggregator: create a directory for the planet cache
+(e.g. /var/roller/planet-cache).
+</P>
+<P>The planet aggregator is off by default. To enable it, you'll have
+to override the <TT>planet.aggregator.enabled</TT> property (see the
+<A HREF="http://www.rollerweblogger.org/wiki/Wiki.jsp?page=ConfigurationGuide">ConfigurationGuide</A>).
+Once you've got Roller up and running, login (as an adminstrator), go
+to the Planet:Configuration page and set full-path to the directory
+you choose for the planet-cache.
+</P>
+<P>Currently, you must specify the location of the planet-cache
+directory through the Roller web UI (but we planning to move it to
+roller.properties because it is really a startup property).
+</P>
+<H3></H3>
+<H3 STYLE="page-break-before: always">STEP 7.4: Make sure that the
+<TT>logs</TT> subdirectory exists</H3>
+<P STYLE="margin-bottom: 0in">The <TT><FONT FACE="Courier New">roller.log</FONT>
+</TT>file is written to the location:</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><TT><FONT FACE="Courier New"> ${catalina.base}/logs/roller.log</FONT></TT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">Make sure that that this directory
+exists. Tomcat 5.0.X users will normally have this directory by
+default. Tomcat 5.5.x users may need to create this subdirectory
+under their base directory.
+</P>
+<P><BR><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-STEP8ReviewRollerConfiguration8"></A>
+STEP 8: Review Roller configuration</H2>
+<P>Before you start Roller for the first time, review your
+configuration.</P>
+<H3>STEP 8.1: Review the <FONT FACE="Courier New">WEB-INF/classes/roller.properties</FONT>
+file</H3>
+<P>Roller tries to pick a good set of configuration defaults which
+should let anyone start up the application without much work, but
+here are a few properties which are custom to each install and should
+be set before you start up Roller. We'll first talk about what ways
+there are for defining your custom Roller configuration, then show
+which properties we think you should set. <B>NOTE</B>: the default
+<FONT FACE="Courier New">roller.properties</FONT> file is shown in
+Appendix A.</P>
+<H4><A NAME="section-ConfigurationGuide_2.x-WhereToDefineCustomProperties"></A>
+Where to define custom properties</H4>
+<P STYLE="margin-bottom: 0in">There are three ways you can alter the
+default configuration for Roller.
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>1)</B> Define a
+<FONT FACE="Courier New">roller-custom.properties</FONT> file and
+place it somewhere at the root of one of your classpath locations.
+This is the recommended way to override Roller configuration
+properties. For example:</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> $TOMCAT_HOME/common/classes/roller-custom.properties</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in">Or...</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> $TOMCAT_HOME/webapps/$ROLLER_WEBAPP/WEB-INF/classes/roller-custom.properties</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>2) </B>Specify a custom properties
+file via JVM option. This is another good option but is more
+dependant on what servlet container you use. For example:</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> #
+this is how you might do it for tomcat</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> JAVA_OPTS="-Droller.custom.config=/path/to/properties/file"</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> export
+$JAVA_OPTS</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> $TOMCAT_HOME/bin/startup.sh</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>3) </B>If you like, you can open up
+the default roller config file and change the values there. This
+option should not be necessary and is <B>NOT</B> recommended. For
+example:</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> $TOMCAT_HOME/webapps/$ROLLER_WEBAPP/WEB-INF/classes/roller.properties</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><A NAME="section-ConfigurationGuide_2.x-WhatPropertiesYouShouldSet"></A>
+<B>What properties you should set</B></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">We are going to assume you have defined
+a <FONT FACE="Courier New">roller-custom.properties</FONT> file and
+placed it in your classpath somewhere. To override any of the default
+Roller properties you simply add a line with the proper key and the
+new value you wish to use.
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in">Here is a sample
+<FONT FACE="Courier New">roller-custom.properties</FONT> with the few
+properties that should be overridden</P>
+<P STYLE="margin-bottom: 0in">
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> uploads.dir=/app/roller/roller_data/uploads</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> search.index.dir=/app/roller/roller_data/search-index</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2> #
+etc, etc, etc ... any other properties you want to override</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<H3 STYLE="page-break-before: always">STEP 8.2: Change keys in the
+<FONT FACE="Courier New">WEB-INF/security.xml</FONT> file</H3>
+<P>Starting with version 2.1, Roller uses the Acegi security
+infrastructure. Several of the security features rely on keys that
+are intended to be site-specific. These keys are used to compute HMAC
+(hash-based message authentication code) values for <I>Remember Me</I>
+cookies. Knowledge of these keys could allow an attacker to forge
+invalid cookies, and thereby gain unauthorized access to your Roller
+installation (at the application level).
+</P>
+<P>Roller ships with default values, and these should assumed to be
+widely known. You should change your keys to be secret values
+specific to your own site.
+</P>
+<P>Here is how to change the keys.
+</P>
+<OL>
+ <LI><P STYLE="margin-bottom: 0in">Find your <TT><FONT FACE="Courier New">WEB-INF/security.xml</FONT></TT>
+ file and open it in a text editor.</P>
+ <LI><P STYLE="margin-bottom: 0in">For the beans with ids
+ "anonymousAuthenticationProvider" and
+ "anonymousProcessingFilter" change the <TT>value</TT>
+ field of the property with <TT>name="key"</TT> to be
+ different from the default value of "anonymous". You can
+ use any string value of your choosing. It should be a secret
+ specific to your site. Use the same key value in these two beans;
+ they must match.</P>
+ <LI><P>For the beans with ids "rememberMeServices" and
+ "rememberMeAuthenticationProvider" change the <TT>value</TT>
+ field of the property with <TT>name="key"</TT> to be
+ different from the default value of "rollerlovesacegi".
+ You can use any string value of your choosing. It should be a secret
+ specific to your site. Use the same key value in these two beans;
+ they must match
+ </P>
+</OL>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>NOTES</B>
+</P>
+<UL>
+ <UL>
+ <LI><P STYLE="margin-bottom: 0in">The reason one should change the
+ anonymous provider key is that a granted authorities list is
+ embedded within the anonymous authentication token.</P>
+ </UL>
+</UL>
+<H2 STYLE="page-break-before: always"><A NAME="section-InstallationGuide_2.x-STEP9StartTomcatAndRoller9"></A>
+STEP 9: Start Tomcat and start using Roller</H2>
+<P STYLE="margin-bottom: 0in">Start your Servlet Container, open your
+web browser, browse to the Roller start page and start using Roller.
+If you are installing Roller on Tomcat then your Roller start page
+URL is probably <FONT FACE="Courier New">http://localhost:8080/roller</FONT>.</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>UNIX example</B></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"> % cd
+$CATALINA_HOME/bin</FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"> %
+./startup.sh</FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>Windows example</B></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"> C> cd
+%CATALINA_HOME%\bin</FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"> C> startup</FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><B>NOTE</B>:<SPAN STYLE="font-weight: medium">
+the first user you create will have administrator privileges, so make
+sure you create the first user yourself. An admin user can grant and
+revoke admin rights from other users. </SPAN>
+</P>
+<P><BR><BR>
+</P>
+<P><B>You're done! </B>
+</P>
+<P>Roller should be working perfectly now. If not, then please
+consult the Installation FAQ page on the Roller wiki and then check
+with the experts on the Roller mailing lists. Somebody has probably
+encountered the very same problems that you are encountering.
+</P>
+<P><BR><BR>
+</P>
+<H2 STYLE="page-break-before: always">Appendix A: The
+<FONT FACE="Courier New">WEB-INF/roller.properties</FONT> file</H2>
+<P>This file defines the default start-up properties for Roller. See
+step 8 for instructions on how to override the properties in this
+file.</P>
+<P><BR><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+roller.properties</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+This file is for meant for Roller deployment properties</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Any properties that don't change at runtime are defined here</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+User management settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+True to enable group blogging. False to prevent users from creating
+more </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+than one weblog and from joining other weblogs.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>groupblogging.enabled=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#---------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Property expansion settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Values of the properties in this list get system property expansion </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+applied to them when loaded.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>config.expandedProperties=uploads.dir,search.index.dir</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Upload settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+The directory in which Roller will upload files</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>uploads.dir=${user.home}/roller_data/uploads</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+The context path under which resoures will be made available </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>uploads.url=/resources</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Search index settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Enables indexing of weblog entries and comments and enables search
+servlet</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>search.enabled=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Directory in which search index is to be created (delete this
+directory to</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+force Roller to recreate the entire search index)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>search.index.dir=${user.home}/roller_data/search-index</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Whether or not to include comments in the search index. If this</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+is false, comments are not included in the index.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>search.index.comments=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Cache settings.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Remember ... times are in seconds</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Default settings suitable for 100 user system</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Cache properties all follow the given format ...</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+ cache.<cache_id>.<prop>=<value></FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+we then pass all <prop>=<value> pairs into the cache
+manager when the cache</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+is being constructed. this makes it easy to add cache properties
+that can</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+be used by the specified CacheFactory you are using.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+NOTE: it is expected that property validation happens in the
+CacheFactory</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#-----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+The default cache implementation we want to use</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.defaultFactory=org.roller.presentation.cache.ExpiringLRUCacheFactoryImpl</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.customHandlers=</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Main/Planet page cache (this is low on purpose)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.mainpage.size=10</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.mainpage.timeout=1800</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+set "true" to NOT cache the custom pages for users who are
+logged in</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.mainpage.excludeOwnerEditPages=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Weblog page cache (all the weblog content)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.weblogpage.size=400</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.weblogpage.timeout=3600</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+set "true" to NOT cache the custom pages for users who are
+logged in</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.weblogpage.excludeOwnerEditPages=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Weblog page last-modified-date cache </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+you want this fairly high, like weblogs * 10, with long timeouts</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.ifmodified.weblogpage.size=1000</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.ifmodified.weblogpage.timeout=14400</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Feed cache (xml feeds like rss, atom, etc)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.feed.size=200</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.feed.timeout=3600</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Feed last-modified-date cache</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+you want a reasonable size, like weblogs * 2, with long timeouts</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.ifmodified.feed.size=200</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.ifmodified.feed.timeout=14400</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Planet cache (planet page and rss feed)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.planet.size=10</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.planet.timeout=1800</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+set "true" to NOT cache the custom pages for users who are
+logged in</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>cache.planet.excludeOwnerEditPages=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Secure login configs</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Enables HTTPS for login page only</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>securelogin.enabled=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Enable scheme enforcement?</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Scheme enforcement ensures that specific URLs are viewed only via
+HTTPS</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>schemeenforcement.enabled=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+URL patterns that require HTTPS</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>schemeenforcement.https.urls=/editor/yourProfile.do*,/admin/user.do*</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Password security settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>passwds.encryption.enabled=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>passwds.encryption.algorithm=SHA</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Enabled plugins ... remember, order does matter!!</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Weblog entry editor plugins</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>plugins.page=\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>org.roller.presentation.velocity.plugins.convertbreaks.ConvertLineBreaksPlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.topictag.TopicTagPlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.search.WikipediaLinkPlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.search.GoogleLinkPlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.textile.TextilePlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.acronyms.AcronymsPlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.bookmarks.BookmarkPlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.email.ObfuscateEmailPlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.smileys.SmileysPlugin
+\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,org.roller.presentation.velocity.plugins.readmore.ReadMorePlugin</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+scheduled tasks, each is comma separated list of classes</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Comma separated list of task classnames to be executed once per day</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>tasks.daily=org.roller.presentation.TurnoverReferersTask\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Needed to enable nightly fetching of blacklist</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#,org.roller.presentation.BlacklistUpdateTask\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Daily Planet task: syncs weblog list with Roller, refreshes
+Technorati stats</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#,org.roller.presentation.planet.SyncWebsitesTask</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Comma separated list of task classnames to be executed hourly</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>tasks.hourly=\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Hourly Planet task: refresh latest entry list from all weblogs in
+list</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#org.roller.presentation.planet.RefreshEntriesTask</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Velocity settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>velocity.properties=/WEB-INF/velocity.properties</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>velocity.toolbox.file=/WEB-INF/toolbox.xml</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Page model implementation</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>velocity.pagemodel.classname=org.roller.presentation.velocity.PageModel</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Experimental page model that allows user's access to Planet
+aggregations</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#velocity.pagemodel.classname=org.roller.presentation.velocity.planet.PlanetPageModel</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Persistence settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>persistence.roller.classname=org.roller.business.hibernate.HibernateRollerImpl</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>persistence.filemanager.classname=org.roller.business.FileManagerImpl</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+authenticator settings (experimental)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>authenticator.classname=org.roller.presentation.DefaultAuthenticator</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+comment, referrer and trackback settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>comment.authenticator.classname=org.roller.presentation.velocity.MathCommentAuthenticator</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>comment.notification.separateOwnerMessage=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>comment.notification.hideCommenterAddresses=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+enables site full blacklist check on comment posts (default: true)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>site.blacklist.enable.comments=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+enables site full blacklist check at time of trackback post (default:
+true)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>site.blacklist.enable.trackbacks=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+enables partial blacklist check (not including blacklist.txt) for
+each incoming referrer</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>site.blacklist.enable.referrers=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Trackback protection. Set this only if you need to limit the URLs to</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+which users may send trackbacks. Regex expressions are allowed, for
+example:</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+trackback.allowedURLs=http://w3.ibm.com/.*||http://another.example.com/.*</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>trackback.allowedURLs=</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#Robot
+check in referral processing. If this pattern is set and the
+User-Agent in the</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#request
+matches this pattern, all referral processing is skipped; this means
+that</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#the
+referral spam check is skipped, the request is allowed to proceed,
+but the</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#referrer
+is not recorded and hit count is not incremented. Recommended for
+large sites</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#that
+get a lot of legitimate crawler bot traffic. The pattern here is a
+suggestion that</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#has
+been reported to work well.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#referrer.robotCheck.userAgentPattern=.*(slurp|bot|java).*</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Enable built-in referrer processing?</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>referrers.processing.enabled=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Change to true if you want to process referrers asynchronously.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+You can choose how many threads to use and sleep time (in seconds) </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>referrers.asyncProcessing.enabled=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>referrers.queue.numWorkers=3</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>referrers.queue.sleepTime=10</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+ping settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+The number of attempts to try to reach a ping target before refusing
+to </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+requeue it for further retrials. If absent, this defaults to 3.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>pings.maxPingAttempts=3</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+The interval between ping queue processing runs in minutes. Must be
+between </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+0 and 120. If set to 0, ping queue processing is disabled on this
+server; </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+this is for clustered environments. Make sure it is nonzero on one
+host in </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+a cluster. Don't use the value 0 here to disable ping functionality,
+you </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+will instead get an infinitely growing ping queue. See the
+documentation on </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+the properties below to disable ping functionality if you need to.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+If absent, this defaults to 5.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>pings.queueProcessingIntervalMins=5</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+The set of initial common ping targets. This is used to initialize
+the </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+database if there are no common ping targets at startup. Ping
+targets are </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+specified as a comma-separated list, each target in the form
+{{name}{url}}. </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+To disable initialization of common ping targets, comment this out,
+or set it</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+to the empty value. Common targets can be edited in the UI; this is
+just </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+used to set up some typical ones.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>pings.initialCommonTargets=\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>{{Technorati}{http://rpc.technorati.com/rpc/ping}}\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,{{Weblogs.com}{http://rpc.weblogs.com/RPC2}}\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,{{blo.gs}{http://ping.blo.gs/}}\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,{{java.blogs}{http://javablogs.com/xmlrpc}}\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>,{{blogrolling.com}{http://rpc.blogrolling.com/pinger/}}</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+This controls whether users are allowed to add custom ping targets. </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Set this to false to disallow adding custom targets; if false, the </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Weblog:Custom Ping Targets menu item will not appear and associated
+actions </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+will result in access denied messages. Leave this false or commented
+for </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+normal behavior. </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+CAUTION: Setting this to true will cause the server to remove all
+users' </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+existing custom targets on startup.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>pings.disallowCustomTargets=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+This controls whether the Weblog:Pings menu item and its associated
+actions </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+are enabled. Set this to false to disallow users from configuring
+autopings </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+and doing manual pings. If absent, this defaults to true.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+NOTE: There is a separate runtime property (configurable from the </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Admin:Configuration page, that can be used to suspend ping processing
+without </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+disabling the UI.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+CAUTION: Setting this to true will cause the server to remove all
+users' </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+existing autoping configurations on startup. Leave this false or
+commented </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+for normal behavior.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>pings.disablePingUsage=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Setting both pings.disallowCustomTarget=true and
+pings.disablePingUsage=true </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+will effectively disable the ping functionality.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+This is used for debugging the ping mechanism in Roller. If this is
+set </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+to true, pings that would normally be sent will cause log messages to
+be sent </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+but will NOT actually result in real pings being sent. Leave this
+false or </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+commented for normal behavior.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>pings.logOnly=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Planet Aggregator settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Set to true to enable the Planet aggregator. This will cause:</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+- The main page of Roller will become an aggregated view of all blogs
+in the </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+ Roller database, plus those defined in the Planet group 'external'.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+- A new menu tab will appear for Roller admin users. This allows
+admins to </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+ add/remove newsfeed subscriptions in the 'external' group.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+- Users can then subscribe to several newsfeeds:</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+ - http://localhost:8080/roller/rss</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+ - http://localhost:8080/roller/planetrss</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+ - http://localhost:8080/roller/planetrss?group=external</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>planet.aggregator.enabled=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Planet cache must exist and must be writable by Roller process</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>planet.aggregator.cache.dir=/var/roller/planetcache</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+user creation setttings: blogroll and cats for new users</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+list of links to include in root bookmark folder of each new blog</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+format is like so:
+linktitle2|linkurl2,linktitle2|linkurl2,linktitle3|linkurl3</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>newuser.blogroll=\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>Dave
+Johnson|http://rollerweblogger.org/page/roller,\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>Matt
+Raible|http://raibledesigns.com/page/rd,\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>Lance
+Lavandowska|http://brainopolis.dnsalias.com/roller/page/lance,\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>Henri
+Yandell|http://blog.generationjava.com/roller/page/bayard,\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>blogs.sun.com|http://blogs.sun.com,\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>jroller.com|http://jroller.com</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+comma-separated list of top-level categories to be created in each
+new weblog</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>newuser.categories=\</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>General,Status,Java,Music,Politics</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+misc settings</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>rememberme.enabled=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>breadcrumbs.stacksize=3</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>debug.memory.enabled=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+editor theme to be used (corresponds to directory name under /theme)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>editor.theme=tan</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#---------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+settings for various plugins</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Optional site-wide customization settings for the TopicTag plugin.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+n.b. these default settings match the coded default values that would
+be </FONT></FONT>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+applied if these were omitted.</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>org.roller.presentation.velocity.plugins.topictag.TopicTagPlugin.defaultTopicBookmarkName=Default
+Topic Site</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>org.roller.presentation.velocity.plugins.topictag.TopicTagPlugin.defaultTopicSite=http://www.technorati.com/tag</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>org.roller.presentation.velocity.plugins.topictag.TopicTagPlugin.tagRegexWithBookmark=topic:\\{(.*?)\\}\\[(.*?)\\]</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>org.roller.presentation.velocity.plugins.topictag.TopicTagPlugin.tagRegexWithoutBookmark=topic:\\[(.*?)\\]</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>org.roller.presentation.velocity.plugins.topictag.TopicTagPlugin.linkFormatString=<a
+rel=\"tag\" href=\"{0}{1}\">{2}</a></FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+Set to true to allow only default topic tag site (and avoid costly
+bookmark queries)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>org.roller.presentation.velocity.plugins.topictag.TopicTagPlugin.ignoreBookmarks=true</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#----------------------------------</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+legacy settings (thing that should be deprecated</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>#
+settings for old #showNewseeds macro (not related to Planet stuff)</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>aggregator.enabled=false</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>aggregator.cache.enabled=</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><FONT FACE="Courier New"><FONT SIZE=2>aggregator.cache.timeout=14400</FONT></FONT></P>
+<P STYLE="margin-bottom: 0in"><BR>
+</P>
+</BODY>
+</HTML>
\ No newline at end of file
Added: incubator/roller/trunk/docs/installguide/generated/roller-install-guide.pdf
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/docs/installguide/generated/roller-install-guide.pdf?rev=388014&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/roller/trunk/docs/installguide/generated/roller-install-guide.pdf
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream