Installation Requirements

Hardware

We recommend to use dedicated machines for application development, for the CMS server, the live server, and the staging server (if required). These machines should be based on the same hardware platform, and have the same operating software (such as the operating system and the database) installed. This makes it possible to recognize hardware and software problems in time, before live operation begins.

For development, testing, and staging, a standard PC is sufficient.

Normally, more powerful hardware is required for the live system than for the other systems mentioned. Rails servers can be scaled easily by improving the hardware.

Server-Side Software

For being able to use the Rails Connector 6.7.3 or 6.8, you require the software listed below. We recommend to always install gems as the same user, if possible. Otherwise, they will be placed in different file system locations which might cause Bundler to lose track of them.

  1. For productive use, a standard Linux system is required (recommended: 64 bits). For development purposes, Mac OS X 10.6 (“Snow Leopard"), 10.7 (“Lion"), or 10.8 (“Mountain Lion") can be used, too. However, Rails Connector versions up to and including 6.7.1 are not compatible with Mac OS X 10.6 or later.
  2. Ruby 1.8.7, patch level 174 or later, including OpenSSL support and the shared ruby library.
  3. RubyGems 1.3.7 or later. RubyGems installs required third-party software while the Rails Connector is being installed. For this, a working internet connection is required.
  4. Rails 3.2.11 and Bundler.
  5. CMS Fiona, version 6.7.2 or later with a MySQL database. The database must have storeBlobsInDatabase enabled. The Content Manager (CM) must have been railsified.
  6. Apache HTTP server, version 2.2 or later. Other web servers can also be used, provided they are able to work as a reverse proxy and as a load balancer. In conjunction with the Rails Connector, we currently only support the Apache server. The web server should support the XSendFile-Header. This is not an absolute necessity, but missing support for XSendFile will decrease performance. To enable XSendFile support for Apache HTTP server, please install the mod_xsendfile module. If applicable, activate the use of XSendFile in your Rails application.
  7. If the Rails Connector is executed by Phusion Passenger, mod_passenger 2.2.9 or above is required.
  8. If the Rails Connector is executed by Nginx HTTP server together with Unicorn, the configuration of the latter needs to be adjusted. The Rails Connector uses a separate database connection to read from the CMS database. Therefore, this connection needs to be disconnected and reestablished whenever a new Unicorn worker is forked from the main process. For this, extend the unicorn.conf.rbfile as follows:
    before_fork do |server, worker|
    

  if defined?(ActiveRecord::Base)
    


    ActiveRecord::Base.connection.disconnect!RailsConnector::CmsBaseModel.connection.disconnect!end
    

end
    after_fork do |server, worker|if defined?(ActiveRecord::Base)
        config = ActiveRecord::Base.configurations[Rails.env] ||
    

        Rails.application.config.database_configuration[Rails.env]ActiveRecord::Base.establish_connection(config)
    

    config = ActiveRecord::Base.configurations["cms"] ||Rails.application.config.database_configuration["cms"]RailsConnector::CmsBaseModel.configure_database(config)end
    

end

Known Limitations

Rails and the Rails Connector for CMS Fiona currently have the following known limitations:

  1. Mirror files are not supported.
  2. If Rails and the Rails Connector are operated on a 32 bit machine, date values from January 19, 2038 cause errors when the corresponding content is delivered. This is not the case on 64 bit systems.