Feedback needed on breaking change - v1/users/extended

It has come to our attention that the grade_level data in the student info section is incorrect and contains unexpected values.

We are looking for feedback whether you have relied on this field for something.

"student_info": {<br/> "grad_year": "2018",<br/> "grade_level": "12",<br/> "grade_level_description": "Senior"<br/>
Our proposal is to change "grade_level" to "grade_level_id" and make it the true unique identifier that can be used to match data with the /school/v1/gradelevels endpoint.
Thoughts?

 

Comments

  • Sounds reasonable.


    One thing; ID elements, eg record IDs, vary across APIs as string or integer/numeric. If the ID is truly a record/table ID then it should not be a string, it should be numeric. The FE NXT APIs get this right, the others tend not to.


    One  way to avoid an immediate breaking change would be to add the new field and retain the existing one for a deprecation period, say, 6 months. That's what I'd do, anyway.


    Also, thanks for the heads up and consultative approach. Much appreciated.

    Steve Cinquegrana | CEO and Principal Developer | Protégé Solutions

     
  • We rely on the grade_level field in student_info, and have production integrations that use it. A change like this would break our existing customers and we would need to code and release a change to pull the information from the proposed location.
  • Has there been any update to this? The string value in `grade_level` on the student is not always sufficient to uniquely identify grade level. Having an additional id field would help solve the problem.

  • Bryna Gleich
    Bryna Gleich Blackbaud Employee
    Tenth Anniversary Kudos 3 Name Dropper Participant

    Cordelia Avery:

    Has there been any update to this? The string value in `grade_level` on the student is not always sufficient to uniquely identify grade level. Having an additional id field would help solve the problem.

    The thread you are replying to is from 2020 and thus over a year old.

    The currently functionality is noted on:

    and

  • I know it is old, but there was not any follow up on it and it doesn't seem to have been updated in the API. Is there a plan to reopen this issue? Adding grade_level_id as an additional field without removing grade_level_description would mean that it is not a breaking change, so it shouldn't affect compatibility.

    The grade_level_description value is not unique for all of our clients, which means it is currently not possible for us to determine which grade level they are in without inferring it by going through their section list. E.g.:

    grade_levels: { id: 1, …, name: “9”}, { id: 2, …, name: “9” }

    student.student_info: { grade_level: 10, grade_level_description: “9” }, { grade_level: 20, grade_level_description: “9” }

    We have two grade levels, and the students are in different ones based on their student_info.grade_level value, but there's no way to tell which one they're in. Adding the grade_level_id object would let us identify them without any problems.

  • Further to @Cordelia Avery's comment. I can’t see that this change has been made either. The two links to endpoints provided by @Bryna Gleich still show grade_level. There is no grade_level_id field:

    "screen_name": "",
    "student_id": "12345",
    "student_info": {

    "grad_year": "2018",
    "grade_level": "12",
    "grade_level_description": "Senior"

    },

    Would someone please advise if this change has been abandoned, or if not when it might happen?

    Cheers and thanks,

    Steve Cinquegrana | CEO and Principal Developer | Protégé Solutions

    PS Does anyone know how to format indented code in posts these days? I'm struggling to see how to do it.

  • Bryna Gleich
    Bryna Gleich Blackbaud Employee
    Tenth Anniversary Kudos 3 Name Dropper Participant

    Steven Cinquegrana:

    The two links to endpoints provided by @Bryna Gleich still show grade_level.

    Would someone please advise if this change has been abandoned, or if not when it might happen?

    I have no additional information at this time. A developer or product manager would need to answer that. I will let you know if I learn more.

  • Hi all, this is Angie (Product) - I'll take this one. Adding the unique sys id should not adversely affect existing implementations and should be a small change. Sorry for it getting lost in the shuffle, will see if I can get it in the works soon!

  • @Angie Addison I don't think that was the original change. The proposed change was to replace grade_level with grade_level_id which would break any existing implementations. But adding the ID field would not break anything, obviously.

  • This change is adversely affecting our implementation. As another post pointed out, there is a leading zero and whitespace in the value for grade_level in student_info. Will there be a fix for that?

  • Hey there, I think there may be a mix of things in this trail. What we just addressed was adding a unique identifier since what was previously available didn't guarantee uniqueness. We didn't change anything about what was originally available that I know of so the recent release should not have caused issues with any existing integrations (that didn't already exist). I did not see posts here about extra digits or space in what was already out there, I can have the team take a look thanks!

  • The other post that mentioned the extra digits and whitespace is here:

  • got it thanks, thought you meant a response in the current thread. The best bet for things like that are to report through support as then they'll figure out if something we just introduced that's a bug, an enhancement request and they'll float it up to product development and dev since we monitor these threads frequently but it's not a direct instant channel to us.

  • Great that the grade_level_id has been added! However, this ID doesn't correspond to the grade levels in the Core grade level endpoint (noted on another thread here). What do these IDs actually correspond to? Is there any way to uniquely match them to core grade levels? Thanks

  • @Angie Addison are there any updates on this thread? the grade level ids coming back in `student_info` still don't match the ones from `/gradelevels`

  • Stephen Boyle
    Stephen Boyle Blackbaud Employee
    Tenth Anniversary Kudos 5 First Reply Name Dropper

    @Cordelia Avery, Hi! I'm running Angie's team these days.

    We do have this correction planned. I can't promise dates, but it is currently planned for a late November build.

Categories