AWebFactory
Depot App With Rad Rails Setup

Basically, we build on the setup we had with Demo App Part2 (do first).

Development Box Hosting
Ruby, Ruby On Rails, Eclipse, RDT + Rad Rails SVN Repository on hosting ./repos

Choose an SVNLayout for the Depot project.

Our layout is as follows:

depot
    trunk
        depot ... (dev...)
        doc
            arq
            req
        models
    tags
    branches

The depot directory will be created by rails itself (see below).

The doc directory will contain miscellaneous docs, minimally an Software Architecture Document (in directory arq), a Vision Document, a Requirements Specification Document (in directory req).

The models directory will contain your models (made with either Rational Rose, Poseidon, Jude, Umbrello, etc., etc.). See Depot App Process.

Create the SVNLayout, import initial data

First of all, login to your SSH account and create a temporary directory anywhere, then create the basic layout structure outlined above.

awebfact@lapetus [~]# mkdir tmpdir
awebfact@lapetus [~]# cd tmpdir
awebfact@lapetus [~/tmpdir]# mkdir depot
awebfact@lapetus [~/tmpdir]# mkdir depot/trunk
awebfact@lapetus [~/tmpdir]# mkdir depot/trunk/doc
awebfact@lapetus [~/tmpdir]# mkdir depot/trunk/doc/arq
awebfact@lapetus [~/tmpdir]# mkdir depot/trunk/doc/req
awebfact@lapetus [~/tmpdir]# mkdir depot/trunk/models
awebfact@lapetus [~/tmpdir]# mkdir depot/tags
awebfact@lapetus [~/tmpdir]# mkdir depot/branches

(Optional) Secondly, upload all the existing docs and models to their appropriate folders.

Thirdly, let’s use Ruby On Rails right on the host (Site5 in my case) to create the Implementation Model under the project’s trunk folder. Complete listing:

awebfact@lapetus [~/tmpdir]# cd depot/trunk
awebfact@lapetus [~/tmpdir/depot/trunk]# rails depot
      create
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  components
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  script/performance
      create  script/process
      create  test/fixtures
      create  test/functional
      create  test/mocks/development
      create  test/mocks/test
      create  test/unit
      create  vendor
      create  vendor/plugins
      create  Rakefile
      create  README
      create  app/controllers/application.rb
      create  app/helpers/application_helper.rb
      create  test/test_helper.rb
      create  config/database.yml
      create  config/routes.rb
      create  public/.htaccess
      create  config/boot.rb
      create  config/environment.rb
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/environments/test.rb
      create  script/about
      create  script/breakpointer
      create  script/console
      create  script/destroy
      create  script/generate
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  script/process/reaper
      create  script/process/spawner
      create  script/process/spinner
      create  script/runner
      create  script/server
      create  script/plugin
      create  public/dispatch.rb
      create  public/dispatch.cgi
      create  public/dispatch.fcgi
      create  public/404.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/images/rails.png
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log
awebfact@lapetus [~/tmpdir/depot/trunk]# ls
./  ../  depot/  doc/  models/
awebfact@lapetus [~/tmpdir/depot/trunk]# cd depot
awebfact@lapetus [~/tmpdir/depot/trunk/depot]# ls
./   README    app/         config/  doc/  log/     script/  vendor/
../  Rakefile  components/  db/      lib/  public/  test/
awebfact@lapetus [~/tmpdir/depot/trunk/depot]# 

Now, we import the initial data into the depot project repository.

First, let’s change to one directory above the project layout root. You should see something like this:

awebfact@lapetus [~/tmpdir/depot/trunk]# cd ../..
awebfact@lapetus [~/tmpdir]# ls
./  ../  depot/
awebfact@lapetus [~/tmpdir]# ls depot
./  ../  branches/  tags/  trunk/
awebfact@lapetus [~/tmpdir]# ls depot/trunk
./  ../  depot/  doc/  models/
awebfact@lapetus [~/tmpdir]# 

Now do the import itself:

awebfact@lapetus [~/tmpdir]# svn import . file:///home/awebfact/repos --message 'Initial layout for AWDWR project depot'
Adding         depot
Adding         depot/trunk
Adding         depot/trunk/models
Adding         depot/trunk/doc
Adding         depot/trunk/doc/arq
Adding         depot/trunk/doc/req
Adding         depot/trunk/depot
Adding         depot/trunk/depot/test
Adding         depot/trunk/depot/test/unit
Adding         depot/trunk/depot/test/test_helper.rb
Adding         depot/trunk/depot/test/functional
Adding         depot/trunk/depot/test/fixtures
Adding         depot/trunk/depot/test/mocks
Adding         depot/trunk/depot/test/mocks/test
Adding         depot/trunk/depot/test/mocks/development
Adding         depot/trunk/depot/app
Adding         depot/trunk/depot/app/helpers
Adding         depot/trunk/depot/app/helpers/application_helper.rb
Adding         depot/trunk/depot/app/models
Adding         depot/trunk/depot/app/controllers
Adding         depot/trunk/depot/app/controllers/application.rb
Adding         depot/trunk/depot/app/views
Adding         depot/trunk/depot/app/views/layouts
Adding         depot/trunk/depot/log
Adding         depot/trunk/depot/log/test.log
Adding         depot/trunk/depot/log/development.log
Adding         depot/trunk/depot/log/server.log
Adding         depot/trunk/depot/log/production.log
Adding         depot/trunk/depot/Rakefile
Adding         depot/trunk/depot/script
Adding         depot/trunk/depot/script/performance
Adding         depot/trunk/depot/script/performance/benchmarker
Adding         depot/trunk/depot/script/performance/profiler
Adding         depot/trunk/depot/script/console
Adding         depot/trunk/depot/script/breakpointer
Adding         depot/trunk/depot/script/server
Adding         depot/trunk/depot/script/destroy
Adding         depot/trunk/depot/script/runner
Adding         depot/trunk/depot/script/generate
Adding         depot/trunk/depot/script/about
Adding         depot/trunk/depot/script/plugin
Adding         depot/trunk/depot/script/process
Adding         depot/trunk/depot/script/process/spawner
Adding         depot/trunk/depot/script/process/reaper
Adding         depot/trunk/depot/script/process/spinner
Adding         depot/trunk/depot/config
Adding         depot/trunk/depot/config/routes.rb
Adding         depot/trunk/depot/config/database.yml
Adding         depot/trunk/depot/config/boot.rb
Adding         depot/trunk/depot/config/environment.rb
Adding         depot/trunk/depot/config/environments
Adding         depot/trunk/depot/config/environments/test.rb
Adding         depot/trunk/depot/config/environments/development.rb
Adding         depot/trunk/depot/config/environments/production.rb
Adding         depot/trunk/depot/doc
Adding         depot/trunk/depot/doc/README_FOR_APP
Adding         depot/trunk/depot/components
Adding         depot/trunk/depot/db
Adding         depot/trunk/depot/lib
Adding         depot/trunk/depot/lib/tasks
Adding         depot/trunk/depot/vendor
Adding         depot/trunk/depot/vendor/plugins
Adding         depot/trunk/depot/README
Adding         depot/trunk/depot/public
Adding         depot/trunk/depot/public/dispatch.cgi
Adding         depot/trunk/depot/public/dispatch.rb
Adding         depot/trunk/depot/public/images
Adding  (bin)  depot/trunk/depot/public/images/rails.png
Adding         depot/trunk/depot/public/dispatch.fcgi
Adding         depot/trunk/depot/public/robots.txt
Adding         depot/trunk/depot/public/500.html
Adding         depot/trunk/depot/public/javascripts
Adding         depot/trunk/depot/public/javascripts/prototype.js
Adding         depot/trunk/depot/public/javascripts/effects.js
Adding         depot/trunk/depot/public/javascripts/dragdrop.js
Adding         depot/trunk/depot/public/javascripts/controls.js
Adding         depot/trunk/depot/public/index.html
Adding         depot/trunk/depot/public/404.html
Adding         depot/trunk/depot/public/.htaccess
Adding         depot/trunk/depot/public/stylesheets
Adding         depot/trunk/depot/public/favicon.ico
Adding         depot/branches
Adding         depot/tags

Committed revision 6.
awebfact@lapetus [~/tmpdir]# 

Check the results of the import:

awebfact@lapetus [~/tmp]# svn list --verbose file:///home/awebfact/repos
      5 awebfact            Feb 26 17:15 demo/
      6 awebfact            Mar 07 20:04 depot/
awebfact@lapetus [~/tmp]# svn list --verbose file:///home/awebfact/repos/depot
      6 awebfact            Mar 07 20:04 branches/
      6 awebfact            Mar 07 20:04 tags/
      6 awebfact            Mar 07 20:04 trunk/
awebfact@lapetus [~/tmp]#   

Now, let’s see how things are home on the ranch.

Checkout the Rails depot project into a new Rad Rails project.

Do File > New > Other from the main menu and select SVN > Checkout Projects from SVN:

Hit the “Next” button. Rad Rails welcomes us home by remembering the repository we used for the last (Demo App Part2) project (as well as the passphrase and other details) and asking us if we wish to use it:

We hit the “Next” button, and select the already generated Rails app “depot” to check out:

We select “Create a new Rails project” Rails > Rails Project and hit the “Next” button:

In the resulting “New Rails project” dialog, we fill in the project name “depot”, deselect “Generate Rails application skeleton”, select “Create a WEBrick server, and leave the default workspace location for the local project:

We hit the “Finish” button and the project is checked out. The result is a new Rad Rails Project “depot”

with its own WEBrick server on port 3000:

Start the WEBrick server by selecting it and hitting the green “play” button, and visualize the default “Ruby on Rails: Welcome aboard display” at http://localhost:3000

We’re all set up.

Content Copyleft Victor Kane (ProjectMaster) and awebfactory.com.ar
Email me at info at awebfactory dot com dot ar
Full content (RSS 2.0) and Headlines (RSS 2.0)