[support] Drupal Content Structure for Product Reviews

Patrick Collins pcollins1 at gmail.com
Thu Dec 27 05:00:59 UTC 2012


I hope this question is appropriate for this list, if not please point me
in the right direction.

What is the "right way" to build a community-oriented comparison system in
Drupal 7? My primary question is do I need to hand-roll the DB code for
this or is there a way to do it with existing modules? My secondary
question if you have the energy, is how would you structure this in Drupal?

The entities of my site are as follows.

User classes:

* Administrators (me <=1)

* Analysts (trusted community moderators <100)

* Authenticated Users (untrusted community content creators <2000)

* Anonymous site visitors can view all of the reviews (billions of people
:)


Products:

* product classes. (e.g. Cameras, Laptops, Mobile Phones, etc). There will
be >500 product classes.Analysts can edit and manage product classes by
adding product feature types, etc.

* products (e.g. Nikon D7000, Canon EOS Rebel, etc) are an instance of a
product class.Authenticated Users can add/edit products.

* product features are the pre-defined set of features of a product class
(e.g. Exposure Metering, Exposure Modes, White Balance, Max Shutter Speed,
etc). These are administered by Analysts.

* product feature types. Each product feature must be of a certain type
like a star rating, text, price, number, url, etc.


My initial solution was to create a custom content-type for each product
class, then use drupal fields for the product features. My concern with
this approach is that I don't know how to allow semi-trustedAnalysts to
create and manage their own product classes and product feature types
without giving them administrator privileges. Also, I imagine having
hundreds of product classes and so it feels weird to have a custom
content-type for each * product class*.

I'm happy to do it the php-module way, or the pointy-clicky way. How would
you approach this?


Thanks in advance,
Patrick.




More information about the support mailing list