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 2005/09/06 23:51:17 UTC
svn commit: r279136 - in /incubator/roller/branches/roller_2.0: ./
metadata/database/ metadata/database/hibernate/
src/org/roller/business/utils/ src/org/roller/presentation/weblog/actions/
src/org/roller/presentation/website/actions/ src/org/roller/util/
Author: snoopdave
Date: Tue Sep 6 14:50:59 2005
New Revision: 279136
URL: http://svn.apache.org/viewcvs?rev=279136&view=rev
Log:
Added database 1.3 to 2.0 upgrade code, plus (untested) Derby support
Added:
incubator/roller/branches/roller_2.0/metadata/database/120-to-200-migration-raw.sql
incubator/roller/branches/roller_2.0/metadata/database/db_db2.properties
incubator/roller/branches/roller_2.0/metadata/database/db_derby.properties
Removed:
incubator/roller/branches/roller_2.0/metadata/database/130-to-200-migration-raw.sql
Modified:
incubator/roller/branches/roller_2.0/.classpath
incubator/roller/branches/roller_2.0/build.xml
incubator/roller/branches/roller_2.0/metadata/database/createdb-raw.sql
incubator/roller/branches/roller_2.0/metadata/database/db_hsql.properties
incubator/roller/branches/roller_2.0/metadata/database/db_mysql.properties
incubator/roller/branches/roller_2.0/metadata/database/db_postgresql.properties
incubator/roller/branches/roller_2.0/metadata/database/hibernate/hibernate.cfg.xml
incubator/roller/branches/roller_2.0/metadata/database/rollerdb.properties
incubator/roller/branches/roller_2.0/properties.xmlf
incubator/roller/branches/roller_2.0/src/org/roller/business/utils/UpgradeDatabase.java
incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java
incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/UserBaseAction.java
incubator/roller/branches/roller_2.0/src/org/roller/util/Utilities.java
Modified: incubator/roller/branches/roller_2.0/.classpath
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/.classpath?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/.classpath (original)
+++ incubator/roller/branches/roller_2.0/.classpath Tue Sep 6 14:50:59 2005
@@ -1,70 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="sandbox/standalone/src"/>
- <classpathentry kind="src" path="sandbox/standalone/tests"/>
- <classpathentry kind="src" path="sandbox/planetroller/test"/>
- <classpathentry kind="src" path="sandbox/planetroller/src"/>
- <classpathentry kind="src" path="tests"/>
<classpathentry kind="src" path="build/generated/src.business"/>
<classpathentry kind="src" path="build/generated/src.presentation"/>
- <classpathentry kind="src" path="contrib/plugins/src"/>
<classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/activation.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/cglib-full-2.0.1.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/commons-beanutils.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/commons-betwixt-1.0-beta-1.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/commons-codec-1.1.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/commons-collections.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/commons-digester.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/commons-logging.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/commons-validator.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/concurrent-1.3.2.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/dom4j-1.4.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/ehcache-0.7.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/hibernate2.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/jakarta-oro.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/jaxen-full.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/jazzy-core.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/jstl.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/log4j-1.2.4.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/lucene-1.4.3.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/mail.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/odmg-3.0.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/proxool-0.8.3.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/rollerbeans.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/rome-0.6.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/rome-fetcher-0.6.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/standard.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/struts-el.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/struts.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/taglibs-string.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/velocity-1.4.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/velocity-dep-1.4.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/velocity-tools-1.1.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/xalan-2.4.0.jar"/>
+ <classpathentry kind="lib" path="C:/eclipse/blog-workspace/roller_2.0/build/roller/WEB-INF/lib/xmlrpc-2.0.jar"/>
+ <classpathentry kind="lib" path="tools/buildtime/tomcat-5.0.28/jsp-api.jar"/>
+ <classpathentry kind="lib" path="tools/buildtime/tomcat-5.0.28/servlet-api.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/c3p0-0.8.4.5.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/cglib-full-2.0.1.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/dom4j-1.4.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/ehcache-0.7.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/jdom.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/jta.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/odmg-3.0.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/proxool-0.8.3.jar"/>
+ <classpathentry kind="lib" path="tools/hibernate-2.1/lib/xalan-2.4.0.jar"/>
+ <classpathentry kind="lib" path="tools/lib/activation.jar"/>
+ <classpathentry kind="lib" path="tools/lib/commons-betwixt-1.0-beta-1.jar"/>
+ <classpathentry kind="lib" path="tools/lib/commons-codec-1.1.jar"/>
+ <classpathentry kind="lib" path="tools/lib/commons-httpclient-2.0.2.jar"/>
+ <classpathentry kind="lib" path="tools/lib/concurrent-1.3.2.jar"/>
+ <classpathentry kind="lib" path="tools/lib/ekitapplet.jar"/>
<classpathentry kind="lib" path="tools/lib/jazzy-core.jar"/>
<classpathentry kind="lib" path="tools/lib/log4j-1.2.4.jar"/>
- <classpathentry kind="lib" path="tools/lib/commons-betwixt-1.0-beta-1.jar"/>
- <classpathentry kind="lib" path="tools/lib/activation.jar"/>
+ <classpathentry kind="lib" path="tools/lib/lucene-1.4.3.jar"/>
<classpathentry kind="lib" path="tools/lib/mail.jar"/>
- <classpathentry kind="lib" path="tools/lib/concurrent-1.3.2.jar"/>
<classpathentry kind="lib" path="tools/lib/mm.mysql-2.0.14-bin.jar"/>
- <classpathentry kind="lib" path="tools/buildtime/strutstest-2.0.0.jar"/>
- <classpathentry kind="lib" path="contrib/lib/jython.jar"/>
- <classpathentry kind="lib" path="contrib/lib/JSPWiki.jar"/>
- <classpathentry kind="lib" path="contrib/lib/radeox.jar"/>
- <classpathentry kind="lib" path="tools/lib/commons-codec-1.1.jar"/>
- <classpathentry kind="lib" path="tools/buildtime/tomcat-4.1.24/servlet-api.jar"/>
- <classpathentry sourcepath="C:/java/lib/hibernate-2.1.4/src" kind="lib" path="tools/hibernate-2.1/hibernate2.jar"/>
- <classpathentry kind="lib" path="tools/standard-1.0.3/lib/jstl.jar"/>
- <classpathentry kind="lib" path="tools/standard-1.0.3/lib/standard.jar"/>
- <classpathentry kind="lib" path="contrib/lib/textile4j-1.20.jar"/>
+ <classpathentry kind="lib" path="tools/lib/rome-0.6.jar"/>
+ <classpathentry kind="lib" path="tools/lib/rome-fetcher-0.6.jar"/>
+ <classpathentry kind="lib" path="tools/lib/taglibs-string.jar"/>
+ <classpathentry kind="lib" path="tools/lib/velocity-1.4.jar"/>
+ <classpathentry kind="lib" path="tools/lib/velocity-dep-1.4.jar"/>
+ <classpathentry kind="lib" path="tools/lib/velocity-tools-1.1.jar"/>
+ <classpathentry kind="lib" path="tools/lib/xmlrpc-1.2-b1.jar"/>
+ <classpathentry kind="lib" path="tools/lib/xmlrpc-2.0.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/antlr.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/commons-beanutils.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/commons-collections.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/commons-digester.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/commons-fileupload.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/commons-lang-2.0.jar"/>
+ <classpathentry kind="lib" path="tools/struts-1.2.4/lib/commons-logging.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/commons-validator.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/jakarta-oro.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/struts.jar"/>
<classpathentry kind="lib" path="tools/struts-1.2.4/lib/struts-el.jar"/>
- <classpathentry kind="lib" path="tools/buildtime/ant-1.6.2/ant.jar"/>
- <classpathentry kind="lib" path="tools/buildtime/hsqldb.jar"/>
- <classpathentry sourcepath="/Applications/Java/velocity-tools-1.1-src/src/java" kind="lib" path="tools/lib/velocity-tools-1.1.jar"/>
- <classpathentry sourcepath="/Applications/Java/velocity-1.4/src/java" kind="lib" path="tools/lib/velocity-dep-1.4.jar"/>
- <classpathentry kind="lib" path="tools/lib/velocity-1.4.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/xalan-2.4.0.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/proxool-0.8.3.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/odmg-3.0.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/jta.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/ehcache-0.7.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/dom4j-1.4.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/cglib-full-2.0.1.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/c3p0-0.8.4.5.jar"/>
- <classpathentry kind="lib" path="tools/hibernate-2.1/lib/jdom.jar"/>
- <classpathentry kind="lib" path="tools/buildtime/xmlParserAPIs-2.3.0.jar"/>
- <classpathentry kind="lib" path="tools/buildtime/xercesImpl-2.3.0.jar"/>
- <classpathentry kind="lib" path="tools/standard-1.0.3/lib/jaxen-full.jar"/>
- <classpathentry sourcepath="/rome" kind="lib" path="tools/lib/rome-0.6.jar"/>
- <classpathentry kind="lib" path="tools/struts-1.2.4/lib/commons-logging.jar"/>
<classpathentry kind="lib" path="tools/buildtime/junit-3.8.1.jar"/>
- <classpathentry kind="lib" path="tools/buildtime/mockrunner-0.35/lib/nekohtml.jar"/>
- <classpathentry sourcepath="/Users/dave/Desktop/inbox/mockrunner-0.3.5/src" kind="lib" path="tools/buildtime/mockrunner-0.35/lib/mockrunner-struts.jar"/>
- <classpathentry sourcepath="/Applications/Java/mockrunner-0.3.5/src" kind="lib" path="tools/buildtime/mockrunner-0.35/lib/mockrunner-servlet.jar"/>
- <classpathentry sourcepath="/Applications/Java/mockrunner-0.3.5/src" kind="lib" path="tools/buildtime/mockrunner-0.35/lib/mockrunner.jar"/>
- <classpathentry kind="lib" path="tools/lib/rome-fetcher-0.6.jar"/>
- <classpathentry kind="lib" path="tools/lib/commons-httpclient-2.0.2.jar"/>
- <classpathentry sourcepath="/Users/dave/Desktop/lucene-1.4.1/src/java" kind="lib" path="tools/lib/lucene-1.4.3.jar"/>
- <classpathentry kind="lib" path="tools/lib/xmlrpc-2.0.jar"/>
- <classpathentry kind="lib" path="sandbox/standalone/lib/catalina.jar"/>
+ <classpathentry kind="lib" path="contrib/lib/JSPWiki.jar"/>
+ <classpathentry kind="lib" path="contrib/lib/jython.jar"/>
+ <classpathentry kind="lib" path="contrib/lib/radeox.jar"/>
+ <classpathentry kind="lib" path="contrib/lib/textile4j-1.20.jar"/>
<classpathentry kind="output" path="classes.eclipse"/>
</classpath>
Modified: incubator/roller/branches/roller_2.0/build.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/build.xml?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/build.xml (original)
+++ incubator/roller/branches/roller_2.0/build.xml Tue Sep 6 14:50:59 2005
@@ -385,10 +385,11 @@
<mkdir dir="${build.stage_web}/WEB-INF/lib"/>
<mkdir dir="${build.stage_web}/WEB-INF/tlds"/>
- <!-- Jar up web classes -->
+ <!-- Jar up web classes
<jar jarfile="${build.stage_web}/WEB-INF/lib/rollerweb.jar">
<fileset dir="${build.compile_web}" excludes="**/tomcat/**"/>
</jar>
+ -->
<!-- Copy web contents to staging, plus README files. -->
<antcall target="copy-web" />
@@ -397,6 +398,7 @@
<copy todir="${build.stage_web}/WEB-INF/classes">
<fileset dir="./metadata/database/hibernate" includes="hibernate.cfg.xml"/>
<fileset dir="${ro.tools}/lib" includes="oscache.properties"/>
+ <fileset dir="${build.compile_web}" excludes="**/tomcat/**"/>
</copy>
<!-- Copy WEB-INF contents to staging -->
@@ -490,7 +492,33 @@
</filterset>
<mapper type="glob" from="*-raw.sql" to="*.sql" />
</copy>
+
+ <!-- DB2 -->
+ <copy toDir="${dbscripts}/db2">
+ &custom-dbscripts;
+ <fileset dir="./metadata/database">
+ <include name="*.sql" />
+ <exclude name="droptables.sql" />
+ </fileset>
+ <filterset>
+ <filtersfile file="./metadata/database/db_db2.properties"/>
+ </filterset>
+ <mapper type="glob" from="*-raw.sql" to="*.sql" />
+ </copy>
+ <!-- Apache Derby -->
+ <copy toDir="${dbscripts}/derby">
+ &custom-dbscripts;
+ <fileset dir="./metadata/database">
+ <include name="*.sql" />
+ <exclude name="droptables.sql" />
+ </fileset>
+ <filterset>
+ <filtersfile file="./metadata/database/db_derby.properties"/>
+ </filterset>
+ <mapper type="glob" from="*-raw.sql" to="*.sql" />
+ </copy>
+
</target>
<!-- ********************************************************************* -->
Added: incubator/roller/branches/roller_2.0/metadata/database/120-to-200-migration-raw.sql
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/120-to-200-migration-raw.sql?rev=279136&view=auto
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/120-to-200-migration-raw.sql (added)
+++ incubator/roller/branches/roller_2.0/metadata/database/120-to-200-migration-raw.sql Tue Sep 6 14:50:59 2005
@@ -0,0 +1,68 @@
+
+-- User permissions within a website
+-- permission_mask: bitmask 001 limited, 011 author, 100 admin
+-- pending: pending user acceptance of invitation to join website
+create table roller_user_permissions (
+ id varchar(48) not null primary key,
+ website_id varchar(48) not null,
+ user_id varchar(48) not null,
+ permission_mask integer not null,
+ pending @BOOLEAN_SQL_TYPE_TRUE@ not null
+);
+
+-- Add new handle field to uniquely identify websites in URLs
+alter table website add column handle varchar(255) @ALTER_TABLE_NOT_NULL@;
+alter table website add column datecreated timestamp @ALTER_TABLE_NOT_NULL@;
+alter table website add column emailaddress varchar(255) @ALTER_TABLE_NOT_NULL@;
+create index website_handle_index on website(handle);
+alter table website add constraint website_handle_uq unique (handle@INDEXSIZE@);
+
+-- Add userid to weblogentry so we can track original creator of entry
+alter table weblogentry add column userid varchar(48) @ALTER_TABLE_NOT_NULL@;
+alter table weblogentry add column status varchar(20) @ALTER_TABLE_NOT_NULL@;
+create index weblogentry_userid_index on weblogentry(userid);
+
+alter table rolleruser add column isenabled @BOOLEAN_SQL_TYPE_TRUE@ @ALTER_TABLE_NOT_NULL@;
+alter table rolleruser add column locale varchar(50) @ALTER_TABLE_NOT_NULL@;
+alter table rolleruser add column timezone varchar(50) @ALTER_TABLE_NOT_NULL@;
+create index user_isenabled_index on rolleruser( isenabled );
+
+-- -----------------------------------------------------
+
+insert roller_properties (name,value) values ('site.shortName','');
+insert roller_properties (name,value) values ('planet.cache.dir','/var/roller/planet-cache');
+
+-- -----------------------------------------------------
+
+-- Audit log records time and comment about change
+-- user_id: user that made change
+-- object_id: id of associated object, if any
+-- object_class: name of associated object class (e.g. WeblogEntryData)
+-- comment: description of change
+-- change_time: time that change was made
+create table roller_audit_log (
+ id varchar(48) not null primary key,
+ user_id varchar(48) not null,
+ object_id varchar(48),
+ object_class varchar(255),
+ comment varchar(255) not null,
+ change_time timestamp
+);
+
+-- -----------------------------------------------------
+-- For ROL-754. MySQL 5.x introduced a new keyword "condition"
+-- which made the use of "condition" as a column name in the "pingtarget" table illegal.
+-- This renames the column to "conditioncode". There is a corresponding change in the
+-- Hibernate mapping metadata.
+
+-- Create the new column. If your database will not autopopulate new columns with default values, you may
+-- have to remove the "not null" clause here.
+alter table pingtarget add column conditioncode integer default 0 not null;
+
+-- Transfer old column data to the new column. This is not critical as currently it is not used, and
+-- later the data will be generated by usage in the ping processor.
+update pingtarget pt set pt.conditioncode=pt.condition;
+
+-- Drop the old column.
+alter table pingtarget drop column condition;
+-- -----------------------------------------------------
Modified: incubator/roller/branches/roller_2.0/metadata/database/createdb-raw.sql
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/createdb-raw.sql?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/createdb-raw.sql (original)
+++ incubator/roller/branches/roller_2.0/metadata/database/createdb-raw.sql Tue Sep 6 14:50:59 2005
@@ -1,485 +1,500 @@
-
--- Run this script to create the Roller database tables in your database.
--- Make sure you run the correct version of this script.
---
--- * For MySQL run the script createdb.sql found in the mysql directory.
--- * For PostgreSQL run the script createdb.sql found in the postgresql directory.
--- * For HSQLDB run the script createdb.sql found in the hsqldb directory.
---
--- For those who grabbed Roller source from CVS, don't try to run the script
--- named createdb-raw.sql, it is the source from which the above scripts are
--- created.
-
--- *****************************************************
--- Create the tables and indices
-
-create table rolleruser (
- id varchar(48) not null primary key,
- username varchar(255) not null,
- passphrase varchar(255) not null,
- fullname varchar(255) not null,
- emailaddress varchar(255) not null,
- datecreated timestamp not null,
- locale varchar(20) null,
- timezone varchar(50) null,
- isenabled @BOOLEAN_SQL_TYPE_TRUE@ not null
-);
-alter table rolleruser add constraint rolleruser_username_uq unique ( username@INDEXSIZE@ );
-
-create table userrole (
- id varchar(48) not null primary key,
- rolename varchar(255) not null,
- username varchar(255) not null,
- userid varchar(48) not null
-);
-create index userrole_userid_index on userrole( userid );
-create index userrole_username_index on userrole( username@INDEXSIZE@ );
-
--- User permissions within a website
-create table roller_user_permissions (
- id varchar(48) not null primary key,
- website_id varchar(48) not null,
- user_id varchar(48) not null,
- permission_mask integer not null, -- bitmask 001 limited, 011 author, 100 admin
- pending @BOOLEAN_SQL_TYPE_TRUE@ not null -- pending user acceptance of invitation to join website
-);
-
--- Audit log records time and comment about change
-create table roller_audit_log (
- id varchar(48) not null primary key,
- user_id varchar(48) not null, -- user that made change
- object_id varchar(48), -- id of associated object, if any
- object_class varchar(255), -- name of associated object class (e.g. WeblogEntryData)
- comment varchar(255) not null, -- description of change
- change_time timestamp -- time that change was made
-);
-
-create table usercookie (
- id varchar(48) not null primary key,
- username varchar(255) not null,
- cookieid varchar(100) not null,
- datecreated timestamp not null
-);
-create index usercookie_username_index on usercookie( username@INDEXSIZE@ );
-create index usercookie_cookieid_index on usercookie( cookieid@INDEXSIZE@ );
-
-create table webpage (
- id varchar(48) not null primary key,
- name varchar(255) not null,
- description varchar(255) null,
- link varchar(255) null,
- websiteid varchar(255) not null,
- template @TEXT_SQL_TYPE@ not null,
- updatetime timestamp not null
-);
-create index webpage_name_index on webpage( name@INDEXSIZE@ );
-create index webpage_link_index on webpage( link@INDEXSIZE@ );
-create index webpage_id_index on webpage( websiteid );
-
-create table website (
- id varchar(48) not null primary key,
- name varchar(255) not null,
- handle varchar(255) not null,
- description varchar(255) not null,
- userid varchar(48) not null,
- defaultpageid varchar(48) default 0 not null,
- weblogdayid varchar(48) not null,
- ignorewords @TEXT_SQL_TYPE@,
- enablebloggerapi @BOOLEAN_SQL_TYPE_FALSE@ not null,
- editorpage varchar(255) null,
- bloggercatid varchar(48) null,
- defaultcatid varchar(48) null,
- allowcomments @BOOLEAN_SQL_TYPE_TRUE@ not null,
- emailcomments @BOOLEAN_SQL_TYPE_FALSE@ not null,
- emailfromaddress varchar(255) null,
- emailaddress varchar(255) not null,
- editortheme varchar(255) null,
- locale varchar(20) null,
- timezone varchar(50) null,
- defaultplugins varchar(255) null,
- pinnedtomain @BOOLEAN_SQL_TYPE_FALSE@ not null,
- isenabled @BOOLEAN_SQL_TYPE_TRUE@ not null,
- datecreated timestamp not null
-);
-create index website_id_index on website(id);
-create index website_userid_index on website(userid);
-create index website_isenabled_index on website(isenabled);
-create index website_handle_index on website(handle);
-alter table website add constraint website_handle_uq unique (handle@INDEXSIZE@);
-
-create table folder (
- id varchar(48) not null primary key,
- name varchar(255) not null,
- description varchar(255) null,
- websiteid varchar(48) not null,
- parentid varchar(48)
-);
-create index folder_websiteid_index on folder( websiteid );
-
-create table folderassoc (
- id varchar(48) not null primary key,
- folderid varchar(48) not null,
- ancestorid varchar(40),
- relation varchar(20) not null
-);
-create index folderassoc_folderid_index on folderassoc( folderid );
-create index folderassoc_ancestorid_index on folderassoc( ancestorid );
-create index folderassoc_relation_index on folderassoc( relation );
-
-create table bookmark (
- id varchar(48) not null primary key,
- folderid varchar(48) not null,
- name varchar(255) not null,
- description varchar(255) null,
- url varchar(255) not null,
- weight integer default 0 not null,
- priority integer default 100 not null,
- image varchar(255) null,
- feedurl varchar(255) null
-);
-create index bookmark_folderid_index on bookmark( folderid );
-
-
-create table weblogcategory (
- id varchar(48) not null primary key,
- name varchar(255) not null,
- description varchar(255) null,
- websiteid varchar(48) not null,
- image varchar(255) null
-);
-create index weblogcategory_websiteid_index on weblogcategory( websiteid );
--- alter table weblogcategory add unique category_nameparentid_uq (parentid, name(20));
-
-create table weblogcategoryassoc (
- id varchar(48) not null primary key,
- categoryid varchar(48) not null,
- ancestorid varchar(40),
- relation varchar(20) not null
-);
-create index weblogcategoryassoc_categoryid_index on weblogcategoryassoc( categoryid );
-create index weblogcategoryassoc_ancestorid_index on weblogcategoryassoc( ancestorid );
-create index weblogcategoryassoc_relation_index on weblogcategoryassoc( relation );
-
-create table weblogentry (
- id varchar(48) not null primary key,
- userid varchar(48) not null,
- anchor varchar(255) not null,
- title varchar(255) not null,
- text @TEXT_SQL_TYPE@ not null,
- pubtime timestamp not null,
- updatetime timestamp not null,
- websiteid varchar(48) not null,
- categoryid varchar(48) not null,
- publishentry @BOOLEAN_SQL_TYPE_TRUE@ not null,
- link varchar(255) null,
- plugins varchar(255) null,
- allowcomments @BOOLEAN_SQL_TYPE_FALSE@ not null,
- commentdays integer default 7 not null,
- rightToLeft @BOOLEAN_SQL_TYPE_FALSE@ not null,
- pinnedtomain @BOOLEAN_SQL_TYPE_FALSE@ not null,
- locale varchar(20) null,
- status varchar(20) not null
-);
-create index weblogentry_websiteid_index on weblogentry( websiteid );
-create index weblogentry_categoryid_index on weblogentry( categoryid );
-create index weblogentry_pubtime_index on weblogentry( pubtime,publishentry,websiteid );
-create index weblogentry_pinnedtomain_index on weblogentry(pinnedtomain);
-create index weblogentry_publishentry_index on weblogentry(publishentry);
-create index weblogentry_userid_index on weblogentry(userid);
-
-create table newsfeed (
- id varchar(48) not null primary key,
- name varchar(255) not null,
- description varchar(255) not null,
- link varchar(255) not null,
- websiteid varchar(48) not null
-);
-create index newsfeed_websiteid_index on newsfeed( websiteid );
-
-
-create table comment (
- id varchar(48) not null primary key,
- entryid varchar(48) not null,
- name varchar(255) null,
- email varchar(255) null,
- url varchar(255) null,
- content @TEXT_SQL_TYPE@ null,
- posttime timestamp not null,
- spam @BOOLEAN_SQL_TYPE_FALSE@ not null,
- notify @BOOLEAN_SQL_TYPE_FALSE@ not null,
- remotehost varchar(128) null
-);
-create index comment_entryid_index on comment( entryid );
-
--- Ping Feature Tables
-
-create table pingtarget (
- id varchar(48) not null primary key,
- name varchar(255) not null, -- short descriptive name of the ping target
- pingurl varchar(255) not null, -- URL to receive the ping
- websiteid varchar(48) null, -- if not null, this is a custom target defined by the associated website
- conditioncode integer default 0 not null, -- condition code
- lastsuccess timestamp null -- last successful use
-);
-create index pingtarget_websiteid_index on pingtarget( websiteid );
-
--- auto ping configurations
-create table autoping (
- id varchar(48) not null primary key,
- websiteid varchar(48) not null, -- fk reference to website for which this auto ping configuration applies
- pingtargetid varchar(48) not null -- fk reference to the ping target to be pinged when the website changes
-);
-create index autoping_websiteid_index on autoping( websiteid );
-create index autoping_pingtargetid_index on autoping( pingtargetid );
-
-create table pingcategory (
- id varchar(48) not null primary key,
- autopingid varchar(48) not null, -- fk reference to ping configuration
- categoryid varchar(48) not null -- fk reference to category
-);
-create index pingcategory_autopingid_index on pingcategory( autopingid );
-create index pingcategory_categoryid_index on pingcategory( categoryid );
-
-create table pingqueueentry (
- id varchar(48) not null primary key,
- entrytime timestamp not null, -- timestamp of original entry onto the ping queue
- pingtargetid varchar(48) not null, -- weak fk reference to ping target (not constrained)
- websiteid varchar(48) not null, -- weak fk reference to website originating the ping (not constrained)
- attempts integer not null -- number of ping attempts that have been made for this entry
-);
-create index pingqueueentry_entrytime_index on pingqueueentry( entrytime );
-create index pingqueueentry_pingtargetid_index on pingqueueentry( pingtargetid );
-create index pingqueueentry_websiteid_index on pingqueueentry( websiteid );
-
-
--- Referer tracks URLs that refer to websites and entries
-create table referer (
- id varchar(48) not null primary key,
- websiteid varchar(48) not null,
- entryid varchar(48),
- datestr varchar(10),
- refurl varchar(255) not null,
- refpermalink varchar(255),
- reftime timestamp,
- requrl varchar(255),
- title varchar(255),
- excerpt @TEXT_SQL_TYPE@ null,
- dayhits integer default 0 not null,
- totalhits integer default 0 not null,
- visible @BOOLEAN_SQL_TYPE_FALSE@ not null,
- duplicate @BOOLEAN_SQL_TYPE_FALSE@ not null
-);
-create index referer_websiteid_index on referer( websiteid );
-create index referer_entryid_index on referer( entryid );
-create index referer_refurl_index on referer( refurl@INDEXSIZE@ );
-create index referer_requrl_index on referer( requrl@INDEXSIZE@ );
-create index referer_datestr_index on referer( datestr );
-create index referer_refpermalink_index on referer( refpermalink@INDEXSIZE@ );
-create index referer_duplicate_index on referer( duplicate );
-
--- Configuration options for Roller, should only ever be one row
--- Deprecated in 1.2: configuration now stored in roller_properties table
-create table rollerconfig (
- id varchar(48) not null primary key,
- sitedescription varchar(255) null,
- sitename varchar(255) null,
- emailaddress varchar(255) null,
- absoluteurl varchar(255) null,
- adminusers varchar(255) null,
- encryptpasswords @BOOLEAN_SQL_TYPE_TRUE@ not null,
- algorithm varchar(10) null,
- newuserallowed @BOOLEAN_SQL_TYPE_FALSE@ not null,
- editorpages varchar(255) null,
- userthemes varchar(255) not null,
- indexdir varchar(255) null,
- memdebug @BOOLEAN_SQL_TYPE_FALSE@ not null,
- autoformatcomments @BOOLEAN_SQL_TYPE_FALSE@ not null,
- escapecommenthtml @BOOLEAN_SQL_TYPE_TRUE@ not null,
- emailcomments @BOOLEAN_SQL_TYPE_FALSE@ not null,
- enableaggregator @BOOLEAN_SQL_TYPE_FALSE@ not null,
- enablelinkback @BOOLEAN_SQL_TYPE_FALSE@ not null,
- rsscachetime integer default 3000 not null,
- rssusecache @BOOLEAN_SQL_TYPE_TRUE@ not null,
- uploadallow varchar(255) null,
- uploadforbid varchar(255) null,
- uploadenabled @BOOLEAN_SQL_TYPE_TRUE@ not null,
- uploaddir varchar(255) not null,
- uploadpath varchar(255) not null,
- uploadmaxdirmb decimal(5,2) default 4.0 not null,
- uploadmaxfilemb decimal(5,2) default 1.5 not null,
- dbversion varchar(10) null,
- refspamwords @TEXT_SQL_TYPE@
-);
-
-create table roller_properties (
- name varchar(255) not null primary key,
- value @TEXT_SQL_TYPE@
-);
-
--- Entry attribute: metadata for weblog entries
-create table entryattribute (
- id varchar(48) not null primary key,
- entryid varchar(48) not null,
- name varchar(255) not null,
- value @TEXT_SQL_TYPE@ not null
-);
-create index entryattribute_entryid_index on entryattribute( entryid );
-alter table entryattribute add constraint entryattribute_name_uq unique ( entryid, name@INDEXSIZE@ );
-
-create table rag_group_subscription (
- id varchar(48) not null primary key,
- group_id varchar(48) not null,
- subscription_id varchar(48) not null
-);
-create index rag_group_subscription_gid on rag_group_subscription(group_id@INDEXSIZE@);
-create index rag_group_subscription_sid on rag_group_subscription(subscription_id@INDEXSIZE@);
-
-create table rag_config (
- id varchar(48) not null primary key,
- default_group_id varchar(48),
- title varchar(255) not null,
- description varchar(255),
- site_url varchar(255),
- output_dir varchar(255),
- cache_dir varchar(255) not null,
- template_dir varchar(255),
- main_page varchar(255),
- admin_name varchar(255),
- admin_email varchar(255) not null,
- group_page varchar(255),
- proxy_host varchar(255),
- proxy_port integer default -1
-);
-
-create table rag_group (
- id varchar(48) not null primary key,
- handle varchar(255) not null,
- title varchar(255) not null,
- description varchar(255),
- cat_restriction @TEXT_SQL_TYPE@,
- group_page varchar(255),
- max_page_entries integer default 30,
- max_feed_entries integer default 30
-);
-alter table rag_group add constraint rag_group_handle_uq unique ( handle@INDEXSIZE@ );
-create index rag_group_handle on rag_group(handle@INDEXSIZE@);
-
-create table rag_subscription (
- id varchar(48) not null primary key,
- title varchar(255),
- feed_url varchar(255) not null,
- site_url varchar(255),
- author varchar(255),
- last_updated timestamp,
- inbound_links integer default -1,
- inbound_blogs integer default -1
-);
-alter table rag_subscription add constraint rag_feed_url_uq unique ( feed_url@INDEXSIZE_LARGE@ );
-create index rag_subscription_feed_url on rag_subscription(feed_url@INDEXSIZE@);
-
-create table rag_entry (
- id varchar(48) not null primary key,
- subscription_id varchar(48) not null,
- handle varchar(255),
- title varchar(255),
- guid varchar(255),
- permalink @TEXT_SQL_TYPE@ not null,
- author varchar(255),
- content @TEXT_SQL_TYPE@,
- categories @TEXT_SQL_TYPE@,
- published timestamp not null,
- updated timestamp
-);
-create index rag_entry_sid on rag_entry(subscription_id@INDEXSIZE@);
-
--- *****************************************************
--- Now add the foreign key relationships
-
--- user, role and website
-
-alter table website add constraint website_userid_fk
- foreign key ( userid ) references rolleruser ( id );
-
-alter table userrole add constraint userrole_userid_fk
- foreign key ( userid ) references rolleruser( id );
-
--- page, entry, category, comment
-
-alter table webpage add constraint weblogpage_websiteid_fk
- foreign key ( websiteid ) references website( id );
-
-alter table weblogentry add constraint weblogentry_websiteid_fk
- foreign key ( websiteid ) references website( id );
-
-alter table weblogentry add constraint weblogentry_categoryid_fk
- foreign key ( categoryid ) references weblogcategory( id );
-
-alter table weblogcategory add constraint weblogcategory_websiteid_fk
- foreign key ( websiteid ) references website( id );
-
-alter table comment add constraint comment_entryid_fk
- foreign key ( entryid ) references weblogentry( id );
-
-alter table entryattribute add constraint att_entryid_fk
- foreign key ( entryid ) references weblogentry( id );
-
--- referer
-
-alter table referer add constraint referer_entryid_fk
- foreign key ( entryid ) references weblogentry( id );
-
-alter table referer add constraint referer_websiteid_fk
- foreign key ( websiteid ) references website( id );
-
--- folder and bookmark
-
-alter table folder add constraint folder_websiteid_fk
- foreign key ( websiteid ) references website( id );
-
--- alter table folder add constraint folder_parentid_fk
--- foreign key ( parentid ) references folder( id );
-
-alter table bookmark add constraint bookmark_folderid_fk
- foreign key ( folderid ) references folder( id );
-
--- newsfeed
-
-alter table newsfeed add constraint newsfeed_websiteid_fk
- foreign key ( websiteid ) references website( id );
-
--- pingtarget, autoping, pingcategory
-
-alter table pingtarget add constraint pingtarget_websiteid_fk
- foreign key (websiteid) references website(id);
-
-alter table autoping add constraint autoping_websiteid_fk
- foreign key (websiteid) references website(id);
-
-alter table autoping add constraint autoping_pingtargetid_fk
- foreign key (pingtargetid) references pingtarget(id);
-
-alter table pingcategory add constraint pingcategory_autopingid_fk
- foreign key (autopingid) references autoping(id);
-
-alter table pingcategory add constraint pingcategory_categoryid_fk
- foreign key (categoryid) references weblogcategory(id);
-
-
--- THE FOLLOWING CONSTRAINTS CAN NOT BE SUPPORTED FOR IMPORTING new-user.xml
--- alter table website add constraint website_defaultpageid_fk foreign key ( defaultpageid ) references webpage ( id );
--- alter table website add constraint website_weblogdayid_fk foreign key ( weblogdayid ) references webpage ( id );
--- alter table webpage add constraint webpage_websiteid_fk foreign key ( websiteid ) references website( id );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+-- Run this script to create the Roller database tables in your database.
+-- Make sure you run the correct version of this script.
+--
+-- * For MySQL run the script createdb.sql found in the mysql directory.
+-- * For PostgreSQL run the script createdb.sql found in the postgresql directory.
+-- * For HSQLDB run the script createdb.sql found in the hsqldb directory.
+--
+-- For those who grabbed Roller source from CVS, don't try to run the script
+-- named createdb-raw.sql, it is the source from which the above scripts are
+-- created.
+
+-- *****************************************************
+-- Create the tables and indices
+
+create table rolleruser (
+ id varchar(48) not null primary key,
+ username varchar(255) not null,
+ passphrase varchar(255) not null,
+ fullname varchar(255) not null,
+ emailaddress varchar(255) not null,
+ datecreated timestamp not null,
+ locale varchar(20),
+ timezone varchar(50),
+ isenabled @BOOLEAN_SQL_TYPE_TRUE@ not null
+);
+alter table rolleruser add constraint rolleruser_username_uq unique ( username@INDEXSIZE@ );
+
+create table userrole (
+ id varchar(48) not null primary key,
+ rolename varchar(255) not null,
+ username varchar(255) not null,
+ userid varchar(48) not null
+);
+create index userrole_userid_index on userrole( userid );
+create index userrole_username_index on userrole( username@INDEXSIZE@ );
+
+-- User permissions within a website
+-- permission_mask: bitmask 001 limited, 011 author, 100 admin
+-- pending: pending user acceptance of invitation to join website
+create table roller_user_permissions (
+ id varchar(48) not null primary key,
+ website_id varchar(48) not null,
+ user_id varchar(48) not null,
+ permission_mask integer not null,
+ pending @BOOLEAN_SQL_TYPE_TRUE@ not null
+);
+
+-- Audit log records time and comment about change
+-- user_id: user that made change
+-- object_id: id of associated object, if any
+-- object_class: name of associated object class (e.g. WeblogEntryData)
+-- comment: description of change
+-- change_time: time that change was made
+create table roller_audit_log (
+ id varchar(48) not null primary key,
+ user_id varchar(48) not null,
+ object_id varchar(48),
+ object_class varchar(255),
+ comment varchar(255) not null,
+ change_time timestamp
+);
+
+create table usercookie (
+ id varchar(48) not null primary key,
+ username varchar(255) not null,
+ cookieid varchar(100) not null,
+ datecreated timestamp not null
+);
+create index usercookie_username_index on usercookie( username@INDEXSIZE@ );
+create index usercookie_cookieid_index on usercookie( cookieid@INDEXSIZE@ );
+
+create table webpage (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ description varchar(255),
+ link varchar(255),
+ websiteid varchar(48) not null,
+ template @TEXT_SQL_TYPE@ not null,
+ updatetime timestamp not null
+);
+create index webpage_name_index on webpage( name@INDEXSIZE@ );
+create index webpage_link_index on webpage( link@INDEXSIZE@ );
+create index webpage_id_index on webpage( websiteid );
+
+create table website (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ handle varchar(255) not null,
+ description varchar(255) not null,
+ userid varchar(48) not null,
+ defaultpageid varchar(48) default '' not null,
+ weblogdayid varchar(48) not null,
+ ignorewords @TEXT_SQL_TYPE@,
+ enablebloggerapi @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ editorpage varchar(255),
+ bloggercatid varchar(48),
+ defaultcatid varchar(48),
+ allowcomments @BOOLEAN_SQL_TYPE_TRUE@ not null,
+ emailcomments @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ emailfromaddress varchar(255),
+ emailaddress varchar(255) not null,
+ editortheme varchar(255),
+ locale varchar(20),
+ timezone varchar(50),
+ defaultplugins varchar(255),
+ pinnedtomain @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ isenabled @BOOLEAN_SQL_TYPE_TRUE@ not null,
+ datecreated timestamp not null
+);
+create index website_userid_index on website(userid);
+create index website_isenabled_index on website(isenabled);
+create index website_handle_index on website(handle);
+alter table website add constraint website_handle_uq unique (handle@INDEXSIZE@);
+
+create table folder (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ description varchar(255),
+ websiteid varchar(48) not null,
+ parentid varchar(48)
+);
+create index folder_websiteid_index on folder( websiteid );
+
+create table folderassoc (
+ id varchar(48) not null primary key,
+ folderid varchar(48) not null,
+ ancestorid varchar(40),
+ relation varchar(20) not null
+);
+create index folderassoc_folderid_index on folderassoc( folderid );
+create index folderassoc_ancestorid_index on folderassoc( ancestorid );
+create index folderassoc_relation_index on folderassoc( relation );
+
+create table bookmark (
+ id varchar(48) not null primary key,
+ folderid varchar(48) not null,
+ name varchar(255) not null,
+ description varchar(255),
+ url varchar(255) not null,
+ weight integer default 0 not null,
+ priority integer default 100 not null,
+ image varchar(255),
+ feedurl varchar(255)
+);
+create index bookmark_folderid_index on bookmark( folderid );
+
+create table weblogcategory (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ description varchar(255),
+ websiteid varchar(48) not null,
+ image varchar(255)
+);
+create index weblogcategory_websiteid_index on weblogcategory( websiteid );
+-- alter table weblogcategory add unique category_nameparentid_uq (parentid, name(20));
+
+create table weblogcategoryassoc (
+ id varchar(48) not null primary key,
+ categoryid varchar(48) not null,
+ ancestorid varchar(40),
+ relation varchar(20) not null
+);
+create index weblogcategoryassoc_categoryid_index on weblogcategoryassoc( categoryid );
+create index weblogcategoryassoc_ancestorid_index on weblogcategoryassoc( ancestorid );
+create index weblogcategoryassoc_relation_index on weblogcategoryassoc( relation );
+
+create table weblogentry (
+ id varchar(48) not null primary key,
+ userid varchar(48) not null,
+ anchor varchar(255) not null,
+ title varchar(255) not null,
+ text @TEXT_SQL_TYPE@ not null,
+ pubtime timestamp not null,
+ updatetime timestamp not null,
+ websiteid varchar(48) not null,
+ categoryid varchar(48) not null,
+ publishentry @BOOLEAN_SQL_TYPE_TRUE@ not null,
+ link varchar(255),
+ plugins varchar(255),
+ allowcomments @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ commentdays integer default 7 not null,
+ rightToLeft @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ pinnedtomain @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ locale varchar(20),
+ status varchar(20) not null
+);
+create index weblogentry_websiteid_index on weblogentry( websiteid );
+create index weblogentry_categoryid_index on weblogentry( categoryid );
+create index weblogentry_pubtime_index on weblogentry( pubtime,publishentry,websiteid );
+create index weblogentry_pinnedtomain_index on weblogentry(pinnedtomain);
+create index weblogentry_publishentry_index on weblogentry(publishentry);
+create index weblogentry_userid_index on weblogentry(userid);
+
+create table newsfeed (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ description varchar(255) not null,
+ link varchar(255) not null,
+ websiteid varchar(48) not null
+);
+create index newsfeed_websiteid_index on newsfeed( websiteid );
+
+
+create table comment (
+ id varchar(48) not null primary key,
+ entryid varchar(48) not null,
+ name varchar(255),
+ email varchar(255),
+ url varchar(255),
+ content @TEXT_SQL_TYPE@,
+ posttime timestamp not null,
+ spam @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ notify @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ remotehost varchar(128)
+);
+create index comment_entryid_index on comment( entryid );
+
+-- Ping Feature Tables
+-- name: short descriptive name of the ping target
+-- pingurl: URL to receive the ping
+-- websiteid: if not null, this is a custom target defined by the associated website
+-- conditioncode:
+-- lastsuccess:
+create table pingtarget (
+ id varchar(48) not null primary key,
+ name varchar(255) not null,
+ pingurl varchar(255) not null,
+ websiteid varchar(48),
+ conditioncode integer default 0 not null,
+ lastsuccess timestamp
+);
+create index pingtarget_websiteid_index on pingtarget( websiteid );
+
+-- auto ping configurations
+-- websiteid: fk reference to website for which this auto ping configuration applies
+-- pingtargetid: fk reference to the ping target to be pinged when the website changes
+create table autoping (
+ id varchar(48) not null primary key,
+ websiteid varchar(48) not null,
+ pingtargetid varchar(48) not null
+);
+create index autoping_websiteid_index on autoping( websiteid );
+create index autoping_pingtargetid_index on autoping( pingtargetid );
+
+-- autopingid: fk reference to ping configuration
+-- categoryid: fk reference to category
+create table pingcategory (
+ id varchar(48) not null primary key,
+ autopingid varchar(48) not null,
+ categoryid varchar(48) not null
+);
+create index pingcategory_autopingid_index on pingcategory( autopingid );
+create index pingcategory_categoryid_index on pingcategory( categoryid );
+
+-- entrytime: timestamp of original entry onto the ping queue
+-- pingtargetid: weak fk reference to ping target (not constrained)
+-- websiteid: weak fk reference to website originating the ping (not constrained)
+-- attempts: number of ping attempts that have been made for this entry
+create table pingqueueentry (
+ id varchar(48) not null primary key,
+ entrytime timestamp not null,
+ pingtargetid varchar(48) not null,
+ websiteid varchar(48) not null,
+ attempts integer not null
+);
+create index pingqueueentry_entrytime_index on pingqueueentry( entrytime );
+create index pingqueueentry_pingtargetid_index on pingqueueentry( pingtargetid );
+create index pingqueueentry_websiteid_index on pingqueueentry( websiteid );
+
+
+-- Referer tracks URLs that refer to websites and entries
+create table referer (
+ id varchar(48) not null primary key,
+ websiteid varchar(48) not null,
+ entryid varchar(48),
+ datestr varchar(10),
+ refurl varchar(255) not null,
+ refpermalink varchar(255),
+ reftime timestamp,
+ requrl varchar(255),
+ title varchar(255),
+ excerpt @TEXT_SQL_TYPE@,
+ dayhits integer default 0 not null,
+ totalhits integer default 0 not null,
+ visible @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ duplicate @BOOLEAN_SQL_TYPE_FALSE@ not null
+);
+create index referer_websiteid_index on referer( websiteid );
+create index referer_entryid_index on referer( entryid );
+create index referer_refurl_index on referer( refurl@INDEXSIZE@ );
+create index referer_requrl_index on referer( requrl@INDEXSIZE@ );
+create index referer_datestr_index on referer( datestr );
+create index referer_refpermalink_index on referer( refpermalink@INDEXSIZE@ );
+create index referer_duplicate_index on referer( duplicate );
+
+-- Configuration options for Roller, should only ever be one row
+-- Deprecated in 1.2: configuration now stored in roller_properties table
+create table rollerconfig (
+ id varchar(48) not null primary key,
+ sitedescription varchar(255),
+ sitename varchar(255),
+ emailaddress varchar(255),
+ absoluteurl varchar(255),
+ adminusers varchar(255),
+ encryptpasswords @BOOLEAN_SQL_TYPE_TRUE@ not null,
+ algorithm varchar(10),
+ newuserallowed @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ editorpages varchar(255),
+ userthemes varchar(255) not null,
+ indexdir varchar(255),
+ memdebug @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ autoformatcomments @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ escapecommenthtml @BOOLEAN_SQL_TYPE_TRUE@ not null,
+ emailcomments @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ enableaggregator @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ enablelinkback @BOOLEAN_SQL_TYPE_FALSE@ not null,
+ rsscachetime integer default 3000 not null,
+ rssusecache @BOOLEAN_SQL_TYPE_TRUE@ not null,
+ uploadallow varchar(255),
+ uploadforbid varchar(255),
+ uploadenabled @BOOLEAN_SQL_TYPE_TRUE@ not null,
+ uploaddir varchar(255) not null,
+ uploadpath varchar(255) not null,
+ uploadmaxdirmb decimal(5,2) default 4.0 not null,
+ uploadmaxfilemb decimal(5,2) default 1.5 not null,
+ dbversion varchar(10),
+ refspamwords @TEXT_SQL_TYPE@
+);
+
+create table roller_properties (
+ name varchar(255) not null primary key,
+ value @TEXT_SQL_TYPE@
+);
+
+-- Entry attribute: metadata for weblog entries
+create table entryattribute (
+ id varchar(48) not null primary key,
+ entryid varchar(48) not null,
+ name varchar(255) not null,
+ value @TEXT_SQL_TYPE@ not null
+);
+create index entryattribute_entryid_index on entryattribute( entryid );
+alter table entryattribute add constraint entryattribute_name_uq unique ( entryid, name@INDEXSIZE@ );
+
+create table rag_group_subscription (
+ id varchar(48) not null primary key,
+ group_id varchar(48) not null,
+ subscription_id varchar(48) not null
+);
+create index rag_group_subscription_gid on rag_group_subscription(group_id@INDEXSIZE@);
+create index rag_group_subscription_sid on rag_group_subscription(subscription_id@INDEXSIZE@);
+
+create table rag_config (
+ id varchar(48) not null primary key,
+ default_group_id varchar(48),
+ title varchar(255) not null,
+ description varchar(255),
+ site_url varchar(255),
+ output_dir varchar(255),
+ cache_dir varchar(255) not null,
+ template_dir varchar(255),
+ main_page varchar(255),
+ admin_name varchar(255),
+ admin_email varchar(255) not null,
+ group_page varchar(255),
+ proxy_host varchar(255),
+ proxy_port integer default -1
+);
+
+create table rag_group (
+ id varchar(48) not null primary key,
+ handle varchar(255) not null,
+ title varchar(255) not null,
+ description varchar(255),
+ cat_restriction @TEXT_SQL_TYPE@,
+ group_page varchar(255),
+ max_page_entries integer default 30,
+ max_feed_entries integer default 30
+);
+alter table rag_group add constraint rag_group_handle_uq unique ( handle@INDEXSIZE@ );
+
+create table rag_subscription (
+ id varchar(48) not null primary key,
+ title varchar(255),
+ feed_url varchar(255) not null,
+ site_url varchar(255),
+ author varchar(255),
+ last_updated timestamp,
+ inbound_links integer default -1,
+ inbound_blogs integer default -1
+);
+alter table rag_subscription add constraint rag_feed_url_uq unique ( feed_url@INDEXSIZE_LARGE@ );
+
+create table rag_entry (
+ id varchar(48) not null primary key,
+ subscription_id varchar(48) not null,
+ handle varchar(255),
+ title varchar(255),
+ guid varchar(255),
+ permalink @TEXT_SQL_TYPE@ not null,
+ author varchar(255),
+ content @TEXT_SQL_TYPE@,
+ categories @TEXT_SQL_TYPE@,
+ published timestamp not null,
+ updated timestamp
+);
+create index rag_entry_sid on rag_entry(subscription_id@INDEXSIZE@);
+
+-- *****************************************************
+-- Now add the foreign key relationships
+
+-- user, role and website
+
+alter table website add constraint website_userid_fk
+ foreign key ( userid ) references rolleruser ( id ) @ADDL_FK_PARAMS@ ;
+
+alter table userrole add constraint userrole_userid_fk
+ foreign key ( userid ) references rolleruser( id ) @ADDL_FK_PARAMS@ ;
+
+-- page, entry, category, comment
+
+alter table webpage add constraint weblogpage_websiteid_fk
+ foreign key ( websiteid ) references website( id ) @ADDL_FK_PARAMS@ ;
+
+alter table weblogentry add constraint weblogentry_websiteid_fk
+ foreign key ( websiteid ) references website( id ) @ADDL_FK_PARAMS@ ;
+
+alter table weblogentry add constraint weblogentry_categoryid_fk
+ foreign key ( categoryid ) references weblogcategory( id ) @ADDL_FK_PARAMS@ ;
+
+alter table weblogcategory add constraint weblogcategory_websiteid_fk
+ foreign key ( websiteid ) references website( id ) @ADDL_FK_PARAMS@ ;
+
+alter table comment add constraint comment_entryid_fk
+ foreign key ( entryid ) references weblogentry( id ) @ADDL_FK_PARAMS@ ;
+
+alter table entryattribute add constraint att_entryid_fk
+ foreign key ( entryid ) references weblogentry( id ) @ADDL_FK_PARAMS@ ;
+
+-- referer
+
+alter table referer add constraint referer_entryid_fk
+ foreign key ( entryid ) references weblogentry( id ) @ADDL_FK_PARAMS@ ;
+
+alter table referer add constraint referer_websiteid_fk
+ foreign key ( websiteid ) references website( id ) @ADDL_FK_PARAMS@ ;
+
+-- folder and bookmark
+
+alter table folder add constraint folder_websiteid_fk
+ foreign key ( websiteid ) references website( id ) @ADDL_FK_PARAMS@ ;
+
+-- alter table folder add constraint folder_parentid_fk
+-- foreign key ( parentid ) references folder( id );
+
+alter table bookmark add constraint bookmark_folderid_fk
+ foreign key ( folderid ) references folder( id ) @ADDL_FK_PARAMS@ ;
+
+-- newsfeed
+
+alter table newsfeed add constraint newsfeed_websiteid_fk
+ foreign key ( websiteid ) references website( id ) @ADDL_FK_PARAMS@ ;
+
+-- pingtarget, autoping, pingcategory
+
+alter table pingtarget add constraint pingtarget_websiteid_fk
+ foreign key (websiteid) references website(id) @ADDL_FK_PARAMS@ ;
+
+alter table autoping add constraint autoping_websiteid_fk
+ foreign key (websiteid) references website(id) @ADDL_FK_PARAMS@ ;
+
+alter table autoping add constraint autoping_pingtargetid_fk
+ foreign key (pingtargetid) references pingtarget(id) @ADDL_FK_PARAMS@ ;
+
+alter table pingcategory add constraint pingcategory_autopingid_fk
+ foreign key (autopingid) references autoping(id) @ADDL_FK_PARAMS@ ;
+
+alter table pingcategory add constraint pingcategory_categoryid_fk
+ foreign key (categoryid) references weblogcategory(id) @ADDL_FK_PARAMS@ ;
+
+
+-- THE FOLLOWING CONSTRAINTS CAN NOT BE SUPPORTED FOR IMPORTING new-user.xml
+-- alter table website add constraint website_defaultpageid_fk foreign key ( defaultpageid ) references webpage ( id );
+-- alter table website add constraint website_weblogdayid_fk foreign key ( weblogdayid ) references webpage ( id );
+-- alter table webpage add constraint webpage_websiteid_fk foreign key ( websiteid ) references website( id );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Added: incubator/roller/branches/roller_2.0/metadata/database/db_db2.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/db_db2.properties?rev=279136&view=auto
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/db_db2.properties (added)
+++ incubator/roller/branches/roller_2.0/metadata/database/db_db2.properties Tue Sep 6 14:50:59 2005
@@ -0,0 +1 @@
+TEXT_SQL_TYPE=clob(102400)
BOOLEAN_SQL_TYPE_FALSE=smallint default 0
BOOLEAN_SQL_TYPE_TRUE=smallint default 1
BOOLEAN_SQL_TYPE=smallint
BOOLEAN_FALSE=0
BOOLEAN_TRUE=1
INDEXSIZE=
INDEXSIZE_LARGE=
ALTER_TABLE_NOT_NULL= not null
ADDL_FK_PARAMS=on delete no action on update no action enforced enable query optimization
\ No newline at end of file
Added: incubator/roller/branches/roller_2.0/metadata/database/db_derby.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/db_derby.properties?rev=279136&view=auto
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/db_derby.properties (added)
+++ incubator/roller/branches/roller_2.0/metadata/database/db_derby.properties Tue Sep 6 14:50:59 2005
@@ -0,0 +1 @@
+TEXT_SQL_TYPE=clob(102400)
BOOLEAN_SQL_TYPE_FALSE=smallint default 0
BOOLEAN_SQL_TYPE_TRUE=smallint default 1
BOOLEAN_SQL_TYPE=smallint
BOOLEAN_FALSE=0
BOOLEAN_TRUE=1
INDEXSIZE=
INDEXSIZE_LARGE=
ALTER_TABLE_NOT_NULL= not null
ADDL_FK_PARAMS=
\ No newline at end of file
Modified: incubator/roller/branches/roller_2.0/metadata/database/db_hsql.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/db_hsql.properties?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/db_hsql.properties (original)
+++ incubator/roller/branches/roller_2.0/metadata/database/db_hsql.properties Tue Sep 6 14:50:59 2005
@@ -7,3 +7,4 @@
INDEXSIZE=
INDEXSIZE_LARGE=
ALTER_TABLE_NOT_NULL= not null
+ADDL_FK_PARAMS=
Modified: incubator/roller/branches/roller_2.0/metadata/database/db_mysql.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/db_mysql.properties?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/db_mysql.properties (original)
+++ incubator/roller/branches/roller_2.0/metadata/database/db_mysql.properties Tue Sep 6 14:50:59 2005
@@ -1 +1 @@
-TEXT_SQL_TYPE=text
BOOLEAN_SQL_TYPE_FALSE=bit default 0
BOOLEAN_SQL_TYPE_TRUE=bit default 1
BOOLEAN_SQL_TYPE=bit
BOOLEAN_FALSE=0
BOOLEAN_TRUE=1
INDEXSIZE=(40)
INDEXSIZE_LARGE=(100)
ALTER_TABLE_NOT_NULL= not null
\ No newline at end of file
+TEXT_SQL_TYPE=text
BOOLEAN_SQL_TYPE_FALSE=bit default 0
BOOLEAN_SQL_TYPE_TRUE=bit default 1
BOOLEAN_SQL_TYPE=bit
BOOLEAN_FALSE=0
BOOLEAN_TRUE=1
INDEXSIZE=(40)
INDEXSIZE_LARGE=(100)
ALTER_TABLE_NOT_NULL= not null
ADDL_FK_PARAMS=
\ No newline at end of file
Modified: incubator/roller/branches/roller_2.0/metadata/database/db_postgresql.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/db_postgresql.properties?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/db_postgresql.properties (original)
+++ incubator/roller/branches/roller_2.0/metadata/database/db_postgresql.properties Tue Sep 6 14:50:59 2005
@@ -6,4 +6,5 @@
BOOLEAN_TRUE=true
INDEXSIZE=
INDEXSIZE_LARGE=
-ALTER_TABLE_NOT_NULL=
\ No newline at end of file
+ALTER_TABLE_NOT_NULL=
+ADDL_FK_PARAMS=
\ No newline at end of file
Modified: incubator/roller/branches/roller_2.0/metadata/database/hibernate/hibernate.cfg.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/hibernate/hibernate.cfg.xml?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/hibernate/hibernate.cfg.xml (original)
+++ incubator/roller/branches/roller_2.0/metadata/database/hibernate/hibernate.cfg.xml Tue Sep 6 14:50:59 2005
@@ -10,9 +10,11 @@
<property name="connection.datasource">java:comp/env/jdbc/rollerdb</property>
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<!--
- If you want to use HSQLDB or PostgreSQL, then use the right dialect
+ If you want to use HSQLDB, PostgreSQL, DB2 or Derby, then use the right dialect
<property name="dialect">net.sf.hibernate.dialect.HQLDBDialect</property>
<property name="dialect">net.sf.hibernate.dialect.PostgreSQLDialect</property>
+ <property name="dialect">net.sf.hibernate.dialect.DB2SQLDialect</property>
+ <property name="dialect">net.sf.hibernate.dialect.DerbyDialect</property>
-->
<!--
Modified: incubator/roller/branches/roller_2.0/metadata/database/rollerdb.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/metadata/database/rollerdb.properties?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/metadata/database/rollerdb.properties (original)
+++ incubator/roller/branches/roller_2.0/metadata/database/rollerdb.properties Tue Sep 6 14:50:59 2005
@@ -16,6 +16,13 @@
#driverClassName=org.hsqldb.jdbcDriver
#connectionUrl=jdbc:hsqldb:hsql://localhost:8802
+# Exmaple config for DB2
+#userName=db2admin
+#password=db2admin
+#driverClassName=COM.ibm.db2.jdbc.net.DB2Driver
+#connectionUrl=jdbc:db2://localhost/rollerdb
+
+
# The "src." prefix is for the source database in SyncUpgrade098Xto1000.java
#src.driverClassName=com.mysql.jdbc.Driver
#src.ConnectionUrl=jdbc:mysql://localhost/roller_db_10?autoReconnect=true&user=scott&password=tiger&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8
Modified: incubator/roller/branches/roller_2.0/properties.xmlf
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/properties.xmlf?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/properties.xmlf (original)
+++ incubator/roller/branches/roller_2.0/properties.xmlf Tue Sep 6 14:50:59 2005
@@ -52,6 +52,8 @@
<include name="velocity-1.4.jar"/>
<include name="velocity-dep-1.4.jar"/>
<include name="velocity-tools-1.1.jar"/>
+ <include name="mail.jar"/>
+ <include name="activation.jar"/>
</fileset>
<fileset id="presentation.jars" dir="${ro.tools}/lib">
Modified: incubator/roller/branches/roller_2.0/src/org/roller/business/utils/UpgradeDatabase.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/business/utils/UpgradeDatabase.java?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/business/utils/UpgradeDatabase.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/business/utils/UpgradeDatabase.java Tue Sep 6 14:50:59 2005
@@ -9,6 +9,7 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import org.roller.pojos.PermissionsData;
/**
@@ -98,10 +99,18 @@
mLogger.info("Database is old, beginning upgrade to version "+myVersion);
// iterate through each upgrade as needed
- // to add to the upgrade sequence simply add a new "else if" statement
+ // to add to the upgrade sequence simply add a new "if" statement
// for whatever version needed and then define a new method upgradeXXX()
- if(dbversion < 130)
+ if(dbversion < 130)
+ {
UpgradeDatabase.upgradeTo130(con);
+ dbversion = 130;
+ }
+ if (dbversion < 200)
+ {
+ UpgradeDatabase.upgradeTo200(con);
+ dbversion = 200;
+ }
// make sure the database version is the exact version
// we are upgrading too.
@@ -136,7 +145,10 @@
setCustomThemeStmt.setString(1, org.roller.pojos.Theme.CUSTOM);
setCustomThemeStmt.executeUpdate();
+ if (!con.getAutoCommit()) con.commit();
+
mLogger.info("Upgrade to 130 complete.");
+
} catch (SQLException e) {
mLogger.error("Problem upgrading database to version 130", e);
throw new RollerException("Problem upgrading database to version 130", e);
@@ -145,6 +157,78 @@
// If someone is upgrading to 1.3.x then we are setting the db version
// for the first time. Normally we would just updateDatabaseVersion()
UpgradeDatabase.setDatabaseVersion(con, 130);
+ }
+
+ /**
+ * Upgrade database for Roller 2.0.0
+ */
+ private static void upgradeTo200(Connection con) throws RollerException {
+ try {
+ mLogger.info("Doing upgrade to 200 ...");
+ mLogger.info("Populating roller_user_permissions table");
+
+ PreparedStatement websitesQuery = con.prepareStatement(
+ "select w.id, u.id, u.username from "
+ + "website as w, rolleruser as u where u.id=w.userid");
+ PreparedStatement websiteUpdate = con.prepareStatement(
+ "update website set handle=? where id=?");
+ PreparedStatement entryUpdate = con.prepareStatement(
+ "update weblogentry set userid=?, status=?, "
+ + "pubtime=pubtime, updatetime=updatetime "
+ + "where publishentry=?");
+ PreparedStatement permsInsert = con.prepareStatement(
+ "insert roller_user_permissions "
+ + "(id, website_id, user_id, permission_mask, pending) "
+ + "values (?,?,?,?,?)");
+
+ // loop through websites, each has a user
+ ResultSet websiteSet = websitesQuery.executeQuery();
+ while (websiteSet.next()) {
+ String websiteid = websiteSet.getString("w.id");
+ String userid = websiteSet.getString("u.id");
+ String handle = websiteSet.getString("u.username");
+ mLogger.info("Processing website: " + handle);
+
+ // use website user's username as website handle
+ websiteUpdate.clearParameters();
+ websiteUpdate.setString(1, handle);
+ websiteUpdate.setString(2, websiteid);
+ websiteUpdate.executeUpdate();
+
+ // update all of pubished entries to include userid and status
+ entryUpdate.clearParameters();
+ entryUpdate.setString( 1, userid);
+ entryUpdate.setString( 2, "PUBLISHED");
+ entryUpdate.setBoolean(3, true);
+ entryUpdate.executeUpdate();
+
+ // update all of draft entries to include userid and status
+ entryUpdate.clearParameters();
+ entryUpdate.setString( 1, userid);
+ entryUpdate.setString( 2, "DRAFT");
+ entryUpdate.setBoolean(3, false);
+ entryUpdate.executeUpdate();
+
+ // add permission for user in website
+ permsInsert.clearParameters();
+ permsInsert.setString( 1, websiteid+"p");
+ permsInsert.setString( 2, websiteid);
+ permsInsert.setString( 3, userid);
+ permsInsert.setShort( 4, PermissionsData.ADMIN);
+ permsInsert.setBoolean(5, false);
+ permsInsert.executeUpdate();
+ }
+
+ if (!con.getAutoCommit()) con.commit();
+
+ mLogger.info("Upgrade to 200 complete.");
+
+ } catch (SQLException e) {
+ mLogger.error("Problem upgrading database to version 200", e);
+ throw new RollerException("Problem upgrading database to version 200", e);
+ }
+
+ UpgradeDatabase.updateDatabaseVersion(con, 200);
}
Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java Tue Sep 6 14:50:59 2005
@@ -105,11 +105,6 @@
return bundle.getString("weblogEdit.title.editEntry");
}
- public String getBaseURL()
- {
- return getRequest().getContextPath();
- }
-
/**
* Get recent weblog entries using request parameters to determine
* username, date, and category name parameters.
Modified: incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/UserBaseAction.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/UserBaseAction.java?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/UserBaseAction.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/presentation/website/actions/UserBaseAction.java Tue Sep 6 14:50:59 2005
@@ -1,37 +1,15 @@
package org.roller.presentation.website.actions;
-import java.util.Collection;
-import java.util.Locale;
-import java.util.TimeZone;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-
+import org.apache.commons.lang.CharSetUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;
-import org.roller.RollerException;
-import org.roller.model.RollerFactory;
-import org.roller.model.UserManager;
-import org.roller.pojos.UserData;
-import org.roller.pojos.WebsiteData;
-import org.roller.presentation.RollerContext;
-import org.roller.presentation.RollerRequest;
+import org.roller.config.RollerConfig;
import org.roller.presentation.website.formbeans.UserFormEx;
-import org.roller.util.DateUtil;
-import org.roller.util.Utilities;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-import java.util.TimeZone;
-import java.util.TreeSet;
-
-import org.roller.model.RollerFactory;
/////////////////////////////////////////////////////////////////////////////
@@ -42,12 +20,20 @@
{
private static Log mLogger =
LogFactory.getFactory().getInstance(UserBaseAction.class);
+
+ protected static String DEFAULT_ALLOWED_CHARS = "A-Za-z0-9";
//------------------------------------------------------------------------
/** Validate user form. TODO: replace with Struts validation. */
protected ActionMessages validate( UserFormEx form, ActionMessages errors ) {
- String safe = Utilities.replaceNonAlphanumeric(form.getUserName());
+ String allowed = RollerConfig.getProperty("username.allowedChars");
+ if(allowed == null || allowed.trim().length() == 0) {
+ allowed = DEFAULT_ALLOWED_CHARS;
+ }
+
+ String safe = CharSetUtils.keep(form.getUserName(), allowed);
+
if ( "".equals(form.getUserName().trim()))
{
errors.add( ActionErrors.GLOBAL_ERROR,
Modified: incubator/roller/branches/roller_2.0/src/org/roller/util/Utilities.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller_2.0/src/org/roller/util/Utilities.java?rev=279136&r1=279135&r2=279136&view=diff
==============================================================================
--- incubator/roller/branches/roller_2.0/src/org/roller/util/Utilities.java (original)
+++ incubator/roller/branches/roller_2.0/src/org/roller/util/Utilities.java Tue Sep 6 14:50:59 2005
@@ -974,6 +974,7 @@
*/
public static final String textToHTML(String text, boolean xml)
{
+ if (text == null) return null;
final StringBuffer html = new StringBuffer();
// Loop thru each characters of the text