Spent 8 hours rebuilding the app with this new function. I had (no kidding) 5 copy sheets for non-editable versions of sections of the app. It was so bulky and such a slow loading sheet. Especially with all kinds of scripts working on the sheet as well.
Weeks ago, I accidentally input content into a cell of one of my copy sheets (created with a =QUERY function in A1) and it made the whole sheet go blank. I didnāt realize it for a few minutes and Glide pulled my spreadsheet and recognized that sheet was missing and deleted dozens of components for it all over the app. It was a nightmare and ever since Iāve been A) so effing careful with everything I do in my sheets and B) dying for you guys to finally release this feature.
My sheet is so much lighter now. So much faster loading. Thank you!
I ran into issues when trying to build a relation to the signed-in user when the page/row had actual relation to them. A true āadminā should have access to edit anything, regardless of whether they relate to the content in some way. I canāt figure out how to do this, especially if you want to designate more than one admin (canāt know use Lookup for multiple value relations).
Edit: I think I know what you mean⦠basically every row would have a column (e.g. Admin column). In that column, populate it with the email address of the admin user for that row. Then, build the condition like you did above. I just donāt know how to do this if there are multiple admin users.
Edit2: or if you populate the row with āadminā then do a lookup to another sheet of users to see who is āadminā , that would only work for one user, wouldnāt it, since Lookups arenāt for multiple valuesā¦?
Correct. Youād have to build a sheet that specifies admins.
Name the columns Admin 1, Admin 2, etc. and populate those columns with email addresses. Glide will create an array column of these admins called Admin. Then you can create a filter that says if Admin is signed in user. You could get this to populate in every sheet of you create another column called IsAdmin and fill it with any string like ātrueā or āadminā. In your other sheets create a similar template column, then do a relation/lookup of the Admin column.
@kyleheney What Iām doing in my example is what you describe in your Edit2. Have an āadminā value in the sheet, create a multiple relation to an admins sheet that has the same āadminsā value, then create a lookup that pulls all the admin emails. You have to make sure the admin records are in rows instead of columns. You would only have one email column in the admins sheet.
In my screenshot, Email 1 is just a single email column of the row owner. Lkup-Admins is a lookup array of multiple values from a sheet that has multiple rows.
Filtering by signed in user works great with an array created from a lookup
Iāve had a problem in the past with what @Robert_Petitto is saying. I wasnāt able to successfully do a lookup into an array to create a super-array inside the lookup.
I havenāt tested this, but Iām assuming this may be the issue you have had with doing a lookup into an array column on the related sheet.
Rather than fiddling with extra lookups or relations, I would just add a Single Value column to every tab I needed to filter with those admin rights, and use that Admin array as the source. You can then filter using the single value column as āis signed in userā. I just tested it for something Iām working on and it seems to be working just fine.
P.S. - Regarding that Single Value column - I find myself making a tab I name GLOBAL, and use it for things Iāll use in more than one spot, and use the Single Value column to bring it over to the appropriate tab. For example - besides the Admin array above, I only need to link to graphics or photos that are used over and over once. If I update it on the global tab, it updates everywhere.
Thank you very much for sharing. Iāve never had to use the Array Column function and had no idea the Glide editor saw those types of columns that way. That definitely makes it easier to assign multiple admins.
There is a lot of power behind arrays. Once you discover them and realize you can use them for image carousel, email filtering/visibility, either end of a relation, any many other things, it opens up a whole new world.
Would be really great if we could choose from the full collection of Icons to replace that little pencil. In some cases the editing of a row of data (essentially what this is) is best communicated to the user in other ways than āyou are editing thisā. Especially in instances where a community of people all have access to edit the same row of data. Hereās a use case:
Imagine a library-type app with a bunch of books in it. But you want to simulate a feel that each book only has a limited number of copies for the community to read. For each row of data, you create several columns representing how many copies of the book to check out and corresponding date columns for when they have been checked out. You use the check out dates to create a condition for when certain check out columns are free to be overwritten and hence when that little edit pencil becomes visible to everyone. Inside the edit form, you create a simple little UI and messaging that sends the next personās email address and current date to overwrite the data in an avail check out column. With this new function, you can do things like this and so much moreā¦
But a pencil⦠is a pencil really the best way to communicate a use case like the one Iāve just described? Iād love access to some stars or some hearts or some bookmarks⦠to all of the pro icons.
If you do, @John_Cabrera, please ask for the modifying of the words āItemā. Edit āBookā or āReservationā ā¦same is true with the relation component.
Will do. But I have to admit⦠the publicly visible number of votes on a feature feels a bit competitive, and for whatever reason sort of dampens my desire to request there. I love the conversational tone of these forums. The ability to edit your writing if you misspeak or have a typo. Sitting at my desk typing on a big screen on a normal keyboard. The request app doesnāt have the same community feel as these forums. But if thatās where you guys are officially pulling new feature requests, Iāll be better at putting them there.