🆕 G Suite Shared Drives, Background refresh, Lookup for multi relations

Happy Monday, dear Gliders!

We’re excited to tell you about three features we just shipped:

Lookup for multi-relations

Until now the Lookup computed column would produce the value of a column in a single relation. You can now use lookup to produce all the values of a column in a multi relation. As an example of how this might be useful, say you wanted to show a photo carousel of all the employees working in an office. You can now lookup the Photo column in the Employees multi relation, and bind the resulting column to an Image component. Another use case is to get emails to filter by.

Background Refresh

So far, Glide would refresh your app data from the spreadsheet whenever the spreadsheet was manually edited. If you used formulas that produced different values at different times without requiring manual edits, such as NOW, IMPORTRANGE, or GOOGLEFINANCE, your app data would not stay up-to-date. With Background Refresh, you can tell Glide to periodically refresh your data from the spreadsheet, no matter whether there was a manual edit or not, so those formulas will now stay up-to-date, too. This is Pro feature.

image

Note that due to the way Google Sheets works, if you use an IMPORTRANGE, and the spreadsheet that is imported used something like NOW or GOOGLEFINANCE, that imported data can still be out of date.

G Suite Shared Drives

You can now create an app from a spreadsheet that’s in a G Suite Shared Drive. This is a Pro feature, so to publish the app you’ll have to upgrade.

8 Likes

I have a couple of followup question with the new Lookup for multi-relations.

Is it safe to assume that this new feature could be used as a replacement for an array of columns (image 1, image 2, image 3, etc.) and that it can be used for any function that supports an array of columns?

I’m trying to find a solution to the Tasks demo in my concepts app. I had originally tried to use a filter to check if the logged in users email is contained in a list of emails in a column, that I build from a concatenated and delimited list of emails. The concatenated list comes from users who have completed certain tasks. Unfortunately the filter function currently does not let me do that since there is no global user email value I can compare the column to using “contains”. What I’m thinking of doing instead is using Per User Data on a list that points the Lookup column. The lookup column would contain an array of emails that I get from the form responses of users who completed a specific task. If I understand the Lookup with multiple correctly, I think this would work, at least for the list of completed tasks.

That leads me to my last questions. My example uses a List Relation. I don’t see a per user data option for a List Relation like I do with and Inline List. Is this by design? Also, I see that I can point a List Relation to a Lookup Column, but I have no options for setting the Title, Details, or Image. Not sure if this would be useful or possible. Just an observation.

I think this will be very useful to not have a set number of columns for an array. Especially with the photo carousel.

Yes, if you look up a column with primitive values this will work anywhere you’d use a column array.

If I understand your users email question correctly then yes, that should work, too.

List Relation is a very neglected component and needs to be completely redesigned or replaced. I don’t know when we’ll get to that, but when we do we’ll fix all those issues.

1 Like

Perfect! Thanks!

Hi @Mark,

On background refresh, I’m playing around with IMPORTRANGE functions on a child app from a master sheet / app (for the want of a better term)… so indeed running into the refresh kinks for them. I suspect that I simply need to trigger a change / update on the spreadsheet manually.

Any hot tip / recommendation on achieving this in your experience?

I’m investigating this path link but thought I’d ask too.

Thx,
Paul

Do you have background refresh enabled? If you do, it should update the imported data every 3 minutes or so automatically.

The only issue might be that the imported sheet only changes via functions like NOW and IMPORTRANGE. In that case we can’t easily help you, that’s twice removed from the original sheet. Basically it will (should) work if the imported sheet is edited by hand.

1 Like

Ahhhh ok, thanks for such a quick response. I’ve taken a look and it looks like we’re firing nicely now having discovered Spreadsheet Settings --> Calculation --> On Edit / Every Minute… so long as the sheet is open. Then I dropped a =now() function with a simple calc et voila… I can live with that without getting script heavy. :+1:

:face_with_monocle: Now that I think about it, this is an edge case as users will be editing real fields… not an IMPORTRANGE setting.

I have a Pro app but do not see the option to change the Background Refresh. Which screen should I be able to select this from?

Settings > General