Forum Moderators: open
A frequent problem of mine has been polling / rating.
An object being reviewed needs to have certain ratable values. These can change depending on the widget. For example hotels have different review chacteristics than say GPS devices.
An ideal review cms can some how allow you to create multiple ratings criteria for a widget type and then associate those correctly.
To use the above example, I'd create an object type hotel and have ratings types like "Room size, service quality, location, view" etc associated with them. A GPS would have stuff like "battery life, accuracy, reliability" associated with it.
This is one thing that I've not seen in any CMS around... unless I've been walking around with my eyes shut.
We ended up doing a fair bit of custom work with LinksSql from gossamer threads to get the above functionality done and its still not perfect to the level where I'm happy with it.
But I doubt you are going to find much of anything you are looking for to create ANY useful site in the base set of capabilities of any CMS. Most CMSs have a very basic set of capabilities. The good stuff is in the plugins.
I need to do something similar myself. But the site I am creating is not using a CMS, but being built in Ruby on Rails. The various Rails acts_as_ratable plugins (there are 3 different ones) all assume there is only one thing that is being rated. (That is, they a rating column to a widget table.)
But at least in Rails I can fake it by creating a seperate database table for each aspect of a widget that might be rated. This actually seems more appropriate to me, because I'm not sure that every user will want to (or should) rate every aspect. I don't want people rating things just because there is a slot there for them to rate it. If they don't really care one way or the other about "atmosphere", for example, I'd rather they just not rate it. Better for the database that you just omit non-ratings rather than have to record them as "no response".
This would seem to be a common problem, and I'd be surprised if there isn't a plugin for Drupal, etc. to do this. Search for plugins with names like multi-rating, etc.