# Choosing tools (RoR/drupal/other)

**URL:** <https://www.ruby-forum.com/t/choosing-tools-ror-drupal-other/105117>\
**Category:** Rails\
**Created:** [May 25, 2007, 10:12pm UTC](https://www.ruby-forum.com/t/choosing-tools-ror-drupal-other/105117 "2007-05-25T22:12:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nvm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/a88e57/32.png) [@nvm](https://www.ruby-forum.com/u/nvm)\
**Post date:** [May 25, 2007, 10:12pm UTC](https://www.ruby-forum.com/t/choosing-tools-ror-drupal-other/105117/1 "2007-05-25T22:12:44Z")

</div>

Hi! I have an idea for a project that would be based around a  
community like website. I am currently trying to evaluate different  
tools for me to build my site with. Though I’m fairly new to  
developing server side things, I do have some programming experience  
and a lot of gerenal computer/web know-how, so I know roughly what I’m  
heading for. I want something that is proven to work for semi-big  
community sites, that is reasonably easy/quick for me to learn and  
use, that I can thoroughly brand and theme the way I want, easy to  
maintain and update for whatever future changes and additions I may  
want to do to the site, and so on. The website has to be finished  
early spring 2008, and I have fairly much time to devote to it.

I’ve been looking at Drupal, which seems nice because it looks like it  
has a gentle learning curve which may make it more realistic for me to  
actually finish the project alone. It’s also good because most of what  
I need appears to be available out of the box or through different  
modules. What I don’t like about Drupal though is that it feels like I  
don’t easily have any control over the actual mechanics of my site,  
because of the layers of interface between me and the code.

Now I’m also looking at Ruby on Rails. It seems to offer a higher  
level of control, meaning you’re not forced to rely on the work of  
others. Otoh, this might mean a lot of extra work for me?

Let’s look at what I need for the website (I recently posted this list  
(but slightly different) on the Drupal forum as well):

- A regular CMS for managing the website, including news articles  
(essentially a blog) and articles of more static nature (such as FAQ’s  
etc)
- A good, clean, fast and easy-to-use forum that doesn’t feel bloated  
(a good example of what I want would be Vanilla)
- The ability for users to start their own “teams”. Each team  
automatically gets its own private/hidden forum section as well as a  
public group blog. A user must not be part of more than one team at  
the same time. Anyone can apply to be part of any team, but the  
initiator of each team decides who is allowed and who is not. There  
must be a maximum limit of say 15 members in each team.
- A public gallery with support for at least images, text and movies  
(streaming, preferably a flash application). Every uploaded submission  
must be manually approved by a moderator before it appears on the  
website. Support for rating, comments, sorting, albums etc would be  
welcome but not absolutely necessary.
- A natural connection between news articles and the forum, similar to  
how you can discuss blog articles, but in the forum instead. So, when  
a news article is published, it automatically creates a new discussion  
in the forum. Another variant would be to have a certain forum section  
in which only some people are allowed to post, and where a new post  
automatically shows up as an article on the news site.
- Super easy sign up but still good spam protection
- Google maps integration, with icons showing how the members of each  
team are spread out over the country

Would it be unreasonable for me to use Rails for this?

What other tools would you recommend that I take a look at? 🙂

---

<div class="post-metadata">

**Author:** ![nvm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/a88e57/32.png) [@nvm](https://www.ruby-forum.com/u/nvm)\
**Post date:** [May 26, 2007, 12:21am UTC](https://www.ruby-forum.com/t/choosing-tools-ror-drupal-other/105117/2 "2007-05-26T00:21:56Z")

</div>

I don’t know how objective I can be about this, but I’ll give you my 2  
cents. I’ll just comment about the parts I know something about.

On May 25, 9:11 pm, nvm [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> early spring 2008, and I have fairly much time to devote to it.

It looks like you’ve looked at your resources and opportunity costs.  
Good move.

> others. Otoh, this might mean a lot of extra work for me?  
> One beautiful thing for people new to Rails is how much work you can  
> use from others, if you know how to guide the process. There are  
> plugins and gems for a lot of standard things. These get real easy to  
> implement and test.

> automatically gets its own private/hidden forum section as well as a  
> how you can discuss blog articles, but in the forum instead. So, when  
> a news article is published, it automatically creates a new discussion  
> in the forum. Another variant would be to have a certain forum section  
> in which only some people are allowed to post, and where a new post  
> automatically shows up as an article on the news site.
> 
> - Super easy sign up but still good spam protection
> - Google maps integration, with icons showing how the members of each  
> team are spread out over the country
> 
> Would it be unreasonable for me to use Rails for this?

I don’t see any reason why you couldn’t build all of that with Rails  
and be able to scale it and meet all of your requirements. As far as  
I understand your requirements, I’ve seen or built something like each  
piece you have listed with Rails. Besides, Rails is simply a  
framework. If you really came up with something that didn’t fit the  
MVC paradigm, what’s to stop you from writing that part in plain Ruby,  
or even something else?

> What other tools would you recommend that I take a look at? 🙂

I think, more than whether to use Rails is HOW you’d use Rails. I can  
speak for myself, and it seems to be common in the community, that  
we’re learning Rails the “wrong” way. We get excited and do a  
tutorial or two. Then we write a few sandbox applications to take the  
thing out for a spin. Then, we just kind of hack away, pick up books  
or articles to try and fill in the gap. Now, 2 years into it, I’m  
starting to get a different picture. I wasted a lot of time in  
undirected learning.

Here’s what I’d propose you do:

- start with a good foundation in test-driven development (or BDD).  
Use that approach to explore Rails and Ruby. It seemed to pedestrian  
to me before, so I avoided this approach, but then I realized how vast  
the Rails world is and how quickly I could get lost, and I just think  
that the test-driven work I do today is much cleaner and easier to  
build off of than my original work. (I use RSpec for my test/specs by  
the way. I’d recommend those). Here’s a decent article defending  
this approach to learning rails:  
[http://notrocketsurgery.com/articles/2007/02/23/the-scientific-method-learning-bdd-rspec-ruby-and-rails-with-language-experiements](http://notrocketsurgery.com/articles/2007/02/23/the-scientific-method-learning-bdd-rspec-ruby-and-rails-with-language-experiements)
- Approach your project interface-first. That way, if you decide  
you’d prefer a different framework, it’s because of a design decision,  
and you haven’t thrown away a lot of your work. It’s a good practice  
anyway, even if you’re not wondering whether to use Rails.
- See how many elements of active learning you can use (short lectures/  
articles/chapters, reflective questioning, practical experiments, and  
peer feedback)

I think if you approached Rails this way, the learning curve wouldn’t  
seem so unnavigable and you’d probably enjoy the trip a lot more.  
Also, you might discover some of the things that I’ve discovered about  
Rails:

- It’s a joy to write in Ruby
- The beginning of a good app can start to take shape in minutes
- About as much of the mundane that can be done for me has been done  
for me. In the areas where things still seem mundane, I’m discovering  
that there were better practices that I hadn’t been taking advantage  
of (both things generic like wireframing and test-driven design as  
well as more Rails-specific stuff that you’ll pick up as you go along)
- The learning curve mostly represented the undisciplined parts of my  
work process that I had to bring under control (like thinking in terms  
of MVC, getting into a regular refactoring habit, and learning  
something new every day)
- The community is a very good place to hang out. People are  
thoughtful and considerate, often. What’s more important, a lot of  
them are very smart. Good group of people to associate with.

As far as the Google Maps part of your application, there’s a whole  
book put out on using Google Maps with Rails from Apress (Google Maps  
Applications with Rails and Ajax). It’s pretty good.

Good luck with things, whichever direction you end up going.

David R.

---

<div class="post-metadata">

**Author:** ![nvm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/a88e57/32.png) [@nvm](https://www.ruby-forum.com/u/nvm)\
**Post date:** [May 26, 2007, 1:45am UTC](https://www.ruby-forum.com/t/choosing-tools-ror-drupal-other/105117/3 "2007-05-26T01:45:02Z")

</div>

I agree with David’s comments.

You might check into Mephisto for a CMS and the forum stuff from the  
Pragmatic Programmers ([Pragmatic Bookshelf: By Developers, For Developers](http://fora.pragprog.com/rails-recipes) ) or  
Rick O. ([http://beast.caboo.se/](http://beast.caboo.se/)). If you started with those you’d  
not only have a very functonal base in RoR, but some of the best code  
to work from as samples.

Good luck.

---

<div class="post-metadata">

**Author:** ![nvm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/a88e57/32.png) [@nvm](https://www.ruby-forum.com/u/nvm)\
**Post date:** [May 29, 2007, 1:53am UTC](https://www.ruby-forum.com/t/choosing-tools-ror-drupal-other/105117/4 "2007-05-29T01:53:31Z")

</div>

Great reply! It’s very late here, so I don’t have time to write much  
more than this right now, but I’ll come back tomorrow!

Thanks!

- nvm
