Ruby on Rails

Goldberg - turn-key user auth & CMS for Rails

Tags: 

One of Rails' most commonly mentioned faults is the lack of a turn-key user authentication & content management system as part of the standard install. While a good point, there are a number of open-source projects that have stepped up to the plate to fill this gap. After looking around for some time I've found one which I suspect I'll be using often: Goldberg. Though not the most feature rich, Goldberg does the basics well - user authentication, user access controls, a basic CMS for handling static pages, which is all wrapped up in an easily extensible structure. Well worth trying out.

Rails tip - run FCGI if you can't do Mongrel

Tags: 

A small tip, but one I just encountered. If your web hosting provider can't allow you to set up a nice proxied Mongrel cluster, your best bet is to use the FastCGI (aka "FCGI") interface to Apache as the plain-Jane CGI interface is just slow as a dog. I ran into this little issue when using RedMine for my project management, and let me tell you it was slow. Well, it finally dawned on me to take a look see if it was using CGI or FCGI - low and behold by default it is set to use CGi, no wonder it was so slow! All it took to give it a 3x speed boost, i.e. make it run like a regular app, was to edit the public/.htaccess file and change the line that said

RewriteRule ^(.*)$ dispatch.cgi [QSA,L]

to say

RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

et voila, RedMine instantly turns into a much more usable application.

Rails on OSX tip: MySQL access

Tags: 

After wasting lots of time trying to get a database connecting to Rails on my MacPro at work I finally found the magic combination for MySQL.

  • Install MySQL.
  • Install the MySQL GUI Tools set.
  • Using the MySQL Administrator from the GUI Tools add a new user.
  • When adding permissions for the use set the hostname to be "(computername).local", e.g. "mymac.local".

It is that last part that had me pulling my hair out - using just "%" didn't work for me, it had to be "(computername).local". Silly thing.

MySQL + Rails on Cygwin tip

Tags: 

Here's a really quick tip for anyone using Rails on Cygwin. If you want to connect to a MySQL database the understood practice is to compile MySQL and go through the hassle of getting it all working within Cygwin itself. After what I've gone through with it all, the best way of getting this combination to work is to:

  • Install MySQL under Windows itself rather than Cygwin.
  • Make sure that the MySQL binaries are in your system path under Windows and, if installing via SSH, restart the Cygwin SSH service so that your login will be able to see the new path.
  • When installing the MySQL gem (gem install mysql) select the mswin32 option rather than the pure Ruby option.
  • Now, when you define your database connections just give the machine's IP address instead of saying "localhost" and it'll work great!

After wasting several days getting it all to work the "proper" way, the above is a much cleaner solution.

Redmine - excellent RoR-based project management tool

Tags: 

I've just been converted to a tool called Redmine, a combination of the ubiquitous Trac and something like ActiveCollab. Able to work directly with Subversion code repositories, Redmine gives you support for multiple projects, per-project tasks, content management (blog, news, document management, wiki), both a calendar and GANTT chart to view progress, a very comprehensive user management system that can even authenticate against LDAP (i.e. Active Directory, NetWare, et al), and as always is an open-source application so you can improve/extend the code as you see fit. I'm trying it out at work but it looks like something I'm going to start using for all of my project management. Awesome stuff!

Pages

Subscribe to Ruby on Rails