Update to rails 5.1.4
Standardise on double quoted strings
Update to rails 4.1.1
Update to rails 3
Update to rails 2.3.14
Update to Rails 2.3.11 Update the site to use Rails 2.3.11 which also required switching to the new syntax for interpolated variables in translation strings.
Updated to libxml-ruby 2.0.5 and fixed code accordingly. I've tested this through the unit tests and by hitting it with bulk_upload.py and neither fail or cause the server to crash or go into an infinite loop. Both of these things happened randomly with 1.1.3/4 due to an apparent early deregistration of the expanded nodes.
Use a pessimistic version constraint for libxml It seems that rails doesn't handle gems wth multiple version constraints right - it generates invalid install commands. So we use a pessimistic constraint instead.
Don't allow libxml 2.0.0 and later to be used
Add memcache support
Switch to i18n version 0.5.0 but keep old style interpolation It's impossible to stop rails 2 loading a newer i18n gem if it is installed, so go with the flow and use the latest one but override the interpolation pattern for now.
Require i18n 0.4.1 specifically as some later versions don't work
Require a specific version of the oauth plugin It looks likely that the API will change in future versions of the oauth plugin, so require a known working version for now.
Remove oauth-plugin from vendor and require gem version instead
Require i18n version 0.4.1 and fix monkey patch to work with it Rails 3 pulls in i18n version 0.4.1 as a separate gem which then breaks our code if it is running on a machine with rails 3 installed as it tries to monkey patch i18n and fails, so this fix allows us to run on a machine with rails 3 installed.
Rework application configuration Use a preinitializer to load the settings from application.yml so that they are available as early as possible. All settings can also be overridden using environment variables. The ad-hoc settins in environment.rb are then moved to this new system so we have one consistent location for settings.
Bring configuration files ino sync with current rails default ones
Disable SQL sessions in database readonly mode
Make database offline work in production
Make database offline mode work