Yeah, let me outline the process in a bit more detail.
1 - all students and staff register for our program through an outside service, completely separate from the Glide app I’m creating. Once this is done, we export a list of names, email addresses, and what group they’re part of for the week-long camp. In total, there are around 1000 students and 150-200 staff members.
2 - the data from the other service is imported into the Glide app.in the “Users” table. This table has a couple hundred columns which will serve various functions throughout the week of the camp.
3 - during the week, students will be doing things like holding elections which are completely run through the app, exchanging fake money to each other, and “purchasing” items. All of this information is input and calculated through in-app interactions and captured by the many columns of each “Users” table row. Any important information for each student (such as any positions they were elected to) will be visible in their profile, in addition to a public profile system that will NOT share their e-mail address or any other PII. (This is the information that I want to retain after their access is revoked after the program.)
4 - at the conclusion of the program, all students will have their ability to log in revoked BUT all of their data should be kept as an archive. All staff members should maintain their ability to log in.
Ideally, since there’s only a few people who will have direct access to the Tables, I would like to come up with an in-app method for accomplishing all of these changes. For example, if there was a way to make an “upload student data” function where someone could import all of the data in step 1 through the app itself instead of through the Table backend, that would be great. And the same for revoking access at the end of the week.
Right now, I have a Table with a single row and each column is a various “status” for the camp, such as whether the camp has started, whether certain elections are open for voting, etc. One of those columns is “Allow Students to Access App” with a boolean. In the “Users” table, each user has one column stating “Staff” or “Student” and another that pulls in the value from “Allow Students to Access App” based on whether or not they are a “Staff” or a “Student.” This is how I use a single toggle switch in the app to state whether or not each specific user should have access. But I don’t have a good way to then turn that into a workflow and revoke access yet.
I’m thinking I can try making a workflow that loops through every “Access Table” entry, checks if the “Allow Access” boolean (which is pulled in from the “Users” table) is set to true or false, and then deletes the row if it’s false. But then I would also need a way to allow access in the first place, which is easy enough to do but uses thousands of updates in one command.