Analyzing Rails Example Application -
Redmine Application
In this hands-on lab,
you will learn how the "redmine-0.7.0_RC1" sample Rails application is
constructed. Redmine is a flexible project management web application
with the following features.
- Multiple projects support
- Flexible role based access control.
- Flexible issue tracking system
- Gantt chart and calendar
- News, documents & files management
- Feeds & email notifications.
- Per project wiki
- Per project forums
- Simple time tracking functionality
- Custom fields for issues, projects and users
- SCM integration (SVN, CVS, Mercurial, Bazaar and Darcs)
- Multiple LDAP authentication support
- User self-registration support
- Multilanguage support
- Multiple databases support
Written
using Ruby on Rails framework, it is cross-platform and cross-database.
Redmine is open source and released under the terms of the
GNU
General Public License (GPL).For more information on redmine
application, please go to
redmine
homesite.
Expected duration: 90 minutes
(excluding homework)
Software Needed
Before you begin, you need to install the following software on your
computer.
- Java Standard Development Kit (JDK™) version
6.0 (download)
- If you already have installed JDK 5.0 or JDK 6.0, you
can skip this.
- NetBeans IDE 6.1 (download)
- When you install NetBeans IDE, it will ask you which JDK
you want to use.
- Select All, which includes Ruby module.
- MySQL (download)
- 5539_rails_redmine_app.zip (download)
- It contains this document and the lab contents
- Download it and unzip in a directory of your choice
OS platforms you can use
- Windows
- Solaris x86, Solaris Sparc
- Linux
- Mac OS X
Change Log
- April. 30th, 2008: Created
Things to do (by Sang Shin)
- Add exercise to change
- Add more explanation
Lab Exercises
Exercise 1: Build and run
"Redmine" sample application
(1.1)
Open "Redmine" NetBeans project
1. Open
redmine-0.7.0_RC1
NetBeans project.
- Select File->Open Project (Ctrl+Shift+O). The Open Project dialog box appears.
- Browse down to <LAB_UNZIPPED_DIRECTORY>/rails_redmine_app/samples
directory.
- If you unzipped the 5539_rails_redmine_app.zip
file under C:\handsonlabs
directory under Windows, the directory to which you want
to browse down should be C:\handsonlabs\rails_redmine_app\samples.
- If you unzipped the 5539_rails_redmine_app.zip
file under $HOME/handsonlabs
directory under Solaris/Linux, the directory to which you want
to browse down should be $HOME/handsonlabs/rails_redmine_app/samples.
- Select redmine-0.7.0_RC1.
- Click Open Project.
- Observe that the redmine-0.7.0_RC1
project node appears under Projects tab
window.
(1.2)
Create database
1. Refresh the Rake task list.
- Right click redmine-0.7.0_RC1 project node and select Run Rake
Task->Refresh List. (Figure-1.14 below)

Figure-1.14: Refresh Rake task list
2. Create database.
- Right click redmine-0.7.0_RC1
and select Run Rake
Task->db->create. (Figure-1.15 below) This
will create depot_development
database.

Figure-1.15: Create depot_development database
return to top of exercise
(1.3)
Migrate database
1. Migrate database.
- Right click redmine-0.7.0_RC1
and select Migrate Database->To
Current Version. (Figure-1.31 below)

Figure-1.31: Migrate database
2. Observe that the Output window displays the result of migration.
(Figure-1.32 below)

Figure-1.32: Result of migration
return to top of exercise
(1.4)
Build and run the application
1. Run the application.
- Right click redmine-0.7.0_RC1 and select Run. (Figure-1.41 below)

Figure-1.41: Build and run the application
- Observe that Figure-1.42 below is displayed.

Figure-1.42: redmine-0.7.0_RC1

Figure-1.42: Perform registration

Figure-1.43: Register

Figure-1.44: Login as an admin using admin and admin as username and
password

Figure-1.45: Admin page is displayed

Figure-1.46: Manager Users

Figure-1.47: Activate a registered user

Figure-1.48: A user is activated
return to top of exercise
<>
>
Homework
Exercise (for people
who
are taking Sang Shin's "Java EE Programming online course")
<tbd>