[[ActiveFedora Wiki|Overview]] | [[Documentation]] | [[Community]] h1. Setting up a Rails App to use ActiveFedora h2. Overview This document explains how to * Install the active-fedora gems * Create a rails app * Set up rspec (optional) * Freeze the gems into your app (optional) * Set environment variables so your app can find Fedora and Solr * Create some methods in your application controller for loading connections to Fedora & Solr Once you've set up the Rails app, you will be ready to start [[Creating ActiveFedora Models]] h2. Setup Steps Create the rails app
rails my-app-name cd my-app-nameInstall the gems if you haven't already
sudo gem install active-fedoraFreeze the gems into your app (optional)
sudo rake gems:freeze GEM=ruby-fedora VERSION=1.0.4 sudo rake gems:freeze GEM=active-fedora VERSION=1.0.4Create config/initializers/fedora_repository.rb and put this into it:
require "active_fedora" FEDORA_URL = 'http://fedoraAdmin:fedoraAdmin@127.0.0.1:8080/fedora' SOLR_URL = 'http://127.0.0.1:8080/solr/'* see sample "fedora_repository.rb":/attachments/download/55 * if you have set Fedora to require SSL for API-M operations, set FEDORA_URL to FEDORA_URL = 'https://fedoraAdmin:fedoraAdmin@127.0.0.1:8443/fedora' Edit app/controllers/application.rb addign these methods:
private
def require_fedora
Fedora::Repository.register(FEDORA_URL, session[:user])
return true
end
def require_solr
ActiveFedora::SolrService.register(SOLR_URL)
end
* see sample "application.rb":/attachments/download/56
Optionally [[set up basic shared authentication]]
Edit config/environment.rb adding these lines:
config.gem "ruby-fedora", :version => '>= 1.0.4' config.gem "active-fedora", :version => '>= 1.0.4' config.gem "haml"h3. Set up RSpec (optional) If you plan to use rspec, do the following Run the rspec script
script/generate rspecSet FEDORA_TEST_URL and SOLR_TEST_URL in spec/spec_helper.rb
FEDORA_TEST_URL = 'http://fedoraAdmin:fedoraAdmin@127.0.0.1:8080/fedora' SOLR_TEST_URL = 'http://127.0.0.1:8080/solr/'h2. Notes _Important:_ If you are not using any activerecord objects at all, you will have to either turn off rails' sql obsession, or set up sqlite3 databases and run db:migrate to give them empty schemas Make sure to register Fedora::Repository and ActiveFedora::SolrService if/when you need them in tests. Make sure to call [[require_solr and/or require_fedora in your controllers]] whenever a method needs to connect to them. This is usually handled by the :require_fedora and :require_fedora controller methods. h2. What You've Just Done You now have a Rails app that's ready to use with ActiveFedora. See [[Creating ActiveFedora Models]] to get started using ActiveFedora in your app.