Local development on Linux

Local development on Linux

Using Eclipse

Using Eclipse is a (legacy) option (see Development Environment Setup). It has convenient aspects but most of the required software according to the existing documentation is so ancient it is not easy to put them together. Somebody needs to work on making it work with recent versions of Eclipse and its plugins.

Virtual Machine

Using a virtual machine may be a good idea to isolate the environment and install some of the older versions of software that are required. A Vagrant/VirtualBox/Ubuntu configuration is available at https://git.yale.edu/CCT-Web/vagrant-yale-bedework. (You won't be able to use Eclipse because this instance is headless but it's lightweight and easier to debug in some ways).

MySQL Issue

While Mac and Windows are case-insensitive in some ways, Linux is case-sensitive. You may encounter some errors such as table name conflicts. In that case, you should modify the MySQL configuration file (likely /etc/my.cnf or /etc/mysql/my.cnf) as below. Note the line should go under the [mysqld] section.

[mysqld]
lower_case_table_names=1

Lucene Index

Bedework will maintain Lucene index. You have to set the path through the admin UI (/caladmin).

From the admin home page, go to System -> Manage system preferences and set "Index root", to something like "JBOSS_ROOT/server/bedework/data/bedework-index", where JBOSS_ROOT you have to replace with the directory where JBoss is installed, for example, "/opt/local/jboss-4.2.3-yale-bedework".

Build and Install

Check out the source code from 

Copy yale-bedework/yale-bedework-vendor/build.properties to build-${USERNAME}-properties in the same directory and edit the file according to the instructions within. ${USERNAME} is your username in the machine, as ${user.name} in Ant will return. 

Copy yale-bedework-installer/src/main/installer/install-defaults.properties to yale-bedework-installer/install.properties and edit it to reflect the local setting.

cd ${workspace}/yale-bedework
mvn -e clean package
mvn install
 
cd ${workspace}/yale-bedework-installer
mvn -e clean install  #Deploys EARs into JBoss.