Simone,

Wherever you can, I recommend going with the flow. Some important questions to illustrate what I mean, though these are not the only ones:

1. Do you have lots of already-existing databases for which you just want to create web front ends, or will you be creating mostly new databases for each project?

In general, the more you're able to start from scratch and accept a framework's defaults and preferred way of doing things, the better. Rails, for example, is well-known for this. Its creators consider it a feature, and advertise Rails as "opinionated software". This truly can be a nice feature if your opinions match the framework's opinions. Rails and most other frameworks build in lots of short-cuts and conveniences for doing things in default ways. Most will allow you to defy their opinions to some extent, but the more you do, the more pain you'll feel.

This is especially true when it comes to database design. Other project requirements may go against a framework's flow, too, but databases seem to be where most people feel the most pain. Many frameworks require you to design database schemata in very particular, restrictive ways. Not all of them do, though. For example, the Catalyst framework (Perl-based, not Ruby or PHP) was designed to be completely database-agnostic from the beginning. In contrast, though I understand that Rails has been getting much better in this respect recently, it's not what it was designed for. And since Rails has gotten so much hype, many other frameworks have followed a similar opinionated approach. I highly recommend looking for database-agnosticism if you're putting web front ends on already-existing databases.

Disclaimer: I'm a former contributor to Catalyst, so I'm biased. It's also been a year or two since I did a lot of comparison research on web frameworks.

2. What tools do your developers already know? What tools do they want to use?

You said that you're already using Groovy and Grails. If your developers already know those tools, why not just use them? The more a tool lets developers use skills they already have, and the more they want to use that tool, the more likely the project is to succeed, all other things being roughly equal.

HTH!

David

--
David Naughton
University of Minnesota Libraries
[log in to unmask]
5-0473

On Wed, Sep 15, 2010 at 3:33 PM, Simone Q. Vuong <[log in to unmask]> wrote:
Absolutely, Dave. 

PROJECTS

We are a research center for Environmental Health Sciences under the School of Public Health. The projects are mostly secure, web-based forms and reports as well as some client applications.  Ideally, we would like to have all of our applications web-based. Examples of common projects we have are:

  • generation of letters, forms, etc for mass mailing
  • dynamic reports in which one can enter criteria for selection (e.g., date range, month, year, group, etc.) and select multiple sorting
  • LOTS of data entry applications
We're starting to create open-source applications that can be shared with other study centers. 

DATABASE

We use both MySQL and MSSQL, depending on the study although we would like to move to MySQL for all.

USERS

We're almost done with converting to Active Directory(AD) so that would be our means of authenticating users. Everyone who needs access our secure site -- that's most of our users -- must have an AD account.

OTHERS

Also, we've recently been building web applications in Groovy and Grails.

Does this help?

David Peterson wrote:
Hi Simone:

Could you be a bit more specific with the scope of your project? The framework to chose would depend upon what exactly you are trying to accomplish.

Thanks,

Dave

On Wed, Sep 15, 2010 at 2:35 PM, Simone Q. Vuong <[log in to unmask]> wrote:
Has anyone explored using PHP with a framework -- I'm considering the Yii framework for PHP -- and/or Ruby on Rails?

Could you tell me:
  • what you are using it for,
  • your pros and cons for using either,
  • easy of use,
  • the availability of resources for learning and trouble-shooting,
  • references you highly recommend, and
  • anything else you find relevant.

Thank you kindly.

Simone Vuong
Health Studies Section




--
David Peterson
IT Professional
Office of Institutional Research
University of Minnesota
http://www.oir.umn.edu

612-625-0914
[log in to unmask]