How to get subsequent evaluation for an already evaluated student?
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?
Best Answer
-
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
-
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.
-
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 -
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. -
Thanks! :) You too!
-
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.
-
Sounds good. Let me know how else I can help.
-
Oh and for context the school uses LP v1.9 and LE v1.74
-
@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-statusNamely the resulting JSON contains a field called
resubmissions
with the correct value but I can't find the equivalent call in the routing tablehttps://docs.valence.desire2learn.com/http-routingtable.html
-
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.
-
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. -
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.
-
@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.
-
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?
-
@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. -
@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! -
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?
-
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 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. -
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.