Eclipse and Plugins
As of June 26, 2011 we recommend Eclipse 3.7 (Indigo) J2EE edition; however, versions 3.6 (Helios) and 3.5 (Galileo) both work with the necessary plugins for the project if you are using older versions. So far the maven integration with m2e is pretty nice. You will also need to install maven integration (m2e recommended) and subversion integration (subclipse recommended). To install maven and svn integration, from inside Eclipse use the Help->Install New Software menu command.
Note that the Subclipse plugin offers both a java SVN connector and a native connector. The native connector will not work on Mac OS X. Fortunately you will be notified of this with a dialog box displaying an incompatibility message the first time you attempt to use it. To change the connector you will have to open Eclipse preferences (Cmd+,) and in the left panel twiddle open Team and select SVN. In the right panel find the SVN Interface section and change the Client drop down to select SVNKit (Pure Java) as the option. Click Apply and Ok and Subclipse should stop displaying the SVN error message on startup.
For those who are more familiar with NetBeans or wish to have an IDE that offers more bundled services and requires less plug-in configuration, the KME project code offers no impediments to working in your preferred tool. Because KME is fully maven driven for build and configuration you can use the Java SE version of NetBeans for development.
To get started, simply check out the project from SVN (location below) using Team -> Subversion -> Checkout from the menu and follow the checkout wizard. When the project has finished being checked out and processed your Projects tab should show "Kuali Mobility Enterprise" in the window which is properly identified as a Maven project and automatically detected and configured all of the child Maven projects. You are now ready to work with the KME code base.
For those using IntelliJ, simply check out the project from SVN (location below) using Version Control -> Checkout from Version Control -> Subversion and then following the wizard prompts. When prompted if you would like to create an IntelliJ project from the source you checked out select Yes and then select Import project from external model and click Next, select Maven and click Next. Select both Search for projects recursively and Import maven projects automatically and click Next. When asked to select a profile, choose both Full and mDot. Limit the projects to import to just mobility and click Next. IntelliJ will finalize configuring KME and be ready for development.
Local Subversion Configuration
Every Subversion (SVN) client will look for a local configuration file on your workstation for custom configurations that you might add to it. These can include ignore rules, proxy servers or tunnels, and even authentication information (certificate names and locations). Your configuration files can be found in the following locations:
Mac or Linux
Additional Maven Dependencies
I'm currently working on getting these into the Kuali Nexus managed repository - Nate Johnson.
The mobility source is located in SVN at: https://svn.kuali.org/repos/mobility
The best place to start would be to check out the release-ga-2.0.0 which is the current release branch. If you want to work with the bleeding edge you can get the latest development team work from the trunk.
Working with the Project
There are a number of ways to work with this project in Eclipse. The recommended way is to import the base project from SVN using the Eclipse import tool, File->Import->SVN->Checkout Projects from SVN. Once you have the main project checked out you should import all the child projects, File->Import->Existing Maven Projects and point at the directory of the main project that you just checked out. This allows m2e to handle project integration with maven and will allow you to manage each module independently while managing source control centrally.
Tip: To help keep your workspace uncluttered, close tool modules you are not working with and apply a filter to hide them in the project explorer. To do this click on the Project Explorer tab and then click on the downward pointing triangle in its toolbar, select Customize View and on the Filters tab check the box for Closed Projects and click Ok. This will leave only the open maven projects visible for you to work with. To open other modules you will have to repeat the steps and remove the Closed Projects filter.
For Netbeans users the process is a little more straightforward than in Eclipse. Once you have checked the project out of version control using the instructions in the page above, you may individually open the tool modules directly from the Projects tab by double clicking on their folders within the main "Kuali Mobility Enterprise" project. This ability to open projects and have them added to the work space on an as needed basis makes keeping a clean and focused development environment very easy. Simply closing a project removes it from the Projects tab.
There are two files that you will need to create on your local system to get the project to build and run properly. One is named institutional.kme.config.properties and needs to have 2 lines in it:
The other file is called kme-filters.properties and it needs a comment line:
Both must be in your home directory.
Install the Project into your Local Maven Repository
You can use m2e to install the entire project or piece by piece. To install everything, right click on the root pom.xml, click Run as -> Maven install. Now you can run the mdot webapp.
Running the mdot or testdrive webapp
At this point, the best way to test that JQuery Mobile is working properly is to use a webkit browser (Chrome or Safari work well). There are several ways to do this. First, be sure that you have followed the install step above, then you can do one of the following as appropriate to your environment.
Open a terminal or CMD window, change to the mdot-webapp or testdrive-webapp directory. Execute the command: mvn jetty:run. To stop the application & server, you can simply press Ctrl+C on your keyboard.
Select the mdot-webapp project from your project explorer, right click on it and from the Run As... menu choose Maven Build. In the resulting screen find the Goals text box and type "jetty:run". Click Apply and then Run. Eclipse will start the jetty web application server and load the application into it. You can stop the application & server by finding the "Servers" tab, selecting the server and clicking the stop button.
Make sure that your project has been built by choosing Run -> Build Project or pressing F11. Then select the mDot Webapp module within your Kuali Mobility Enterprise project, right click on it and choose Open Project. Select the new mDot Webapp project in your project browser and then from the menu choose Run -> Set Project Configuration -> Customize. In the new window select Actions in the left window and be sure that mdot is in the Configurations drop down in the right panel. Scroll down the Actions window and select Run project. In the Execute Goals text box type "jetty:run". Click Ok to save your changes. Now you can choose Run -> Run Project (mDot Webapp) and NetBeans will launch Jetty and load the KME web application for you. To stop the server and application you can simply click the square red box on the Output window and the server will shut down.