Make this database strucure lighter/correct?

About the project:
Schools can see teachers in a repeating group, if they like a teacher they can save the teacher and contact that teacher, once they have added the teacher they can create comments and tasks (internally for the school to keep track when the teacher will educate etc)

Down below is my (i hope correct) database structure so far:

My goal is to be able for the schools to make comments, tasks and other things to the teacher they have decided to add. More will be added in the future, that’s why i thought of this structure but i might be going the wrong way?

Issue 1:
I am having a hard time trying to wrap my head around connecting comments and tasks to the Contacted teacher?

Issue 2:
The School can save teachers they like and they will be added to a favorites group (list of teachers) (that is not in the image) and from there they can click a button to sign these teachers and from there i want to create a new thing (Contated Teacher) for each teacher in the repeating group but i can’t seem to be able to do that? i can only add all the teachers to a list of things for example but not create one contacted teacher for each teacher in the repeating group? And yes that “sign” button is needed in my country that the school sings that the teacher will work there next week for example.

Issue 3
In the begging, i just had in School: contacted teacher = list of teachers, comments and tasks were the same and then a popup that displayed Current cells Teacher with filter for School = Current user Employee Schools contacted teacher. and no connections between these, Im not sure but this old method i have seems to be bring a very heavy workload and also not be so secure?

I would be very appreciated for any help!

I would avoid lists as much as possible, and i definitely wouldn’t have a list of Employees on the School datatype… nor a list of Contacted Teachers.

Just add a Contacted Teacher field to the Comment and Tasks datatypes.

EDIT: Ah, I see you’ve already got that… so what’s the issue?

Again… I wouldn’t use a list for that… you need a separate datatype for Favourite Teacher

You can schedule a workflow on a list to create a new Contacted Teacher item for each teacher in the RG.

Yeah, don’t use lists for large or indeterminate number of things… (even though in some cases, even large list can be faster, and less costly in WU - most of the time, when you look at the bigger picture, using lists is more problematic than any performance gains it may give are worth).

Hey @adamhholmes, Thank you for taking your time to respond!

My biggest question is how i should display data if they are not connected with these lists in a effective way? For example on the School page i would like to display all the employees, instead of having Employees = list of employees in the school should i just have a repeating group on the page that has Do a search for school > school = Current user school to display a users colleagues? is that also a secure solution?

So if i understand your comments correctly, i should keep the Contacted Teacher with all my data files (without lists) and then when i need to display for example Contacted Teacher that is linked to the specific school i would just in the repeating group do: Do a search for Contacted teacher > School = Current user school?

Would you mind showcasing this or maybe point me to some documentation so i can take a read? Been trying to find something similar but no luck saldy.

Yes, that’s how you do it… I’m not sure exactly what you mean by ‘is that also a secure solution’?.. but if you’re talking about data security, then using searches is inherently more secure that using lists, as lists aren’t subject to the ‘Find in searches’ privacy rule… so can’t be protected by that (although the fields on the data are still protected by the privacy rules)…

Correct.

It’s really very simple.

Just create an API workflow, that has a parameter of type ‘Teacher’ - along with whatever other parameters you need for the workflow.

Add a single action… to create a New Contacted Teacher (using the data passed into the parameters).

Then, on the front end, just schedule that API workflow to run a list… that list being the Teacher RG’s list of Teachers (or whatever list of Teachers you want it to run on).

Perfect then i know i think how i should set this up from now on, thanks a lot!

On the button “SIGN” do i run the Schedule API Workflow on a list? Never used API workflows so that is new to me so not sure where in the front end that will be scheduled?

This topic was automatically closed after 70 days. New replies are no longer allowed.