Is it possible to allow users to 'review' or comment on a collection item?

This may be a weird request, but I have a collection of companies and I want my users to be able to share comments/thoughts/experiences with other users and maybe even give a star rating.

Do you know if this would be possible? I love this tool so much, and thanks to all the experts for their help thus far .

You can add a Ratings table to help with that. The structure would be somewhat like this.

User ID Company ID Rating Comment
abcde gfhij 4 Great service!

I assume you may only want a user to rate a company once.

  • Create a “Rate & Comment” button on each company’s detail screen.
  • The form would contain a rating component and a text component (for comments). It will also collect the user’s rowID (from the Users table) and the company’s rowID (from the current table - Companies table).
  • In the Companies table, create a template joining the signed-in user’s rowID with each row’s company rowID.
  • In the Ratings table, create a template joining the user ID with the company ID.
  • Create a relation from the Companies table to the Ratings table using the 2 templates above.
  • If the relation is not empty, hide the “Rate & Comment” button.
1 Like

I should be able to follow that. With this method could other users see other people ratings?

Yes.

The only things that would prevent that would be Row Owners or User Specific Columns, and Thinh hasn’t suggested using either.

User details are in the USer sheet. Am struggling to get the real data to come through, as reviews look like this:

Looks like you’re displaying the RowID in the collection. Try changing that.

Only options I generally have there are these:

Think I may have configured something wrong. The combining of Company ID and User ID is happening on the company table

Looks like you’re missing this:

You need two more columns in your Reviews table - one for UserID and one for CompanyID.
Both of these should be populated from your Review Form. The CompanyID will be available as a Screen Value, and the UserID can be taken from the User Profile of the user submitting the form.

Once you have those values being recorded, you can use them to build the relation that @ThinhDinh described:

Have had these all along - as in this screeny. You can see the template setup on the left

No, that doesn’t look right.

Which table is that screen shot from?

The company table.

This is the config of the review table (with a couple of test entries)

Okay, good. That looks better.

Now, back to your earlier issue with the display of the ratings. What information do you want shown in that collection? Do you want the name of the user that left the review, or…?

Yes name of the user + the company name. I can get the bottom to section of the below example, but don’t know how to get it to pull the company name or user who left review name. My only options are:

So it will be like:

Review of ‘Google’ by ‘Joe Bloggs’

Rating
:star::star:

Detail/comment:
‘blah etc.’

Okay, no problem.

To get the name of the user:

  • Create a single relation in your Review table that matches the UserID to Users->UserID
  • Then add a lookup column that fetches the user name via that relation.

To get the name of the company, you essentially do the same thing, ie:

  • A single relation that matches CompanyID to Companies → ID (RowID)
  • A lookup to fetch the Company name

Once you have each of those, you can use a template column to combine them into the below:

1 Like

You beauty, thanks!!!

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.