How to get subsequent evaluation for an already evaluated student?

Options
Olivier.G.532
Olivier.G.532 Posts: 19 🌱
edited March 14 in Development

I use Brightspace as a facilitator / teacher. I'm making a browser extension for myself that automatically find any student assignment submissions that isn't evaluated.

For my first version I used the following endpoint: GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/

The data it returns contains 2 relevant fields: TotalUsersWithSubmissions and TotalUsersWithFeedback. If those numbers are not equal then I know that a student submitted an assignment but wasn't yet evaluated.

The problem is that if a student submits a second time those fields don't change. Therefore my code can't tell that there's an un-evaluated submission.

I tried to look at the following endpoint: GET /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/submissions/

and while this one does contain the latest feedback, that feedback has no date or id that I can use to cross reference to anything else, therefore I can't tell if they've got the latest feedback.

How would I use the API to find unevaluated non-first submissions?

Tagged:

Best Answer

  • Stefanie.B.518
    Stefanie.B.518 Posts: 463 admin
    Answer ✓
    Options

    Hi @Olivier.G.532
    Just wanted to close the loop here.
    I have heard back and looks like there isn't a public API Route that's supported to achieve what you're looking to do at this time.

    I have shared your feedback with our Internal API SMEs, and as I mentioned submitted an internal request on your behalf to advocate for the idea.

    You can also take another step (not required, but an option) to submit a Product Idea in support of making this route publicly available.

Answers

  • Ricardo.S.110
    Ricardo.S.110 Posts: 133
    Options

    Hi @Olivier.G.532

    Thanks for reaching us through the Brightspace Community.

    Brightspace has a tool through which you can see any un-evaluated submissions, even when students submit a second time to the same activity: it is the Quick Eval tool.

    I can confirm that this tool is enabled for facilitators at Algonquin College. This is how you can access it:

    NavBar > Progress > Quick Eval

    You may also find it through:

    NavBar > Tools > Course Admin > Quick Eval.

    I hope this is helpful.

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    edited March 19
    Options

    Nope. That's for the UI. I'm using the API.

    @Stefanie.B.518 Can you get me in touch with someone who knows the API very well one more time. For example Viktor.H.147 knew exactly what the problem was last time

  • Ricardo.S.110
    Ricardo.S.110 Posts: 133
    Options

    Hi @Olivier.G.532

    Thank you for your follow-up. I am tagging @Viktor.H.147 on this thread and will also reach out to him internally.

    Have a great weekend.

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    Options

    Thanks! :) You too!

  • Viktor.H.147
    Options

    I'm sorry; I can't offer much useful advice here. I will post a link to this question to our internal developer interest group, and perhaps someone else can offer helpful advice.

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    Options

    Sounds good. Let me know how else I can help.

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    Options

    Oh and for context the school uses LP v1.9 and LE v1.74

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    Options

    @Viktor.H.147
    I've tracked down that the following endpoint does contains some relevant information.

    https://abcd1234-abcd-abcd-abcd-abcd1234abcd.activities.api.brightspace.com/old/activities/xxxx_xxxx_xxxxxx/usages/{COURSE_ID}/evaluation-status

    Namely the resulting JSON contains a field called resubmissionswith the correct value but I can't find the equivalent call in the routing table

    https://docs.valence.desire2learn.com/http-routingtable.html

  • Viktor.H.147
    Options

    That's not a supported public API route in the Brightspace API developer platform. Accordingly, third-party use of it is not supported and it could change or go away with no notice.

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    Options

    Yeah no that makes sense. I mean it's called /old/ so I don't want to use that. But that still leave the question of what is the officially supported equivalent.

  • Viktor.H.147
    Options

    I'm not sure there is one, but the fact that it's available via another route could be taken under consideration by product ownership here when planning an enhancement to the public platform.

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    edited March 20
    Options

    @Stefanie.B.518 Sorry to bug you again. Can you refer me to someone who is familiar with this part of the product?

    It could be a bug and then just need to be reported as such.

  • Steve.B.446
    Steve.B.446 Posts: 72
    Options

    Would you not loop through /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId) for each user who has a submission to check the feedback status, particularly the IsGraded boolean?

    https://docs.valence.desire2learn.com/res/dropbox.html#id1

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    edited March 21
    Options

    @Steve.B.446 Good question!

    That endpoint returns the latest feedback a user got. Meaning if the order of event goes:
    1. User submits version 1
    2. Teacher grades version 1
    3. User submits version 2

    That endpoint returns the feedback of version 1, with `IsGraded=true`. That object also contains no timestamp or id that could be used to cross reference submissions to figure out which submissions it belongs to and the submissions object also contains no data, as far as I can see, that could be used to answer the question.

  • Stefanie.B.518
    Stefanie.B.518 Posts: 463 admin
    Options

    @Olivier.G.532
    Apologies for the delay in connecting back.
    My sense here is that it may not be possible/exposed via API to use the API to find unevaluated non-first submissions.

    I'm checking back in with another Internal SME to validate.
    If that's the case, then rest assured-they already have the feedback in hand.

    Either way, I'll connect back here to update the thread with my own findings.

    Grateful to everyone who's hopped in so far to provide ideas and brainstorm!

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    Options

    Hi Stefanie, thank you for checking.

    If it's not possible that ok! Can we make sure that a bug/enhancement is put into the /le/ API backlog so it can be fixed in a future version?

  • Stefanie.B.518
    Stefanie.B.518 Posts: 463 admin
    Options

    Hi Olivier,
    I haven't heard back just yet but wanted to let you know I have submitted an internal request on your behalf to advocate for the idea in future (just in case the outcome here is confirmation that the data is not yet exposed for the API).

    Documenting this feedback internally or externally through PIE doesn't mean it will 100% make it onto the next planning sprint or roadmap, but it helps.

    This documentation https://community.d2l.com/brightspace/kb/articles/1300-brightspace-roadmap-and-ideas-from-pie?utm_source=community-search&utm_medium=organic-search&utm_term=product+idea explains a bit more about how D2L Product Teams use a variety of inputs to inform the product roadmap

    I know you're hoping to build something independently- but have you ever given the Quick Eval Tool a try?
    I've used it when I teach at the local college, and it was handy to be able to see unevaluated work and grade it even from my phone.

    Just trying to think of options that might lend some support in the meantime.

  • Olivier.G.532
    Olivier.G.532 Posts: 19 🌱
    Options

    The Quick Eval Tool is the right information. But I really do need it via the API in one way or another as it gets processed further later.