There’s some great advice in this thread! I think the most straightforward approach for you is @tylerboodman 's method using the Privacy Rule setup. Here are a few key points to consider:
-
Privacy Rule for Users: This will speed up your results because users can only search for items they have access to.
-
For Creators:
• Every time you create a new “User_Favorite” item, update the song’s favorite count. This way, users can see the number of likes instantly without loading the entire user list. You can also easily sort based on the number. This will come in handy for analytics and other features later.
• When creators want to see a list of users who liked their songs, consider these options:
• Option 1: Store a “short list” of users (e.g., the first 5 or last 5) who liked the song. This allows you to display a message like: “John, Jane, Luke, Mike + 567 others liked this song.”
• Option 2: When the creator clicks “see all,” perform the search then. It’s acceptable for creators to wait a few seconds to get the results. Introduce the records in batches (e.g., 50 at a time). The reality is, if 5,000 people liked your song, you probably don’t need to see every user’s name. You just want to know that 5,000 people liked it.
As for the favorites search and custom states, I don’t recommend this approach. The condition should be:
“Do a search for ‘Favorite_Item’ where Song = (current cell’s song) and User = Current User & then use the operator First Item is not Empty OR use the operator Count > 0
2 Likes