Hello!
I was wondering what the most appropriate approach would be for distributing my data in share data groups.
Some context for my application. We have classrooms, with students and teachers. The students attend a fixed number of lessons. For each lesson and student we need to store some variables. This data should be editable by teachers.
I see 3 possible approaches:
1) Create 1 shared data group per usage group and within each group, 1 key value pair per variable. In this manner each student user would have several shared data Groups associated. "[[PlayFabID]]_Lesson1", "[[PlayFabID]]_Achievements", etc.
2) Create a single shared group per student. Each key has more distinctive key names such as: "Lesson1_Grade".
3) Create a single shared group per student, with a single key value pair per logical object. For instance the data for a lesson could be stored with a key "Lesson1_Data" with a value "Grade:A ~ Assignment_A:Socrates always liked dancing the macarena, but...."
I am currently pursuing option 1, to follow separation of concerns. This helps me keep my data organized. But it requires me to have a lot of shared data groups, and make several API calls to load all of the data. In fact, it seems this approach might be downright impossible, as each user currently would need about 40-50 small shared data groups. And I read there is a 10 groups per user limit.
With this in mind, are there any particular recommendations I should follow on how to use shared data groups?