These instructions have been tested on Ubuntu. It is possible they will also work for Windows. They are known to fail on Mac.
Prerequisite: Subversion command-line client
Obtain Specify's source code from SourceForge by doing an svn export of the trunk at an appropriate revision number. At the bottom of this page there is a listing of Specify release version numbers and their corresponding Subversion revision numbers:
As of 2011-10-31 the latest version was 6.3.07 =~ rev. 9954.
Specify has some instructions for downloading and building here.
Note that the trunk contains code for two different code bases, Specify and SpecifyDroid. We are at this point only interested in the code for the desktop version in the Specify directory.
> mkdir specify-fp > cd specify-fp > svn export -r 9954 https://specify.svn.sourceforge.net/svnroot/specify/trunk/Specify > cd Specify
Obtain specify-fp.build.xml, copy it to your Specify directory.
> cp /path/to/specify-fp.build.xml .
Create a build.properties file and populate it with a value for the key "sun.java.home". For example:
> echo "sun.java.home = /usr/lib/jvm/java-6-sun" > build.properties
Specify's use of conversion and generics is not compatible with the Sun Java compiler on Ubuntu (it will, however, compile with Eclipse's compiler). Obtain specify-fp.patch, and copy it to your Specify directory.
> cp /path/to/specify-fp.patch .
Apply the patch.
> patch -p0 < specify-fp.patch
Run the build target for specify-fp.build.xml:
> ant -f specify-fp.build.xml build
Prerequisites: MySQL 4+
See instructions here for how to ensure that the default storage engine is InnoDB.
> ant -f specify-fp.build.xml setup
In the first frame of the GUI, enter your MySQL root user name (root) and password for IT Username and IT Password. Use specifyfp for Database Name. Click Create Database. It will take a few minutes to create the schema.
- In the next frame (Enter Master Username and Password), enter a name and password for your Specify root user. This will be the MySQL user that Specify runs under. Click Create Master User.
- In the next frame, leave Turn Security On unchecked, and click Next.
- In the next frame, enter some dummy contact information for your test Collection Manager user. This will be the only account created during the setup process, so you will need to remember the user name and password that you entered here. The password will be required to be eight characters in length for you to proceed to the next frame. Click Next.
- In the next frame, enter some dummy institution information for your test Institution. Click Next.
- In the next frame, determine whether your test institution wants to manage accession numbers by division or not (a division is a subgroup under institution; e.g. at Harvard, the "Harvard University Herbaria" and the "Museum of Comparative Zoology" could be considered divisions under the institution "Harvard University").
- In the next frame, configure your test Storage tree. At least one level will need to have Is In Full Name checked before you can proceed. In order to check that box, the level must also have the Is Required box checked. Click Next.
- In the next frame, click Create Institution. This step should only take a few seconds. When it completes, click Next.
- In the next frame, enter some dummy division information and click Next.
- In the next frame, enter some dummy discipline information. Select Botany from the Discipline Type pick list. Click Next.
- In the next frame, use the existing defaults for the taxon tree configuration, and click Next.
- In the next frame, leave the Pre-load Taxon box unchecked. We will load data later. Click Next.
- In the next frame, configure some dummy geography tree information. At least one level will need to have Is In Full Name checked before you can proceed. When you are done, click Next.
- In the next frame, configure some dummy collection information. The values in these fields are expected match those from the collection's data in Index Herbariorum. When you are done, click Next.
- In the next frame, select CatalogNumberString as the catalog number format and click Next.
- In the next frame, select None as the accession number format and click Next.
- In the final frame, review your choices, go back and change some items if needed, and click Build Database to complete the database setup wizard. This step will load the geography data that comes with Specify, among other things, so this step takes several minutes to complete. When it is done, click Next. When it finishes, dismiss the final dialog by clicking OK.
- Your database setup is now complete and Specify will have all the internal data necessary to run the client, though no records have been loaded. You an now run the client or load data.
Specify assumes that it has been installed with an Install4J installer, so we need to provide a version number to Specify in one more configuration file. Create this simple file as a "here" document:
> mkdir .install4j > cat >.install4j/i4jparams.conf <<EOF <config> <variables> <variable name="sys.version" value="6.3.05"/> </variables> </config> EOF
Run the "run" target:
> ant -f specify-fp.build.xml run
To sign in, use the Collection Manager username and password that you chose in the database setup wizard, and click Login. When prompted to register the collection, decline. If you are prompted to generate a key, use the same IT Username and IT Password values as you did in the database setup wizard.