Bug Add Row/ Set Column Values

@SantiagoPerez @Daniel_Sweet Having some technical difficulties. Until recently my custom forms worked and now they only work in the builder.

Any ideas about this? I’ve already submitted a support ticket just wanted to share with the community.

My App/Pages Support link:
https://go.glideapps.com/support/cfdefe77-ac0d-42fa-a910-62c9d3dbd055

Describe the bug:
Set Column Values and or Add Row action is not functioning properly. Works in the builder and not in the live app.

Expected Behaviour:
New Unique Identifier should be created for each new entry.

How to replicate:
I don’t believe this could be replicated easily. I can only share my experience

Demonstration:
A new unique identifier is not created. Only works in the builder,.

Regarding your first issue, you can only assign a role if you have the same role yourself. Yes, you call your roll ‘Admin’, but glide does not assume that an admin role has any kind of authority over any other type of role. The role name is just a name. Someone with an Admin role can only assign the role of Admin to other users. Same with a Player role. A player can only assign the same role of Player to another user.

For your admin to be able to assign any role to any user, they must have the same role themselves. This would require multiple Role columns with the administrator given every possible role. One for each column. Once they are given authority to every role, then they can grant access to any role.

As for your second issue, I’m still trying to absorb your video to understand it.

2 Likes

Hey Jeff thanks for taking the time to help. I thought there was a chance you could only edit a role if you had the same role… but creating one was fair game. Thank you for clarifying.

The second video is really my problem. Is there something I could focus on more specifically to help understand?

1 Like

Ok I solved it.

Problem: I was using a template column with a Unique ID in my 1 row Custom form table. I guess the unique ID doesn’t want to update inside the form? (It works in the builder)

Solution: First in the previous table with the list of names create the template + Unique ID combo and set column values to a USC field and show new screen. Then I can use that USC field in a screen column when I open the form

Basically I’m assigning everyone a unique ID before I ever open the form

2 Likes

Interesting. So you had the unique ID as a replacement value in the template column? I guess I’ve never used it that way. Usually I set it as part of a set column or add row action, or as a special value in a form. So once it’s set, it can never change until I deliberately overwrite it through an action again. In a template, I suppose it wants to remain static in some respects, so once it’s set, it doesn’t change within the template. Maybe the app emulator just handles it slightly different and regenerates the UUID every time you open the form, whereas the published app has a little more caching involved.

I guess if I were to do something similar, I would have used a Set Column action to generate a new UUID in the parent table or in the user profile record, then grab it in your form directly from the user profile, or through a relation/lookup or single value from the parent table. Kinda feels a little too vulnerable to me to build a template column with the UUID as one of the replacement values.

Just playing with it briefly, I created a template column with two replacement values. One replacement pointing to another column, and the other replacement using UUID. It generated a template value that included UUID for all rows, and when I changed anything else in the row (including the value used for the first replacement value), the UUID didn’t change, but if I started to edit the template column, then the UUID kept changing on all rows. Even refreshing the browser window caused all of the UUID’s to regenerate. Because of that, I guess I personally would never use UUID as a replacement value inside of a template column.

Interesting what you found though.

3 Likes

Yes interesting indeed. I thought I had it working for the last 4 weeks and now stumbled on it. I think I have unlocked something pretty powerful at least for my needs.

Now I can use this templated UUID :wink: in my role column and still control the visibility with ‘includes’. This UUID and Parent UUID’s are copied to each row in a much larger data set. When I filter the information down to be used in Glide I make those columns with the UUIDS row owners.

I saved many vlookups from my previous approach and now secure the row and the visibility all in one column.

1 Like

I use Integromat for managing role assignments. So when I want to assign/update a role, I send a webhook with the UserID and Role Name, and then get Integromat to set it. If it’s for a new user, I’ll send the email address instead, and build a short delay into the Integromat scenario, to allow time for the new row to be created in the Google Sheet.

2 Likes

That’s exactly how I set it up only with a 20 sec delay because I’m not taking any chances lol.

Now I can have thousands of roles and is working great. Previously was using =vlookup on top of a page populated by =filter and that ended up putting a ton of emails in Sheets to secure rows. Now only need one formula ‘=filter’ and make my UUID column I created the row owner. (No formulas/ extra emails in sheets) :rocket:

Roles is a very powerful feature and I’m starting to learn of it’s capabilities.

2 Likes

Great minds and all that stuff, hahaha :rofl:

1 Like

After all it was you @Darren_Murphy who gave me the idea to use UUID’s for my entries so that I could edit the names in my app without affecting relations. This improvement went hand in hand with how I manage the User Profiles. It’s been a long journey and wanted to thank you any everyone here who is always more than willing to lend a hand.

Happy New Years from FL

2 Likes

Closing due to inactivity. This topic will be deleted in a few weeks if there are no more comments.