Skip to end of metadata
Go to start of metadata

Introduction

Welcome to KPME! If this is your first time setting up your environment, please ensure that you have administrator access to the computer, otherwise some portions of this guide may not work.

If you will be developing on 2.x, please see the updated developer guide.

Software Requirements

The following is a list of software that is essential to install in order to get a working KPME development environment up and running.

  • JDK ( Recommended JDK 6u35 64bit )
  • Apache Maven 3.0.4
  • MySQL 5.1 or above
  • Eclipse + Subversive with required dependencies

Installation and Configuration

Follow the steps outlined by each bold heading below in order to configure the default development stack.

Install the JDK

  • Download and install the latest Java 6 JDK. The 64bit version is preferred since it will be able to address more memory for your environment, but if you are limited on space, the 32bit version will also work.
  • Add JAVA_HOME to your environment variables and set it to the base directory of your installation (Example: C:\Java\jdk1.6.0_25).
  • Add JAVA_HOME/bin to your path.

Install Apache Maven

  • Download and install the latest Apache Maven 3.
  • Add M2_HOME to your O.S. environment variables and set it to the base directory of your installation (Example: C:\Java\apache-maven-3.0.4).
  • Add M2_HOME/bin to your path.

Note: You MUST use the variable name M2_HOME. The launch configuration files reference this environment variable at run-time, and will give you a class load error if it is not defined correctly in your environment.

  • (Optional) If you wish to change the location of your repository to something other than your home folder, create a file named "settings.xml" in USER_HOME/.m2 with the following contents, replacing the path with your preferred location:

Install a Database

The default database for KPME is MySQL 5.1 or above.  While Oracle is also supported in releases, it is untested and therefore not ready for developers.

  • Download and install MySQL Server Community Edition 5.1 or above.  Make sure to select a Detailed Configurationand enable the following options:
    • Developer Machine
    • Multifunctional Database
    • Best Support for Multilingualism
  • Install MySQL Workbench to manage and view your database. Note: This may require the installation of additional software, such as VC++ and .NET packages.
  • If you are on Linux or MacOSX, you need to set a parameter to force MySQL to store tables in lower case.  To do this, go to /etc/my.confand make sure the following is set:

Configuring the Database

The easiest way to set up databases and permissions is to do it via the command line, however you may wish to do this via your MySQL Workbench. Developers typically use two databases for their server and one database for their unit tests. The following table lists the default settings for these databases that will give the most minimal setup.

 

Schema/Name

Username

Password

KPME Client Database

tk

tk

tk_tk_tk

Rice Server Database

krtt

krtt

krtt

Unit Test Database

tk_test

tk

tk_tk_tk

To configure the database from the command line, use the root user name and password you created during MySQL Server installation to log into your database server, then issue the following two commands for each row in the above table. Replace dbname with the entries from column "Schema/Name" and username and password from the corresponding Username and Password columns.

To configure the database using MySQL Workbench:

  • Open MySQL Workbench
  • Go to SQL Developmentand double-click on your local instance.  For each database above:
    • Right-click on the left bar and select Create Schema...
    • Name it as above and select utf8 - utf8_bin for the collation.  Apply these changes.
  • Go to Server Administrationand double-click on your local instance.  For each database above:
    • Go to the Accounts tag and click on the Add Account button.
    • Add a user with the corresponding username and password and Apply.
    • Go to the Schema Privileges tag and select the database you are editing.
    • Click Add Entry...
    • Under the Schema section, check Selected Schema, select localhost and select the database you are editing, and click OK.
    • Click the Select “ALL” button and save your changes.

Install the Eclipse IDE

The default development environment for KPME is Eclipse 3.5 or above.  Any flavor should be ok, but it is recommended to start out with the Eclipse IDE for Java Developers since it is small.

  • Download and install Eclipse 3.5 or above.
  • Go to your install directory and edit eclipse.ini. You will need to add your JDK and other memory arguments to make sure your environment will run smoothly. The following has the recommended defaults but you may need to increase them in order to match your machine.

  • Start eclipse and choose your preferred workspace.
  • Verify that you are working on Java 6 by going to Window -> Preferences -> Java -> Installed JREs. Make sure that jre6 is selected.
  • Disable validation by going to Preferences -> Validation and checking Suspend All Validators.

Install Subversive

  • Click Help -> Install New Software.
  • In the Work with drop down menu, select the http://download.eclipse.org/releases entry that matches your Eclipse version. Go to Collaboration and select all required Subversive entries.
  • Click Finish and continue through all the screens in order to install your software.
  • Restart Eclipse when promped.

Install M2Eclipse (Optional)

Note: Only complete this step if using Eclipse 3.6 or below.  Eclipse 3.7 and above have switched to an internal Maven implementation, m2e.

  • Help -> Install New Software.
  • Click Add and add the location http://m2eclipse.sonatype.org/sites/m2e..
  • Select your new repository from the drop down list.
  • Find and select Maven Integration for Eclipse.
  • Click Finish and continue through all the screens in order to install your software.
  • Restart Eclipse when promped.

Create the KPME Maven Project in Eclipse

You will be loading the project into your workspace from a repository via the Subversive plugin.

Checkout and Configure the Project

  • In Eclipse, right click in the Package Explorer window and select New -> Other -> SVN -> Project from SVN.
  • Select the option to Create a new repository location and select Next.
  • Enter the URL https://svn.kuali.org/repos/kpme and other authentication information. Select Next to continue.
  • Select "Browse" to bring up a dialog box where you can select the branch you will be working on. Most developers will be on trunk, so just select trunk if you are not given any additional instructions.

  • Click Okay, then click Finish.
  • When prompted how you want to check out your project, select Check out as a project with the name specified and make sure the name is kpme. Click Finish to begin the install process.

At this point, Subversive for Eclipse will begin the checkout process for KPME and create a new project in your workspace. When the checkout process is complete, do the following

  • Right click your new kpme project and select Maven -> Enable Dependency Management.
  • Note: If you are not given a menu entry for "Maven", you must convert the project to a maven project. Right click on the project folder and select Configure -> Convert to Maven Project

Maven for Eclipse will download all the jars and files that are listed in the project POM's dependencies.

Install the Kuali Configuration File

  • In your new project, go to src/main/config/local and copy the contents of the folder into your USER_HOME.
  • The main configuration file for your server environment is now in USER_HOME/kuali/main/dev/kpme-config.xml.
  • The test configuration file for your unit tests is now in USER_HOME/kuali/test/dev/kpme-test-config.xml.

Start the Application Server

  • In Eclipse, go to src/main/config/launch, right-click on the launch file specific to your environment, and select Run As...and the file name.
    • If you are using Eclipse 3.7 and above, use the m2e version.
    • If you are using Eclipse 3.6 and below, use the m2eclipse version.
  • If all goes well, the server will start up, populate your database, and then launch.
  • Once you get the message that the server has started, open a browser and navigate to http://localhost:8080/kpme-dev/Time.do.

Troubleshooting

Error: Could not find or load main class org.codehaus.classworlds.Launcher

  • At a command prompt:

  • You should receive output that displays version information about your maven installation. If you do not, verify that you have added the variable name M2_HOME, and added it to your path.
  • No labels