What is the best way to set up a page on which people could leave reviews, stories etc (I guess like on Yelp?). It would be a bonus if they could upload images, and or it used gravatars etc.

Additionally, we would need to monitor these posts, where the admin would be notified and then could approve them before they appear on the front end.


Drupal ships with that functionality you are describing out of the box, I mean the comments entity. Can be administered -approved, published, deleted etc- under admin/content/comment and are fieldable (admin/structure/types/manage/%node-type/comment/fields) and themable (admin/structure/types/manage/%node-type/comment/display).

Don't forget the comment's API

  • This worked just fine for what I needed, thank you! Jul 27 '16 at 21:27

I would recommend using https://www.drupal.org/project/reply (Reply module).

Reply is basically a fieldable entity so you can create a 'review', 'comment', 'forum post' or whatever you like by creating bundles and attaching fields to them. Such bundles can be attached to any fieldable entity by 'reply field'.

You can create as many fields as you would like. It also provides templates to override the behaviour. And most important without any customisations, you can have review individual page.

You can set access for reading and writing, position the form to the same page as entity or to a custom page, allow or deny replying to replies(= no hierarchy), choose threaded or flatted list. Such settings can be set for bundle, field, instance and entity with build-in inheritance which makes if a four level hierarchy settings system.


Part 1 - Workflow

Just start with the typical content types (create your custom versions of it), and standard comments. Then add the modules mentioned below to get going.


Use the Workflow module to "monitor posts" (as in your question) before they actually get published. Here are some typical values you may want to use for the actual workflow management:

  • Draft
  • Needs review
  • Needs work
  • Published


Use the Rules module to add all sorts of custom logic:

  • based on something happening on the site (= Rules Event), eg: a comment is posted.
  • perform all sorts of validations (= Rules Conditions), eg: check if the author of the post is also the author of the comment.
  • automagically perform additional operations (= Rules Actions), eg: send an eMail notification to the author of a post.

Part 2 - Monitoring

To actually monitor such post and notify an administrator, you could take advantage of the Menu Badges module: this module can be used, among other things, to create a custom view with a menu tab (say) "content to be reviewed" within admin/content. Similar to what is shown in the video Defining Menu Badges with Views in Drupal.

Refer to How to implement Administration UI notifications for new revisions? for more details about this interesting module.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.