Here’s a weird concept I’ve been working on. I’ve been taking note of anything that makes a project hit a snag, including simple correlations. For example, maybe projects don’t go as well if you wear red shoes. Red shoes might not be the reason, but if the correlation is strong, I put it on this list.

Here are all the things that need to go right for me to do a quality job:

Pre-Sales
If subcontract, client has secured primary contract
Project is at least 2 weeks long
Willing to make progress payments in advance by CC or PayPal

RoR
ruby installed
gem installed
rails installed
sudo permissions to run mongrel
mysql access
phpmyadmin installed
subversion access
SSH access
HTTP URL
valid server credentials
port 3000 open or alternate
Apache + fcgi or nginx

Layout
PSD or HTML supplied
Web-safe font family and fallback defined
Color hex codes supplied
Transparent PNGs not used for IE6 compat
Font sizes specified
Data column liquid behavior defined
Liquid wrapping rules defined
PSD delivered at 72ppi
JavaScript/CSS refactored in HTML comps
All rollovers/animations defined
All lookup sources/values defined
All input controls defined
All dithering effects specified & client informed that dithering will not carry in CSS
All form field styling and justification defined within browser constraints

Wireup
User role/permissions defined
Database tables, pks, and fks follow mvc-style conventions

 

A new player, named mod_rails, promises to make Rails deployment as easy as PHP.

My primary complaint about Rails has been ease of deployment. mod_rails works just like mod_php for Apache. You simply drop your Rails files onto the server, and instant deployment abounds.

It’s slightly more complicated, actually. You need to make vhost changes to the Apache server, which is typically not required for PHP deployment. But overall, this looks to be the easiest way to deploy Rails to date.

I also like the idea of running PHP and Rails sites side-by-side using Apache. nginx is nice, but Apache seems to pull ahead if mod_rails truly supports multiple simultaneous requests without a mongrel cluster behind it.

© 2011 Ben Allfree :: Painless Programming