!!!!!! THIS PAGE MAY BE OUTDATED !!!!!!

How To Initialize a Test Instance

It is not recommended that this be done by a "lay person" at the present time. But it is possible:

  1. Decide upon database server. The options are:
    • pgsql - a dedicated PostgreSQL server
    • hsqldb - the builtin hsqldb. This is good for testing because you do not have to set up any database system.
  2. Edit etc/hibernate.cfg.xml-${database}, where ${database} is one of hsqldb, oracle, or pgsql. If your server isn't listed, you can add one, anything that is supported by Hibernate should work.
  3. Start a data upload web service ant/bin/ant -Ddatabase=${database} webServer
  4. In a different command prompt, start the data submission process ant/bin/ant -Ddatabase=${database} reloaddb -- this will take quite a while to complete. If you decide to interrupt the load, you must at least run the word indexer: ant/bin/ant -Ddatabase=${database} wordIndexer.
  5. You can, if you want, stop the data upload web service by stopping the first command prompt.
  6. Finally run the application ant/bin/ant -Ddatabase=${database} run

We can do fine grained access control for PostgreSQL, but it is not automated yet and we are working on the version of our software which can use the "locked down" database. Soon to come.

How To Initialize a Test Instance Simply, Locally and without Multum

To just use the builtin hsqldb without any hassles do only this:

  1. On the first command prompt: ant/bin/ant webServer
  2. On a second command prompt: ant/bin/ant reloaddb
  3. If last step was not completed, ant/bin/ant wordIndexer
  4. Finally the app: ant/bin/ant -Ddatabase=${database} run

Do not worry that the reloaddb will fail at some point with the multum files missing, in fact that is even desired in this case because the multum dictionary is very large and takes a lot of time to load on the hsqldb server. Just proceed with the next steps (wordIndexer) and you'll be fine.