Is there an easier way to save screen configurations as templates?

Hi there, I have worked on updating an event check in app and it’s working quite well. The issue I seem to be running into is there’s a lot of duplicative steps that must be done in order to create and format future events.

Here is the event app demo: https://eventscheck.glideapp.io/

The problems are more of an annoyance rather than any sort of bug. Basically in order to have subsequent event information be fed into the app, I have to select the “Independent screen configuration per item” option under Action, which allows for individual events to be displayed under the proper event (in the connected Google Sheet I have each new event as its own tab).

While I can reconfigure each event screen for each new event, this is a bit of a logistical nightmare.

(For reference, I have the “Independent screen configuration…” option turned OFF for this demo in order for you to see how the tool should work ideally, however that means only one single event is displayed across ALL other event screens, meaning guest data is all the same.)

My questions:

  • Is there perhaps a different, more recommended method to better configure individual events (meaning: not as individual tabs), that will only display current event data within the current event screen?
  • Is there a method to save screen configurations as “templates” in order to prevent having to reconfigure subsequent events individually?

For what I mean by configuring screens individually, here is what I would have to reconfigure on each individual event AND one of the guest profiles within each individual event in order for it to display the desirable way:

Individual event configuration screen:
Screen Setup - Individual event


Any help or feedback would be GREATLY appreciated. LOVE the Glide community!!

Individual guest configuration screen:

And here’s what’s displayed by default if I don’t configure the screens for each event:

Why exactly are you using independent screen configuration? You shouldn’t have to do that. It sounds like you may not be using relations properly for you inline lists???

If all of your events should be sharing the same details layout, then you should not be using independent screen configuration. Each event list item details should show information from that row. Any related information from other sheets that pertain to that event should be using relations.

Also, if you are creating a sheet tab for each event, then that is not very good database design and will result in you having to redesign your layouts for each event. Similar types of data should be in the same sheet. Proper relations, filters, etc. will allow for the proper related data to be shown together.

3 Likes

Thanks for the reply Jeff! I actually think you’re right on the money…I haven’t quite configured relations as of yet, so I suppose that may be where I could mitigate or resolve the duplicative work.

By chance would you know of an existing app or spreadsheet to reference that might point me in the right direction? From what I browsed through, both within this community and through the available apps listed on Glide, I haven’t quite come across something that I could use as a guide, at least not yet.

Just for reference, here’s how I have currently configured my Sheet (note the individual events):

1 Like

And another example of the individual event screen:

Do all those sheets with dates as names contain the same set of columns?
Presumably you’re creating a new sheet for each event and naming it according to the event date?
That isn’t going to scale very well…

What you should do is consolidate all of those into a single sheet, then add a column that contains a reference to the event (ie. EventID).
You can then build a multi-relation (in Glide) to this sheet from your main events list - joining by EventID - and that relation will provide access to a list of participants for each event.

This simple change will go a long way towards resolving your screen configuration headaches.

3 Likes

Wonderful insight, thank you Darren! Your recommendation is logical and makes sense. I still have a bit more configuring to do with the dates, but indeed here’s what I have altered with the setup (moved all individual tab event date over into the single “Guests” tab with matching Event Code shared between both of the “Guests” and “Events” tabs:

I then created a Relation which correctly displays the matching Event Code data:

It’s still a work in progress since the next issue is having to configure how to properly have the data appear within an individual event screen (previously the data would appear from each event via the Inline List function; I tried the Relation function, and the data does correctly map…HOWEVER it’s “hidden” in a separate screen that requires an other tap to view):

(Instead of displaying “List relation”, I’d prefer the checklist to simply be displayed on this screen)


So as you can see, it’s still a work in progress. Any further suggestion for managing/displaying relation data? I suspect I need additional relations set up, but I think I’m going in the right direction…

Instead of a List Relation on your Event Details page, try using an Inline List to show the Guest List. (The source for the Inline List will be the relation that you created)

1 Like

Oh shoot, you’re 100% on the money. That was pretty simple. Wow!

I still have a little more tinkering to do since the “Not Checked In” isn’t updating (I think I may have to create a separate Relation for that column).

This is a real game changer.

What are you trying to do with that?
Important thing to be aware of with Glide boolean columns is that they have three possible states:

  • true
  • false
  • empty

The empty state is valid, and one that often trips people up. When checking the state of a boolean, the most reliable method (assuming that you don’t care about the empty state) is to check for true or not true.
not true will catch both of the false and empty states.

Good to hear that you’re making progress. Don’t be afraid to ask for more help, that’s what the community is here for.

1 Like

Ahh I think I figured out what it was – I did have the “Not Checked In” data update correctly in my initial build…but that was because the cell formula was referencing the separate/individual event tabs.

Example: the cell formula for one the “Checked In” tab is =SUMIF(‘6/27/21’!A$1:A$34,TRUE,‘6/27/21’!C$1:C$34)

So as long as I adjust the cell formula to reference the new “Guests” tab (while limiting to the related event data/event code), that should resolve the last bit.

Pretty exciting since I’ve been able to test this in the wild (separate build; all data in these screenshots is dummy data) and it’s worked phenomenally well. This just makes it so much easier.

Next week I’ll test a simple script or API to feed booking data automatically into the spreadsheet/Glide (though that may require Zapier).

I find it best to avoid spreadsheet formulas wherever possible, and instead handle as much of the logic as possible in Glide. Spreadsheet formulas are great, but the problem is they can slow down your app whilst data is syncing back and forth between Glide and the GSheet (and the user device). Which can sometimes result in a pretty crappy user experience. When you’re doing calculations in Glide, everything happens on the user device, and so the app feels (and is) much snappier.

2 Likes

You’re definitely right about that – this is particularly noticeable on Android, and makes sense that it has to go back and forth between the apps, even though it’s fairly quick.

I was able to correctly configure that SUMIFS formula in the spreadsheet for Checked In:

=SUMIFS(Guests!D:D,Guests!A:A,TRUE,Guests!B:B,C2)

The next question would be: what might be the preferred tool/logic to recreate this within the Glide sheet directly in order to take advantage of the in-app performance?

You want a count of guests that have checked in for each event, yes?

  • In your Events table, create a Template column and populate it with the word true (no replacements)
  • Create a multi-relation between this column and the Checked In boolean column in your Guests table
  • Create a Rollup column that does a count true via that relation
1 Like

Brilliant. I’m just about there. The check-in count is working instantaneously, though it looks like I need to set up another limit as it’s counting total check-ins (for all events) rather than check-ins for each respective date:

count checked in

Actually quick update:

I switched the Rollup to count check-ins per events…that almost works perfectly. The thing is that counts the individual guest as 1 (rather than the column “# of Guests” since there’s usually >1 person per booking party).

I’ll keep plugging away at this one!

Hi Darren, I was trying a few different configurations, but I can’t quite seem to properly configure the display of the number of checked-in guests for each individual event. Would you have any additional insight as to where I may want to adjust the relations or templates (or perhaps utilize the If/Then/Else tool) in order to accomplish this goal?

Thank you!