Development Setup

Version 17 (Jeremy Wright, 08/24/2012 12:26 pm)

1 1 Matthew Sears
h1. Development Setup
2 1 Matthew Sears
3 2 J. Simmons
The following instructions are meant to help get the ODE application up and running on your local workstation.  Note, these instructions assume you are setting up a development environment on Linux/OS X.
4 1 Matthew Sears
5 3 J. Simmons
h1. Prerequisites
6 3 J. Simmons
7 3 J. Simmons
* SVN
8 17 Jeremy Wright
* MySQL 
9 9 J. Simmons
* Ruby 1.8.7 (with Development Tools)
10 14 Jeremy Wright
* Bundler (may need to update gem to 1.4+)
11 14 Jeremy Wright
<pre>gem install bundler</pre>
12 14 Jeremy Wright
* To update gem you may need to run (su to root):
13 14 Jeremy Wright
<pre>REALLY_GEM_UPDATE_SYSTEM=1 gem update --system</pre>
14 14 Jeremy Wright
* After this update you'll need to reinstall bundler.
15 16 Jeremy Wright
* Install Ruby on Rails
16 16 Jeremy Wright
<pre>gem install rails --include-dependencies</pre>
17 3 J. Simmons
18 1 Matthew Sears
h1.  Code checkout
19 1 Matthew Sears
20 1 Matthew Sears
To get started, create a local repository with svn checkout:
21 1 Matthew Sears
22 1 Matthew Sears
<pre>
23 1 Matthew Sears
svn checkout https://opendesignengine.net/svn/ode/trunk
24 1 Matthew Sears
</pre>
25 1 Matthew Sears
26 1 Matthew Sears
h1. Create Development Database
27 1 Matthew Sears
28 11 Jeremy Wright
You will need to setup a local development MySQL database and call it 'ode_development'.  Next we need to create a new database.yml so the application knows how to connect to the database.  To accomplish this, simple copy the database.yml.exampe file:
29 1 Matthew Sears
30 1 Matthew Sears
<pre>
31 5 J. Simmons
cd trunk
32 4 J. Simmons
cp config/database.yml.example config/database.yml
33 1 Matthew Sears
</pre>
34 1 Matthew Sears
35 12 Jeremy Wright
Under the production: section of the the config file, fill in the database name, username, and password.  Be sure to create the database in MySQL afterwards.
36 1 Matthew Sears
37 1 Matthew Sears
h1. Bundler
38 1 Matthew Sears
39 1 Matthew Sears
To install the required third-party gems to run the ODE application, we run the following Bundler command:
40 1 Matthew Sears
41 1 Matthew Sears
<pre>
42 1 Matthew Sears
bundle install
43 1 Matthew Sears
</pre>
44 1 Matthew Sears
45 15 Jeremy Wright
Note: You may also need to install the libmysqlclient-dev package to get the MySQL gem to install.
46 1 Matthew Sears
47 1 Matthew Sears
h1. Database Preparation
48 1 Matthew Sears
49 1 Matthew Sears
To prepare the database, we first need to run migrations:
50 1 Matthew Sears
51 1 Matthew Sears
<pre>
52 1 Matthew Sears
RAILS_ENV=production rake db:migrate
53 1 Matthew Sears
</pre>
54 1 Matthew Sears
55 1 Matthew Sears
We now need some seed data to get started:
56 1 Matthew Sears
57 1 Matthew Sears
<pre>
58 1 Matthew Sears
RAILS_ENV=production rake db:seed
59 1 Matthew Sears
</pre>
60 1 Matthew Sears
61 1 Matthew Sears
h1. Running the Application
62 1 Matthew Sears
63 1 Matthew Sears
Now we should be ready to run the application locally:
64 1 Matthew Sears
65 1 Matthew Sears
<pre>
66 1 Matthew Sears
RAILS_ENV=production script/server
67 1 Matthew Sears
</pre>
68 1 Matthew Sears
69 1 Matthew Sears
If all goes well, you should be able to open the application at http://localhost:3000