# App maintenance/Clutter clean-up

**URL:** <https://community.glideapps.com/t/app-maintenance-clutter-clean-up/44139>\
**Category:** Ask for Help\
**Created:** [July 8, 2022, 4:51pm UTC](https://community.glideapps.com/t/app-maintenance-clutter-clean-up/44139 "2022-07-08T16:51:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![fluittsolutions](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/fluittsolutions/32/30155_2.png) [@fluittsolutions](https://community.glideapps.com/u/fluittsolutions)\
**Post date:** [July 8, 2022, 4:51pm UTC](https://community.glideapps.com/t/app-maintenance-clutter-clean-up/44139/1 "2022-07-08T16:51:43Z")

</div>

Hello, Gliders,

As I continue to learn more Glide features and expand my apps, it results in some behind the scenes clutter and I would like to now tidy up. I think I like the new Column Grouping to help with this.

Here is a question for the group–How much data is kept in your “Users” table? Do you tend to keep everything in one place? Biographical profile info, subscription payment info, user/member active status?

I have 3 main bits of info on users.

1. Their literal login information–email, name, profile created date
2. Role–certain users are allowed to edit records. These are NOT team members that are managing the app. Simply end-users that have adding/editing privileges that others do not. A Relation column connects the User’s email address to the rows in another data table they are able to edit.
3. Paid subscription status that tracks purchases through Stripe to allow access to paid content.

Would you keep all of this info in a single Users table as profile information? Or might you have a more basic User table that is related to an Event Managers table and a Subscription Payments table?

Very interested in your experiences and feedback.

Thanks,  
Mona

---

<div class="post-metadata">

**Author:** ![MattLB](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mattlb/32/41284_2.png) [@MattLB](https://community.glideapps.com/u/MattLB)\
**Post date:** [July 8, 2022, 6:19pm UTC](https://community.glideapps.com/t/app-maintenance-clutter-clean-up/44139/2 "2022-07-08T18:19:07Z")

</div>

In this very recent thread I asked the same question since I have wondered about this.

> [@Table relations & choice as filter](https://community.glideapps.com/t/table-relations-choice-as-filter/44004/6):
>
> Now that you brought this up, from a design perspective I read (thought I read/thought I understood) that you should _not_ use the ‘user profile’ table except for ‘user’ info from a security perspective.
> 
> But the user profile is the one table that is accessible in actions, visibility and filters so it has become a _very_ wide row with lots of USC/xxx columns with many templates/filters plus relations and is the source for four of my five TABs and many ‘New Screens’,
> 
> Is this a reasonable/usual best practice? I especially needed access to data within actions which have a very limited scope.
> 
> TIA

@Jeff_Hager replied with good insight. Hope this helps.

> [@Table relations & choice as filter](https://community.glideapps.com/t/table-relations-choice-as-filter/44004):
>
> Hi there, I am struggling to use a choice as a filter with following structure. I have TOPICS SUBTOPICS CONTENTS The properties relate like this: A TOPIC HAS MANY SUBTOPICS A SUBTOPIC CAN BELONG TO MANY TOPICS A CONTENT CAN BELONG TO MANY TOPICS A CONTENT HAS MANY SUBTOPICS The target UX is like this Step 1 User chooses one TOPIC only Step 2 User is shown a list of CONTENTS & can filter the CONTENTS with the “choice” component according to the SUBTOPIC (the “chips” are SUBTOPICS). …

---

<div class="post-metadata">

**Author:** ![MattLB](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mattlb/32/41284_2.png) [@MattLB](https://community.glideapps.com/u/MattLB)\
**Post date:** [July 8, 2022, 6:37pm UTC](https://community.glideapps.com/t/app-maintenance-clutter-clean-up/44139/3 "2022-07-08T18:37:18Z")

</div>

Son of a gun - here is Robert talking about why he uses ‘users’ for this app versus other sources.

> [@tornado Use Multiple Choice Components to Filter an Inline List](https://community.glideapps.com/t/use-multiple-choice-components-to-filter-an-inline-list/16932/152):
>
> # New version!
> 
> Check out the original post for the updated video.
> 
> > [@](#):
> >
> > [[Glide: Filter an Inline List with Choice Components] ](https://www.youtube.com/watch?v=NOYFsVUWQXw) Updated July 2022 Version 1[Glide: INFINITE and DYNAMIC Filtering! - YouTube](https://www.youtube.com/watch?v=rtbFccDKuH0)
> 
> ### New features include:
> 
> - Using Users Table as the source for the details screen
> - Show/Hide Filters toggle
> - Multiple choice selection filtering
> - Displaying an alert if filtering yields no results

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [July 8, 2022, 8:40pm UTC](https://community.glideapps.com/t/app-maintenance-clutter-clean-up/44139/4 "2022-07-08T20:40:29Z")

</div>

I often use the users table as the source for my screens when I want to store selections or temporary values that I need to access in other tables.

_Example 1: Temporarily storing a rowID from another table so I can reference it in a relation, if-then-else column, or in a form submission._

_Example 2: Storing choice component values that need to be referenced in another table for filtering purposes_

The only time this differs is when I DON’T need to reference these values in other sheets. In this case, I’ll create a new table that uses user specific values to build out the functionality I need (aka a “Work table”).

_Example:_

> [@🗓️ Dynamically filter an inline list by TIMEFRAME (Parts 1 & 2)!](https://community.glideapps.com/t/dynamically-filter-an-inline-list-by-timeframe-part-1/42671):
>
> wave Hey fellow Gliders! In this video, learn how to dynamically filter a list of records by timeframes (day, week, month, etc.) using a Choice component, some Math columns and a Make Array column. Also features the concept of a “Work Table” to keep your data tables lean! popcorn Enjoy! Part 1 [[Glide: Dynamically Filter your Data by TIMEFRAMES (Part 1)] ](https://www.youtube.com/watch?v=pApLeMYHFzE)Part 2 [[Glide: Dynamically Filter your Data by DATE RANGE (Part 2)] ](https://www.youtube.com/watch?v=AVSavEhdt6Y)

---

<div class="post-metadata">

**Author:** ![Filo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/filo/32/43977_2.png) [@Filo](https://community.glideapps.com/u/Filo)\
**Post date:** [July 11, 2022, 2:33pm UTC](https://community.glideapps.com/t/app-maintenance-clutter-clean-up/44139/5 "2022-07-11T14:33:51Z")

</div>

Boom @Robert_Petitto .  
Worked like a charm.

Many many many thanks Robert 😃

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [July 11, 2022, 2:46pm UTC](https://community.glideapps.com/t/app-maintenance-clutter-clean-up/44139/6 "2022-07-11T14:46:06Z")

</div>

You’re very welcome.
