Skip to content

Conversation

@wgu-jesse-stewart
Copy link
Contributor

@wgu-jesse-stewart wgu-jesse-stewart commented Dec 10, 2025

Issue: 37647

Description

docs: Add ADRs and OpenAPI specifications for Instructor Dashboard v2 API

This PR adds architectural decision records (ADRs) and OpenAPI specifications for the modernized Instructor Dashboard API endpoints. These documentation files provide the design rationale and technical contracts for the v2 API implementation.

Changes:

  • ADR for Course Information API (0001-course-info-api-spec.rst) - documents the design of existing consolidated course metadata endpoint
  • OpenAPI spec for Course Info endpoints (instructor-v2-course-info-spec.yaml) - specification for existing course info and task listing endpoints
  • ADR for Grading API (0002-instructor-grading-api-spec.rst) - proposes RESTful grading operations with sync/async execution models
  • OpenAPI spec for Grading endpoints (instructor-v2-grading-api-spec.yaml) - specification for proposed grading endpoints

User roles impacted:

  • Developers - provides clear API contracts and design rationale for implementing/consuming the v2 API
  • Operators - helps understand the architecture and behavior of instructor dashboard endpoints

Supporting information

Related to the Instructor Dashboard modernization effort. These documents establish the foundation for migrating instructor dashboard functionality to RESTful patterns and supporting MFE development.

Testing instructions

This is documentation only - no functional testing required. Reviewers should:

  1. Verify ADRs follow the standard format and contain clear rationale
  2. Confirm OpenAPI specs are valid (can be validated with tools like Swagger Editor)
  3. Check that the design decisions align with Open edX best practices

Deadline

None

Other information

  • These are documentation-only changes with no runtime dependencies
  • The Course Info API OpenAPI spec documents existing implemented endpoints
  • The Grading API OpenAPI spec serves as the contract for future implementation work
  • ADRs document the "why" behind design decisions for the v2 API architecture

@openedx-webhooks openedx-webhooks added open-source-contribution PR author is not from Axim or 2U core contributor PR author is a Core Contributor (who may or may not have write access to this repo). labels Dec 10, 2025
@openedx-webhooks
Copy link

Thanks for the pull request, @wgu-jesse-stewart!

This repository is currently maintained by @openedx/wg-maintenance-edx-platform.

Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review.

🔘 Get product approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.
🔘 Provide context

To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads
🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.

Details
Where can I find more information?

If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

When can I expect my changes to be merged?

Our goal is to get community contributions seen and reviewed as efficiently as possible.

However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

@github-project-automation github-project-automation bot moved this to Needs Triage in Contributions Dec 10, 2025
@wgu-jesse-stewart wgu-jesse-stewart changed the title docs: 37647 instructor grading api docs: instructor grading api Dec 10, 2025
@wgu-jesse-stewart wgu-jesse-stewart changed the title docs: instructor grading api docs: instructor grading api spec Dec 10, 2025
@wgu-jesse-stewart wgu-jesse-stewart added documentation Relates to documentation improvements waiting for eng review PR is ready for review. Review and merge it, or suggest changes. labels Dec 10, 2025
@wgu-jesse-stewart wgu-jesse-stewart moved this from Needs Triage to Ready for Review in Contributions Dec 10, 2025
Copy link
Contributor

@rodmgwgu rodmgwgu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, just added a comment.

Also, I see that there are some Merge commits for syncing with master, I think we should rebase instead and remove those commits.

@wgu-jesse-stewart
Copy link
Contributor Author

wgu-jesse-stewart commented Dec 10, 2025

Looking good, just added a comment.

Also, I see that there are some Merge commits for syncing with master, I think we should rebase instead and remove those commits.

I think that is what happens when syncing a branch in the github ui - I will avoid doing that in the future and be sure to squash and merge this PR

Copy link
Contributor

@dwong2708 dwong2708 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

Copy link
Contributor

@wgu-taylor-payne wgu-taylor-payne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sounds like a reasonable structure and direction to me. Thanks for the write-up on this. @feanil did you want to weigh in on this?

Copy link
Contributor

@feanil feanil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One note, otherwise looks good to me as well. Feel free to add some more detail if it makes sense, but I don't think you need to block on me to merge this if you're happy with it.


#. **OpenAPI Specification**

Maintain an OpenAPI specification at ``../references/instructor-v2-course-info-spec.yaml`` for initial schema documentation. This specification will not be included in the platform-wide API documentation at ``/api-docs/``. As the API is implemented, the live schema at ``/api-docs/`` serves as the source of truth for endpoint structure, schemas, and validation rules.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For clarification, this spec will be the point of reference during implementation but /api-docs/ is the source of truth for what is implemented? After implementation is complete, it will only be there as a historical reference?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@feanil Correct - the spec guides implementation, but /api-docs/ is the source of truth for what's actually deployed.

I'd propose deleting the static spec file once the implementation is complete and the endpoints are live in /api-docs/. At that point it becomes outdated documentation that could confuse future developers. We can remove it as part of the final PR that completes the API implementation.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, lets put that in the decision doc as well then I think you're good to merge.

Copy link
Contributor

@feanil feanil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need for re-review once the decision on the spec nuance is captured.

@wgu-taylor-payne wgu-taylor-payne merged commit 2c53232 into openedx:master Dec 17, 2025
65 checks passed
@openedx-webhooks openedx-webhooks removed the waiting for eng review PR is ready for review. Review and merge it, or suggest changes. label Dec 17, 2025
@github-project-automation github-project-automation bot moved this from Ready for Review to Done in Contributions Dec 17, 2025
ormsbee pushed a commit to ormsbee/edx-platform that referenced this pull request Dec 18, 2025
mraman-2U pushed a commit to mraman-2U/edx-platform that referenced this pull request Dec 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core contributor PR author is a Core Contributor (who may or may not have write access to this repo). documentation Relates to documentation improvements open-source-contribution PR author is not from Axim or 2U

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants