Invites to show private items to order (like secret menu)

I’ve been trying to create an invite system that allows people to see private/secret items in the shop and order them but only if they’ve been invited.

The flow should be:

  1. Private item is created. It does not show up for anyone in the “things” list.
  2. Creator of the item shares invites with people he wants to buy his item. This is done through 3rd party services (email, whatsapp, text etc.)
  3. Buyer receives invite and now the private item shows up in the things he can buy list.

Invite can be a short code like A42GX or it can be a URL or even a QR code. I’m open to ideas on how the invites should function. Any ideas?

1 Like

This didn’t work:
I tried to implement it by adding an “invisible” boolean column to each item that is user specific. I’ve been trying to make it so when a user types in an invite code to a separate form they toggle that boolean. The list of things doesn’t show any item that has boolean set to true.

Unfortunately this implementation failed because I’m not able to convince glide to toggle that user specific boolean for buyers. On top of that if the buyer creates an item as invisible he won’t see it either :sweat_smile:. I’ve tried to make an action integrated into the creation form submit button to enable the owner of the object to see his own object but it’s proving difficult.

There could be several different ways to do this. Here is one way that should be fairly straight forward to implement:

  • Ensure that you have a text column in your Items table to hold the “secret code” for that Item
  • In your User Profiles table, create a text column to hold a list of entered “secret codes” for each user
  • This should be comma separated list of codes - each time a user enters a new code, it gets added to the list
  • Back in your Items table, create an if-then-else column:
    – If secret code is empty, then true (if no secret code, then it’s visible to all)
    – Else if secret code is included in Users->Secret Codes, then true
    – Else empty

Now all you need to do is present an inline list of Items, and filter it where the if-then-else column is true

To ensure the Item is immediately visible to the User that creates it, the create action should add the item “secret code” to that users list of entered codes.

2 Likes

See I tried this initially but I wasn’t able to figure out how to do a list in which every user keeps adding codes.

Just giving them a big text field in which I say "add all codes here separated by ; " is a pretty bad UX.

I couldn’t find a way to just append a list or a text blob in glide.

You can do it like this:

  • Present a text input component that prompts for the code, and target that at a User Specific column
  • Create a template column that takes the current value of the “Secret Code” list, appends a comma to it, and the value of the User Specific column
  • Create an if-then-else column:
    – If Secret Code list column is empty, then User Specific column
    – Else template column
  • When the user submits the code, update the Secret Code list column using the value of the if-then-else column.
5 Likes

by a code stored in the apposite table.
you must create a relation from the screen field (user column field) to that table and set the ITEM visible if the field and the relation are not empty (that means as soon the code will be correctly introduced, the items will be visible to the visitor only).
Easy way

This is genius. It should go in the official documentation for how to append a list.

Now this works. It’s a little slow to update but they can live with it.

IFTHENELSE columns are userspecific by default? I don’t see the option to make them but they seem to work that way. I remember computed columns are calculated in the frontend but I thought that wasn’t the same thing as being user specific.

Not by default, but as soon as they reference a user specific column then they become user specific. The same applies to all computed columns.

1 Like

It’s impressive that it propagates all the way from the single invite code input column. That’s the only user specific column I used.

I’m probably going to have to flush the invite list every once in a while but it’s not a huge concern. Any idea what the character limit is on a simple text column?

I’ve seen it mentioned, but I can’t quote it off the top of my head. But it’s ridiculously high - maybe millions of characters. I have cells with thousands - possibly tens of thousands - of characters, and I’ve never had an issue.

1 Like
3 Likes