==========================================================================
QuickBuild-1.0.3 readme
==========================================================================


System requirements
-------------------
1. Operating system: any OS platform supports Sun JDK1.4 or upper.

2. Physical memory: 256M minimum, 512M recommended.

3. Web browser: Internet explorer 6.x or Firefox 1.x, with javascript and cookie enabled.


Installation guide
------------------
1. Make sure you have jdk1.4 or jdk1.5 installed. Go to "http://java.sun.com/" for
   JDK download, if you didn't install it yet. Also the environment variable JAVA_HOME
   need to be defined to point to JDK home directory (the directory containing bin,
   lib,...).

2. Extract quickbuild-1.0.3.zip or quickbuild-1.0.3.tar.gz. After extraction, a directory
   "quickbuild-1.0.3" will be created.

3. Make sure port 8080 is not used by any other applications. Change to "bin" sub
   directory under "quickbuild-1.0.3".
   
   1) If you are installing QuickBuild on Windows platform, run "startup.bat" to start
      QuickBuild, or run "shutdown.bat" to stop QuickBuild.

   2) If you are installing QuickBuild on UNIX-like platform, make sure the account used
      to start QuickBuild has full access to directory "quickbuild-1.0.3" and its sub
      directories. Run "startup.sh" to start QuickBuild, or run "shutdown.sh" to stop
      QuickBuild.
      
   Make sure there are no errors printed out in the console.
   
4. Access QuickBuild web interface from http://<your server>:8080, where <your server>
   should be replaced by computer name or ip address of the server running QuickBuild.
   At this time, you are recognized as anonymous user, and can only access configurations
   that are publicly accessible. In order to see all configurations or manage QuickBuild,
   you need to login as administrator. User name of administrator is "admin", password is
   initially "admin", and can be changed in file "quickbuild-1.0.3/config.propreties".

5. QuickBuild uses the embedded HSQLDB for data management by default. For production use, 
   please replace it with other serious database as introduced below.


Use other databases other than the embedded HSQLDB
--------------------------------------------------
1. Do a backup of current database through "administration" tab, so that the backed up
   data can be restored into your new database later. Of course this step is not necessary
   if you do not want to migrate data in current database.

2. Modify "config.properties" to connect to your desired database. Currently the following
   databases other than HSQLDB are supported:

   1) MySQL

3. Restore the database through "administration" tab, using backed up file in step 1. This
   step is not necessary if you do not want to migrate data.

WARNING: Do not connect multiple QuickBuild instances to the same database. 



Use other application servers other than shipped Tomcat
-------------------------------------------------------
1. Change to "bin" sub directory, and run command "war.bat" (or "war.sh" in Unix-like systems).
   The file "quickbuild.war" will be generated in QuickBuild's installation directory.

2. Deploy "quickbuild.war" into your choosed application server by following your application
   server's instructions. Note that the URL to access QuickBuild may be different, and it 
   depends on how you deploy "quickbuild.war". QuickBuild has been tested with the following 
   application servers:    

   1) Tomcat 4.x, Tomcat 5.x

   2) Resin 3.x

3. QuickBuild may work with other application servers (must support Servlet 2.3), but has not 
   been tested.
    

Migrate data from existing Luntbuild or QuickBuild installation
---------------------------------------------------------------
1. Migrate data from QuickBuild 1.0.2, 1.0.1, 1.0, PREVIEW2 or PREVIEW3

   1) If you are using MySQL as database, edit file "config.properties" to connect to your
      existing MySQL database.
      
      NOTE: Please do not simply overwrite "config.properties" with the same file from
            existing installation, cause this file has been changed since PREVIEW3.

   2) If you are using HSQLDB as database:

      a) Remove the "data" sub directory of QuickBuild 1.0.3.

      b) Copy "data" sub directory from existing installation to QuickBuild 1.0.3.

   3) Copy "publish" sub directory from existing installation to QuickBuild 1.0.3.

2. Migrate data from Luntbuild 1.2.x

   1) Start up Luntbuild, and export data into "data.xml" under Luntbuild installation directory.

   2) Login to QuickBuild as "admin", change to "administration" tab, and select
      "Migrate from Luntbuild".

   3) During the migration, all build artifacts will be picked up from your existing Luntbuild
      instance and modified to be compatible with QuickBuild's artifacts structure, and put
      under the "publish" sub directory of QuickBuild. This may take a long time if you have
      many many builds, so be patient...

   4) If you just want to migrate configuration data (such as projects, schedules), but not
      build artifacts, you can simply select "Restore database" menu item, and specify path
      to "data.xml" created in step 1).

   5) After the migration, please be aware of the following things:

      a) OGNL expressions used in "next build version", "build properties", and
         "build environments" are not migrated. You should make sure they conform to new
         OGNL expressions described in Chapter 4 in the user guide.

      b) Project dependencies are not migrated, cause dependency mechanism in QuickBuild
         is very different from Luntbuild. You need to understand the new dependency
         mechanism and get them re-configured.

      c) Properties such as "build necessary condition" and "build success condition" have
         been reset to conform to new format of QuickBuild. You can customize them further to fit your needs.

==========================================================================
Thanks for using QuickBuild. Any problem or suggestion, please visit 
http://www.pmease.com/support.html
==========================================================================