Row Owner bug when editing

I followed your advice on security and I tried to test the “Row Owner” function.
Viewing data (i.e list of items in the table) is working fine (switching from one user to another in test mode).
The problem comes when the user tries to add a new item using the form. There is a mismatch / synchronization maybe between the data the form is filled with and the data in the Glide table: in my case, the field that should contain the user’s sign in (which is passed in the action via “set column values” is not passed, same with some of the fields which are entered, mainly dates. Or, it is filled in with a delay and therefore Sendinf Emaildoes not contain the needed data . Even more awkward, changing signed-in user removes some data (mainly the Email).
I hope I described the problem clearly. I might have missed a point or maybe this function is not free?
With the Filter feature, everything is fine.
By the way, I am using Glide on Windows 10, Chrome, and test it with Android devices.

Are you using an On Submit action for your form? If so, I would recommend avoiding that if possible. Many values can be set in the form by adding Value, Special Value, or User Profile components. This will sett the values when the row is created as opposed to after the creation of the row.

Where is the email being removed? Sounds like you are using User Specific columns when you may not need to.

Screenshots are very useful to help determine what your problem may be.

2 Likes

Thank you very much for your very quick response. Yes, I am using Submit ! I don’t see how I can use Value, … (if you can tell me where to find it?)
The process is simple: the user selects a name in a drop down list, specifies a locker (casier in French), selects if he wants to send an SMS text (otherwise a mail is prepared).
I am including screenshots:
Starting here:

Name and locker entered … :

But the next screen, which normally shows the details, is empty.
image.png

Although the entry is in the table, it is not shown


Only one entry is shown although Iam (or user AT2 is) supposed to see 3 lines.
This is the Submit action (simplified for testing: I removed the conditions. The “smsy” box choice is not passed to the submit action anyway
image.png

In Set Column Values I set the date/time and the user’s email:
image.png

I just added the Compose Email (which I removed before for better testing) to the submit action to show you the other bug: the mail is sent to “MailAddress” and contains the content of “Loge” in the body. However, body is empty and the To: as well !


A hint (just discovered): if I type over the line items (user’s email, and date) it works: the line appears in the list. I didn’t change the data at all, just overtyped one letter. Concerning the date, there is a small additional ‘european’ bug: the system goes back to this format ‘10/01/2023 18:22:58’ and then changes it again to “1 octobre 2023” instead of “10 janvier 2023” …confusion between ‘mmdd’ and ‘ddmm’. but this is minor since the date is never manually touched !

Thank you very much again for your help. Hope it is clearer with the screenshots.
When I remove the “row owner”, everything works.

You add them just like you would add any other component to the screen. You can do that by using the Add component button in the lower left panel of the builder. You will see many more components than you normally would see, because you are in a form. This way you can avoid using the Set Column action in your On Submit actions. User’s email and current date can be added as Special Value components.

Part of the problem is that you are adding a new row, and you are not the owner of that row until you set the email. It’s much better to write the email when the row is added by using the Special Value components instead of afterwards.

I’m leary about this. It may or may not work after the above changes. The problem with running multiple actions at once…and especially when running certain actions On Submit…is that actions run very quickly. Sometimes it tries to update a row before it’s been added, or you are trying to view the details of a row before it’s been added. Plus, you have row owners and you are attempting to add the row owner email after the row has been added (meaning the row you just added is not owned by anybody). The problem is that normally you can’t update a row that you don’t own.

First try the change to use Special Value components and remove the Set Column action. Then see if the Show Detail Screen works. I personally avoid using On Submit whenever I can.

This again could be a timing issue when it tries to send the email before the row has been completely added. Again try it once you add the survival value components.

Probably because you were initially trying to view an unowned rows. When you overwrote the email it triggered an update to the row which allowed it to re-sync to the app screen.

Dates are tricky, but glide had become much better at handling them. The problem is that the same date needs to be show to me in the US as MM-DD-YYYY, whereas everywhere else it’s shown as DD-MM-YYYY. Normally the first thing I would check is to see what region/locale your browser and operating system are set to. Also, if you are using a google sheet, be sure to check the region/locale settings on the sheet. Glide tables are better at handling dates because they are stored as true dates, unlike Google sheets, where it’s stored as text and both Google and Glide try to determine the correct date format based on region settings. It can especially be problematic if you manually type in a date. Glide is trying to do it’s best to guess if you meant Jan 10th or Oct 1st. Be mindful that Glide is a US based company and we like to be different in the US. Normally a date picker will store a date in ISO format. If you manually type a date in a similar format (YYYY-MM-DD) then it’s a universally recognized format. MM-DD and DD-MM are much harder to determine without context, such as the language and country of a user. Dates are not easy and have different rules worldwide.

3 Likes

Perfect! You are absolutely correct, it was a question of timing !
I used Special Value Components as you recommended: the ownership is activated at the start, and everything else follows …

Jeff, Thank you so much.
Antoine

3 Likes

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