Duplicating Fields onto New Users

Hey all,

I’ve run into an issue I just can’t wrap my head around properly. I’m building an application that allows a teacher to assess students on a multitude of different skills. Here’s the setup:

  • I have many Skills, and they all apply to every Student
  • Each Student can have a different Rating for each skill
  • I created a Type called Skill.
  • Skill has a field called Rating
  • Student has a field which is a List of Skills
  • When I create a new Student, I am wanting to make sure they get all the skills

I tried the “Copy a List” action, but all that ended up doing was making a crap ton of clones that I still couldn’t specify on a per student basis.

Editor link is here: https://bubble.io/page?type=page&name=dashboard-layout&id=joyful-literacy&tab=tabs-2

I think what you should do is actually have a Type Rating with a field for Skill (type skill), a field for Student (type student), and a field for the actual rating (type number or text or whatever you’re planning)

The teacher creates a new rating - filling in skill value, student value, and actual rating. Depending on how your skills and students are organized, you could pre-fill in skills and/or students.

Example: Teacher is on a student page (type student) that has a repeating group with all skills (data source is a search for skills. In each cell (that is, each skill), the teacher creates a new rating - the data saved would be the rating value, the student (which is pre-filled from the page value), and the skill (which is also pre-filled from the current cell).

So, skills aren’t attached to students until the teacher has rated them on it. From there, creating new ratings allows for a history of ratings since they’re all separate entries. You can always search for all of the ratings for one student by having a repeating group whose data source is “search for ratings, filtered by student field” and display the skill & ratings in that cell.

Does this help?

4 Likes

Doh! This is exactly the logic I was missing here. I think I’ve danced around this all morning, thanks for helping out! I’ll take a stab at it and update when I succeed.

2 Likes

Ok, took a few stabs at it and am still coming up slightly empty. Here’s a screenshot of what I’m trying to accomplish (ignore the design, it’s all placeholder):

There is a student that you select on the left blue panel. On the right, we want to see a list of skills that the student can be assessed on. Each skill will be revisited over the course of the year, multiple times. So students start out with the skill being “unassessed,” the teacher taps a circle to assess them for the first time, then may re-assess them as many times as needed in the future.

  • If I have the repeating group be Ratings, then I don’t know how to display skills that are not part of an existing rating
  • If I have the repeating group be Skills, then I don’t know how to display the rating information

The challenge I’m having with the Ratings implementation is combining the view such that the list doesn’t care if a Rating exists or not. I want the user to see one column of skills for the student. I feel a bit dense on this, it’s literally the only complicated part of this app.

What if your right hand repeating group was a list of skills, with a regular group inside each cell. That group is type ratings and the source is the first item in a search for ratings (filtered by the RG’s student and current cell’s skill). That way your RG is the list of skills no matter what and then the group within each cell allows you to display relevant ratings info.

Does this work? If you’re still lost, feel free to share a link to your app.

1 Like

Very helpful, this feels right. I’m sharing the link so you can poke at it, but I have it down to one final bit. I’m not familiar enough with the “do a search for” functionality (and when certain options appear, and when they don’t), so I’m coming up short when trying to assign the RG’s Cell’s Skill to the Rating when the teacher clicks a value.

Editor Link: joyful-literacy | Bubble Editor

Here’s a snapshot of the workflow. The part that is not correct is the last field on the Make Changes to Rating dialog box. What is currently happening is I click a circle, and it updates the first Rating in the list. I understand why it is doing that, but I don’t know how to make it not do that lol. Thanks for looking.

There are a few people in your app right now, but I think the solution is actually you don’t need to update the skill field. It’s already defined in the rating you’re making changes to. Remember you set your source of the ratings group to be of only that cell’s skill. So it’s already there. I removed that field change in the workflow, so try rating now.

1 Like

Hm, doesn’t appear to be working. Maybe my thought process was wrong here. There’s a Repeating Group, which consists of a list of Skills. In each Cell, there is a Rating. Doesn’t the Rating still need to have a Skill associated with it? My understanding is that until the Rating is created, it cannot have a Skill associated. The first time a teacher rates the student, it would create a Rating for that student for that skill, that’s what the workflow action was attempting to do.

  • Student has no ratings yet
  • Teacher clicks the center circle
  • A new Rating is created, for that Student, with a value of 2
  • The Rating needs to know what Skill that Value is for, right? Otherwise it’s just a blank Rating with no Skill context?

The funny thing here is that I could implement this pretty easily writing code, but the rest of the app moves so much faster using Bubble.

1 Like

Yeah, I just realized there’s a few groups going on… standby, I’ll update in a moment.

I’m not sure what you did, but it works now. I’ll do some reverse engineering and scope it out, but thanks for your help! The community here is pretty legit, thanks to everyone who took a poke!

2 Likes

Ok, I think it’s all fixed up now. You should reset any test students or just create a new student to see the update.

So, the group with the ratings circles is actually now not in a ratings type group. It doesn’t even need to be in one - you’ll see what you need is really in the conditions on that “ratings exist” text. It’s in a group now so that your placement/alignment is still what you had but the type is now skill because we still need to know what skill the rating text is in reference to. If it wasn’t in this group it’d still pull the skill from the cell it’s in, which is already type skill.

This solution solved a chicken or egg thing that was happening. Take a look at the workflows to see how that was resolved and let me know of you have any questions!

3 Likes