Development Setup

Version 24 (Camdon Cady, 12/06/2014 02:42 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 20 Camdon Cady
* MySQL (Currently tested with MySQL v5.1)
9 9 J. Simmons
* Ruby 1.8.7 (with Development Tools)
10 24 Camdon Cady
* MySQL header files (i.e. package libmysqlclient-dev on Debian-based systems)
11 14 Jeremy Wright
* Bundler (may need to update gem to 1.4+)
12 14 Jeremy Wright
<pre>gem install bundler</pre>
13 19 Camdon Cady
** To update gem you may need to run (su to root):
14 14 Jeremy Wright
<pre>REALLY_GEM_UPDATE_SYSTEM=1 gem update --system</pre>
15 19 Camdon Cady
** After this update you'll need to reinstall bundler.
16 20 Camdon Cady
* Install Ruby on Rails (Currently tested with Rails v2.3.16)
17 20 Camdon Cady
<pre>gem install rails --include-dependencies -v 2.3.16</pre>
18 3 J. Simmons
19 1 Matthew Sears
h1.  Code checkout
20 1 Matthew Sears
21 1 Matthew Sears
To get started, create a local repository with svn checkout:
22 1 Matthew Sears
23 1 Matthew Sears
<pre>
24 1 Matthew Sears
svn checkout https://opendesignengine.net/svn/ode/trunk
25 1 Matthew Sears
</pre>
26 1 Matthew Sears
27 1 Matthew Sears
h1. Create Development Database
28 1 Matthew Sears
29 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:
30 1 Matthew Sears
31 1 Matthew Sears
<pre>
32 5 J. Simmons
cd trunk
33 4 J. Simmons
cp config/database.yml.example config/database.yml
34 1 Matthew Sears
</pre>
35 1 Matthew Sears
36 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.
37 1 Matthew Sears
38 21 Camdon Cady
To create the database, run the following commands:
39 21 Camdon Cady
40 21 Camdon Cady
<pre>
41 22 Camdon Cady
mysql -u root -p
42 22 Camdon Cady
43 23 Camdon Cady
mysql> create database ode_development character set utf8;
44 23 Camdon Cady
mysql> create user 'ode_development'@'localhost' identified by 'my_password';
45 23 Camdon Cady
mysql> grant all privileges on ode_development.* to 'ode_development'@'localhost';
46 22 Camdon Cady
mysql> exit
47 21 Camdon Cady
</pre>
48 21 Camdon Cady
49 1 Matthew Sears
h1. Bundler
50 1 Matthew Sears
51 1 Matthew Sears
To install the required third-party gems to run the ODE application, we run the following Bundler command:
52 1 Matthew Sears
53 1 Matthew Sears
<pre>
54 1 Matthew Sears
bundle install
55 15 Jeremy Wright
</pre>
56 1 Matthew Sears
57 1 Matthew Sears
h1. Database Preparation
58 1 Matthew Sears
59 1 Matthew Sears
To prepare the database, we first need to run migrations:
60 1 Matthew Sears
61 1 Matthew Sears
<pre>
62 1 Matthew Sears
RAILS_ENV=production rake db:migrate
63 1 Matthew Sears
</pre>
64 1 Matthew Sears
65 18 Jeremy Wright
and for the plugins:
66 18 Jeremy Wright
67 18 Jeremy Wright
<pre>
68 18 Jeremy Wright
RAILS_ENV=production rake db:migrate_plugins
69 18 Jeremy Wright
</pre>
70 18 Jeremy Wright
71 1 Matthew Sears
We now need some seed data to get started:
72 1 Matthew Sears
73 1 Matthew Sears
<pre>
74 1 Matthew Sears
RAILS_ENV=production rake db:seed
75 1 Matthew Sears
</pre>
76 1 Matthew Sears
77 1 Matthew Sears
h1. Running the Application
78 1 Matthew Sears
79 1 Matthew Sears
Now we should be ready to run the application locally:
80 1 Matthew Sears
81 1 Matthew Sears
<pre>
82 1 Matthew Sears
RAILS_ENV=production script/server
83 1 Matthew Sears
</pre>
84 1 Matthew Sears
85 1 Matthew Sears
If all goes well, you should be able to open the application at http://localhost:3000