Skip to content
Ryan Sobol edited this page Feb 14, 2012 · 18 revisions

Technical Audit

Infrastructure Changes

https://github.com/sumitngupta/castjs/compare/010f19...5569066

All specs pass but there could be runtime errors.

Setup

Add instructions to:

  • Clone the Ruby environment of Heroku's Cedar platform
  • Start web server using foreman

All Environments

  • Upgrade from Rails v3.0.10 to v3.2.1
  • Change from MySQL to PostgreSQL
  • Upgrade from redcarpet v1.x.x to v2.1.0 (Markdown renderer)
  • Upgrade to coderay v1.0.5 (syntax highlighter)
  • Remove thinking-sphinx (Heroku has an add-on replacement)
  • Upgrade to whenever v0.7.2 (cron DSL)
  • Upgrade from will_paginate v3.0.pre2 to v3.0.3
  • Upgrade to jquery-rails v2.0.0 (jQuery UJS)
  • Upgrade from omniauth v0.2.2 to omniauth-github v1.0.1 (authentication)
  • Remove exception_notification (Heroku has an add-on replacement)
  • Upgrade to ancestry v1.2.4 (similar to the acts_as_tree)
  • Upgrade to cancan v2.0.0.alpha (authorization)
  • Upgrade to papertrail v2.6.0 (model versioning)

Development & Test Environments

  • Upgrade to rspec-rails v2.8.1
  • Upgrade to launchy v2.0.5 (cross-platform browser launcher... used for test coverage)

Test Environment

  • Upgrade to factory_girl_rails v1.6.0
  • Upgrade to capybara v1.1.2 (acceptance tests)
  • Upgrade to database_cleaner v0.7.1
  • Upgrade to guard v1.0.0 (file system watcher)
  • Upgrade to guard-rspec v0.6.0 (spec launcher)
  • Upgrade to fakeweb v1.3.0 (web request faker)
  • Upgrade to simplecov v0.5.4 (code coverage analysis)

Development Environment

  • Upgrade to thin v1.3.1 (web server)
  • Upgrade to nifty-generators v0.4.6 (generators from ryan bates)
  • Remove capistrano (not needed for heroku)
  • Upgrade to heroku v2.20.0 (production management)
  • Add foreman v0.39.0 (service management for development and production)

Configuration Changes

  • Clean up .gitignore files
  • Remove Capfile and config/deploy.rb capistrano configuration
  • Add Procfile for foreman
  • Refactor APP_CONFIG to load from either config/app_config.yml or ENV for heroku compatibility
  • Improve Rails.logger behavior for foreman compatibility in the development environment
  • Remove debug_rjs configuration to fix Rails 3.1+ changes in the development environment
  • Remove ExceptionNotifier configuration in the production environment
  • Update the session_key and session_secret with new castjs values
  • Replace the MySQL database configuration with PostgreSQL configuration
  • Remove config/examples/production.sphinx.conf (will configure sphinx via heroku add-on)

Schema Changes

  • Update schema.rb with PostgreSQL compatibility

Bug Fixes due to Changes

  • Update RedCarpet API
  • Fix PostgreSQL data coercion bug
  • Update OmniAuth hash schema
Clone this wiki locally