Best Of
Late submission penalty
Thank you,
Lae
Re: brightspace course home page
Hello @ram.R.4433
My name is Mohit, and I am a member of the product support team. When you log in to Brightspace, you arrive at the Organization Homepage, which serves as the main landing page.
There is no direct end-user preference setting within the personal Account Settings that allows an individual user to select a "default landing course" to automatically open upon login.
However, if you would like users to be directed to a specific Org Unit upon login, I would recommend leveraging the Custom Login Logic tool. Please note that this tool needs to be set up and configured by the D2L team.
You can check with your Account Team directly for more information regarding the availability and setup of this functionality.
Best Regards,
Mohit Bhargav
Mohit.B.8927
Re: September 2026/20.26.09 Release Notes
We are a New Content Experience user, and we had been avoiding the ETOC (Enhanced Table of Contents) that was being pushed out. As mentioned, with the September release, the ETOC will be forced on for all users, and with that Completion Tracking indicators enabled in "Contents". This was not desirable for us and I am sure we are not alone! One reason why this is a pain point is our discussion board requirements (to meet completion) are often more complex than just adding a post. Yet, there does not seem to be a way to manage completion settings for discussion posts in a way that would NOT be confusing to students and faculty,
We think we have found a workaround ahead of our fall courses starting to disable completion tracking PER COURSE.
1. Go into a course and turn of NCE (New Content Experience).
Note: For us, you go into "Content" and then click the dropdown just below the navbar in the upper right-hand corner. You need permissions to enable or disable NCE, or this dropdown will not show up.
2. Now in the "standard/regular" content experience, you will be on an Overview page. Click "settings" in the upper right to enter "Content Settings. Scroll down to the bottom to "Completion Tracking". Change the "Default Completion Status" to "Not Required". Click Save.
3. Turn NCE back on by going to the dropdown in the upper right again, and choose "Turn It On".
You are now back in the New Content Experience and Completion Tracking will no longer display if using the Enhanced Table of Contents. Hopefully the Sept release doesn't break this….
Greg.F.351
Re: Brightspace Portfolio Categories Question
Hi there,
Thank you for the detailed description of your setup, this is a great question that comes up when institutions are refining their Portfolio workflow before a semester launch.
What you're experiencing is a known behavior in Brightspace Portfolio. Categories that were previously assigned to artifacts (even during testing) can persist in the system as retained/retired category references, even after the original artifacts, test students, and categories themselves have been removed from Category Management. This is by design to preserve data integrity for any evidence that was ever tagged, but it can cause confusion when the old category names are still surfaced to students.
A few things to check and try:
1. Confirm whether these are "retired" categories
Categories that were once used and then deleted from Category Management are not fully purged; they are effectively retired but still stored in the Portfolio data layer. Students may still see them as selectable options because their association to the org hasn't been fully cleared.
2. Verify at the org/course level
Check whether these orphaned categories appear at the school/org level or the class/course level. School-level categories are managed by Board/Org admins under Category Management, while class-level categories are set by instructors. If any test categories were created at a different org level than expected, they may not be visible in your current Category Management view but still appear to students.
3. Recommended Path Forward: Contact D2L Support
Because these categories appear to be retained at the database level (not surfaced in the UI for deletion), the most reliable resolution before your semester starts is to open a support case with D2L. Provide:
- The names of the orphaned categories students are seeing
- Confirmation that they no longer appear in Category Management
- The org/course context where they appear
D2L Support can investigate whether these are cached, retired, or orphaned category records and initiate a cleanup on your behalf.
4. Interim workaround
If time is critical, consider providing students with clear written instructions on which categories to select, and remind instructors to filter only by the new category names when reviewing submissions. This won't resolve the root cause but will minimize confusion while a support case is being processed.
Given your semester begins next week, I'd recommend opening that support case as soon as possible and flagging it as time-sensitive. You can reach D2L Support at https://community.d2l.com/brightspace/s/.
Hope this helps get you sorted before launch! 🎓
Re: Portfolio and Assignments
Hi @Elaine.C.420,
Thank you for reaching out through the Community!!
Based on the "Add Own Assignment to Portfolio" setting, you should see the "Add to Portfolio" button on the student's View Feedback page or Submission Details page. If I understand correctly, you may be checking the Unevaluated Submissions page.
Please note that this option typically becomes available only after the assignment submission has been evaluated.
I hope this helps clarify the behaviour you are seeing. If you continue to experience issues or have any additional questions, please let us know, and we will be happy to assist further.
Thanks,
Sangeetha
Re: Dynamic question creation in Brightspace
Hi Brittanuy. I believe there are two options your math instructors can explore:
- MyOpenMath via LTI — Rather than importing the course file, set up MyOpenMath as an LTI 1.3 tool in Brightspace (Admin Tools > External Learning Tools). This way MyOpenMath handles the dynamic question generation and passes grades back to Brightspace automatically. Some help setting this up can be found here: https://www.myopenmath.com/help.php?section=lti#ltid2l
- Brightspace's built-in Arithmetic question type. This seems to do what your instructors want natively. They can create a question like "What is {x} + {y}?" and define variable ranges so each student gets different numbers without needing a 3rd-party tool needed. It's found under Quizzes > Question Library > New Question > Arithmetic.
It might be worth trying the Arithmetic question type first since it requires no setup and it's available from the get go.
Hope that helps.
Best regards, Gabriel
Gabriel.T.493
Has anyone used an API to manage Special Access?
We are looking for a way to bulk edit/update Special Access for Assignments so that admins do not have to manually add these to every individual assignment.
We are looking for a way to automate special access for our students with reasonable adjustments using API. If you've experimented with this before we'd be super keen to chat!
We use SITS by Tribal.
Mary.C.485
Re: How to Determine if Discussion has Feedback from Instructor via API
@Joshua.V.999
I believe I am tagging the correct individual (we met at D2L Fusion 2026 in Phoenix in the Builders Lab), but I think I may have found my answer.
Hi @Stephen.R.50 and @Matt.W.287 — thank you both for looking into this. I wanted to circle back and share that I did find a working approach, in case it helps anyone else who lands here.
The key insight is that discussion feedback isn't exposed through the Discussions API — it surfaces through the Grades API, provided the topic is associated with a grade item. The "Overall Feedback" an instructor enters in Quick Eval or the discussion grading interface is written to the grade value's Comments field, not to anything under /discussions/.
Here's the chain I ended up with (LE v1.95, LP v1.58):
1. Pull grade objects and find the discussion-linked ones
GET /d2l/api/le/1.95/{orgUnitId}/grades/
Each grade object may carry an AssociatedTool property. For discussions, AssociatedTool.ToolId === 3000, and AssociatedTool.ToolItemId is the discussion TopicId. That gives you a topic → grade-item map:
if (tool && tool.ToolId === 3000 && tool.ToolItemId) {
discussionGradeMap[tool.ToolItemId] = gradeObject.Id;
}
(For reference, ToolId === 51000 is Quizzes, and assignments come through the Dropbox API — same pattern works for those.)
2. Enumerate topics so you have names/IDs to join against
GET /d2l/api/le/1.95/{orgUnitId}/discussions/forums/
GET /d2l/api/le/1.95/{orgUnitId}/discussions/forums/{forumId}/topics/
3. Pull grade values for each discussion-linked grade item
GET /d2l/api/le/1.95/{orgUnitId}/grades/{gradeObjectId}/values/?pageSize=200
4. Read feedback off the returned GradeValue
This was the piece that took me a few tries. A student has instructor feedback when GradeValue.Comments.Html or GradeValue.Comments.Text is non-empty:
var hasFeedback = v.GradeValue && v.GradeValue.Comments && ((v.GradeValue.Comments.Html && v.GradeValue.Comments.Html.trim().length > 0) || (v.GradeValue.Comments.Text && v.GradeValue.Comments.Text.trim().length > 0));
Worth noting: I initially checked Comments.Content (the RichText shape documented elsewhere) and got zero hits across courses I knew had feedback. Dumping the raw GradeValue JSON for a graded student showed the payload uses Html and Text. If you're getting empty results, that's the first thing I'd check.
The same object also answers "who left it and when":
GradeValue.LastModified→ feedback timestampGradeValue.LastModifiedBy→ the instructor's user ID (resolvable to a name via the classlist/enrollments API)
Taking the max LastModified across students with non-empty comments gives you a per-topic "last feedback given" date, which is what my dashboard surfaces.
I verified this against a course where an instructor had graded a discussion via Quick Eval — all six students who posted came back with both a grade and populated Comments.Html.
The important caveat — where your answer still holds
This only works for discussion topics associated with a grade item. For a topic with no linked grade item, there are no grade values to inspect, and I found no reliable API path to determine whether an instructor left feedback. The ScoreOutOf/ScoredCount fields on the topic object only tell you a score was entered, not that written feedback exists. So for ungraded discussions, "not available via API" appears to still be the correct answer.
It's also specifically the grading feedback that's detectable — an instructor replying inline within the thread as a post is a different thing and isn't captured here.
Hope this saves someone else some time.
Re: Accessing User Courses via API
Hi Daniel,
The scopes look good. Ensure the user making the API call has the permission required to view the target user’s enrollments and role. Check:
- Admin Tools → Roles and Permissions → Users → View User Enrollments
- Admin Tools → Roles and Permissions → Users → Search for {roleName}
See permisison details noted at the top of the community resource
Hope that helps!
Quizzes not showing in Content until available date even though they aren't hidden
On the Quizzes page, future quizzes are listed for the students and they can click on them and see the description. However, when adding them into Content using Add Existing, the quiz does not show for students until the 'Available on' date. How can we enable future quizzes to be shown in Content for the students?
Adrian.V.583
