Best Of
/myenrollments/{orgUnitId} returns 404 if learner is only in EXPIRED OrgUnit
Hi all,
I’m working on a custom homepage widget in Brightspace that shows a learner’s course progress using status icons. Each course is linked to up to four OrgUnitIDs:
- Main course (e.g. ODS214)
- ENROLLED (e.g. ODS214-ENROLLED)
- COMPLETE (e.g. ODS214-COMPLETE)
- EXPIRED (e.g. ODS214-EXPIRED)
- Optional: GRANDFATHERED (e.g. ODS214-GRANDFATHERED)
The widget uses GET /d2l/api/lp/1.9/enrollments/myenrollments/{orgUnitId} to dynamically check enrollment in each OrgUnit and assign the correct status icon. It works great — except in one scenario:
Problem:
If the learner is only enrolled in the EXPIRED OrgUnit (e.g. 11323) and not also in the ENROLLED or COMPLETE OrgUnits, then the API returns a 404 Not Found.
- The learner is enrolled in the EXPIRED OrgUnit (confirmed in LMS).
- The API call still returns 404.
- In our LMS, learners are only enrolled in one OrgUnitID per course at a time (due to Intelligent Agents).
This causes the widget to default to a “Not Enrolled” state, even though the EXPIRED OrgUnit enrollment exists.
What works:If the learner is enrolled in both EXPIRED and either ENROLLED or COMPLETE, the red Expired icon displays correctly.
Sample logic (simplified):
const expired = course.expiredIdQuestions:
? await CSPS.get.amIenrolledOrgUnit(course.expiredId)
: false;
- Is the 404 response expected behavior when a learner is only enrolled in an OrgUnit with a label like “EXPIRED”?
- Could this be related to how OrgUnits are flagged or categorized in Brightspace?
- Is there any caching or filtering layer in the
myenrollmentsendpoint that could cause certain OrgUnits to be hidden?
Any guidance or confirmation would be much appreciated! Happy to provide further code or screenshots if needed.
Thanks,
Carlos.
Re: HTML pages open in default browser instead of Pulse app
Hi @Katie.P.17
This is expected behavior because once the HTML file opens in a new browser window, it functions as a standalone webpage and no longer maintains a direct connection with the Pulse application. Consequently, the in-app navigation buttons for accessing previous or next files are not available within the browser view.
We understand your concern about how this might impact the learning experience for your students, requiring them to navigate back to the Pulse app to select subsequent HTML pages, which then open in new browser tabs.
For future development consideration of this behavior and the potential for improved navigation within externally opened HTML content from the Pulse app, we recommend submitting this as a Product Idea Exchange (PIE) item. This will allow other users to vote on your suggestion and provide valuable feedback to our product development team.
You can submit your idea here: https://desire2learn.brightidea.com/ideas/boards
Thank you
Vivek
Re: Is it possible to embed a forum/discussion in a web page (topic)
Hi Christopher
Thank you for reaching out to us through the community!
Currently, the discussion forums/topics that are linked or embedded into a content topic webpage will be displayed as a link. The discussion will be opened on a new page when we access/click the same.
We appreciate your feedback and have identified your requirement as a feature request.
I have found an existing PIE idea that closely matches your request and is currently in ' In Review' status: https://desire2learn.brightidea.com/ideas/D10972
As you deem appropriate, kindly leave your comments and promote this idea.
Or, if you wish you can create a new PIE idea that clearly explains your requirement.
TheProduct Idea Exchange is designed for direct submission by our clients and end users to our Product Development organization and has the following advantages:
•Allows you to receive direct updates on each request you submit
•Allows other community members to vote on ideas
• Allows other community members to contribute to and collaborate on each idea
•Ensures ideas that have the greatest impact on our clients and end users receive consideration for inclusion in future releases.
We look forward to hearing from you at the Product Idea Exchange!
Thanks,
Sreelakshmi
Re: Solutions to update alerts/notifications issues?
Thankyou for reaching out to the Brightspace Community.
1) Yes, "Post to Homepage" can be used only once for a topic. If you made any updates and want to post it again, you will need to first delete it from the Homepage-Activity feed are where you posted earlier. Once the old post is deleted, you will get the option to "Post to Homepage" again.
2)Yes, the alerts are seen in the minibar for the students. You can create a test student account in the course for testing purposes and use it to impersonate and check anything.
3)Currently, there is no way for the student to see the alert, click on it, and be navigated to the updated item. If you would like more options I would suggest the submission of a PIE item, or upvoting one that suits your use case.
What is Product Idea Exchange (PIE)? - Brightspace
We look forward to hearing from you at the Product Idea Exchange!
Regards
Ashwin
Re: My student account can see only one other student in the ClassList
Hello, Kimberly,
Would you be able to confirm if the Students who are not appearing in the classlist are enrolled into a Section where your Learner is not enrolled?
Would it be possible to send me an URL to the course offering, so that I can take a look at it? And may I have your permission to impersonate your learner user?
Thank you kindly,
Piero de Sá
Bilingual Product Support Analyst
Re: How to fix notifications and turn notifications off for people who have completed a course.
Currently in Brightspace (D2L), instructors and administrators cannot globally enforce notification preferences for learners. Learners control their own notification settings through their personal account settings.
You can’t set or lock default notification preferences for learners from the admin or instructor side. However, here are some best practices you can use to guide them:
1. Guide Learners to Update Their Own Notification Settings
You can provide a simple walkthrough or short video showing them how to:
- Go to their Personal Settings > Notifications
- Enable only the settings you recommend (like “Assignment Feedback Released”)
- Turn off unwanted items (like daily summary emails)
Optional message you can share:
“To make sure you only get notified when assignment feedback is released, we recommend you update your notification settings. Go to your Profile > Notifications and enable only the feedback-related ones.”
2. Use Intelligent Agents Cautiously
If you're using Intelligent Agents to notify learners, set conditions to exclude completed learners:
- Use a "Not achieved certificate" or similar release condition
- Set agents to run only for active learners
Re: Assessment and Rubrics API
Hi Christina,
Thank you for reaching out to us through the community!
To update the assessment ( assignment ) and the rubrics associated with a user submission, you can make use of the following API Call
https://docs.valence.desire2learn.com/res/dropbox.html#post--d2l-api-le-(version)-(orgUnitId)-dropbox-folders-(folderId)-feedback-(entityType)-(entityId)
POST /d2l/api/le/(version)/(orgUnitId)/dropbox/folders/(folderId)/feedback/(entityType)/(entityId)
Post feedback (without attachment) for a particular submission in a specific dropbox folder.
The input JSON Parameter is as follows
{ "Score": <number:decimal>|null, "Feedback": { <composite:RichText> }, "RubricAssessments": [ // Array of RubricAssessment blocks { <composite:RubricAssessment> }, { <composite:RubricAssessment> }, ... ], "IsGraded": <boolean>, "GradedSymbol": <string>|null}
For Rubric Assessments inside the above block, you will need to include the following structure as outlined in the article here:
{ "RubricId": <number:D2LID>, "OverallScore": <number:decimal>|null, "OverallFeedback": { <composite:RichText> }, "OverallLevel": { // Note that the OverallLevel property may be null "LevelId": <number:D2LID>, "Feedback": { <composite:RichText> } }, "OverallScoreOverridden": <boolean>, "OverallFeedbackOverridden": <boolean>, "CriteriaOutcome": [ // Array of CriterionOutcome blocks { "CriterionId": <number:D2LID>, "LevelId": <number:D2LID>|null, "Score": <number:decimal>|null, "ScoreIsOverridden": <boolean>, "Feedback": { <composite:RichText> }, "FeedbackIsOverridden": <boolean> }, { <composite:CriterionOutcome> }, ... ]}
Hope this helps.
Please let me know if you have any questions or concerns.
Thanks,
Sreelakshmi
Re: Grade formula to drop lowest score
I found this video that I think clearly walks you through this process:
Might be worth noting though that if all the grade items can be distributed equally in the category then you wouldn't really need to use a formula grade item to drop the lowest grade from a category. You could instead edit the grade category and use the distribution settings to drop the lowest 1 non-bonus item from the category subtotal.



