CNK's Blog

Setting up Refinery CMS

Refinery has an excellent set of documentation. I am on a new server but one with a very old ruby, so I had to start by installing RVM, installing ruby 1.8.7 and creating a gemset to use for my refinery projects. I chose 1.8.7 because of some of the slow start up problems with rails on 1.9.2 - but later I found that Heroku was recommending 1.9.2. Oh well, I’ll fix that later.

So following the Getting Started guide, I did: gem install refinerycms and then refinerycms refinerytest -d postgresql -u cnk -p sekrit The flags I used were not in the getting started guide - but I found them using refinerycms --help. I already have a Postgresql database (9.0.4) installed and I have admin access to it. So using those flags, I was able to specify Postgresql rather than SQLite, configure it, and then the installer could run the migrations for me. The one flag that appears to be missing is a host flag for the database configuration. So the automatic database configuration and migration only works if your database is available on localhost. If it isn’t, no matter, the installer will tell you that you need to complete the configuration and then run rake db:migrate. (Note, a flag for host was added just a little while after I did this setup.)

The installer finishes by suggesting you run rails server and look at your site at http://localhost:3000. The installer did not create an initial admin user in the migrations. That means there isn’t a standard username and password - which is nice for security. To fix this, the refinery server startup detects there isn’t an existing user and prompts you to add one. Once you have created the initial user, you are redirected to the refinery admin section where you can see the recent activity (e.g. the addition of your admin user). At the top of the page is a suggestion that you update the name of your site - and a link to the settings editor where you can do that.

So far, I am really impressed. The install and setup process is quite smooth and well documented - with well placed hints at strategic points along the way. Very professional. My initial impression of the admin interface is that it is clean, well organized, and pretty intuitive. In the upper left hand corner is a link to view the public version of the site…. Ugh!

The back end is nicely laid out and themed - good tabbed interface, very professional looking. But the front end is completely unstyled (or almost completely). That probably makes sense in the context that Refinery was developed in - for a professional web consulting shop who almost certainly has designers on retainer if not on staff. For my current site conversion project the lack of styles is also probably a good thing. But for some other projects I have in mind, the lack of even basic styling means that the first thing I am going to have to do is come up with a design. Not my favorite part about web work. In my professional life I have mostly had the good fortune to work on teams who had designers - really good designers - so it isn’t a skill I have developed. I know from a previous experience with Radiant that it comes out of the box looking pretty good.