Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Proposal] Course Optimizer (checks for broken links and images) #388

Open
cablaa77 opened this issue Oct 23, 2024 · 1 comment
Open

[Proposal] Course Optimizer (checks for broken links and images) #388

cablaa77 opened this issue Oct 23, 2024 · 1 comment
Assignees
Labels
enhancement Relates to new features or improvements to existing features product review complete PR has gone through product review
Milestone

Comments

@cablaa77
Copy link

Abstract

This feature would point out where broken links and images within a given course are. This would minimize what we store on our servers, save course teams time, and provide a better learning experience. This was the number one ranked enhancement in an edx.org survey for 2024 by nearly 100 respondents (edX partners). Additionally, this gets us closer to parity with Canvas. They offer a link validator tool in which users can check links, which searches through course content and returns invalid or unresponsive course content links.

Detailed Product Proposal

https://openedx.atlassian.net/wiki/spaces/OEPM/pages/4561043458/Proposal+Course+Optimizer

Context & Background (in brief, if a Product Proposal is linked above)

Often times broken links and images are reported by students to staff. This is an undesired learning experience. Offering authoring teams the ability to know what links are broken and where they are broken within the course would be a positive change in Studio. As mentioned above, this was a very highly ranked potential enhancement based on feedback from edx.org partners in 2024.

Scope & Approach (in brief, if a Product Proposal is linked above)

Assuming the feature is utilized, learners are really the primary beneficiaries as they now encounter better courses that don't have broken links. Course authors also will gain from this feature, though. As mentioned above, this was the number one ranked feature in a survey of nearly 100 edx.org partners. Other potential features that were included in the survey were addressing schedules and dates, Course Outline redesign that would enable various authoring efficiencies, redesigning the drag n drop xblock, folders, customized learning path, and AI based problem sets, to name a few.

Value & Impact (in brief, if a Product Proposal is linked above)

Mostly this will be measured qualitatively. The feedback we have received has been highlighted. We will continue to get feedback and make iterations if necessary. The value to the platform is that it will be easier for course teams to ensure that there are not broken links/images in their courses. And then that value will be passed to students to make for a better learning experience.

Milestones and/or Epics

This workstream is not broken into milestones, but the parts of the workstream include

Backend: we want to store this similar to what course exporter is doing so it is not fetched every time the page loads. It would be queued through a backend endpoint in edx-platform. If the user is utilizing Course Optimizer, they will want to fetch an updated list of links often. However, we should still require them to click a button to fetch so as not to overload the celery queue. The frontend will check the status of the current task and only allow a new task to start if the previous one finished or errored.

Api endpoints:

  • link_check/<course_id> : Starts link check celery task process. Kicks off a celery task that creates a backend storage record for that course
  • link_check_status/<course_id> : Checks the current status of link_check. Returns status, output link and error message

The following steps are for navigating Modulestore

  • get course id of the current published version from modulestore.active_versions
  • use course id to get xblocks ids from modulestore.structures
  • use xblock ids to get data from modulestore.definitions
  • find links in the data field and update /static/ links
  • evaluate if link is broken
  • return list of broken links with their associated xblock

Named Release

Teak

Timeline (in brief, if a Product Proposal is linked above)

rollout sometime in Q4 2024

Proposed By

2U

Additional Info

No response

@cablaa77 cablaa77 added the enhancement Relates to new features or improvements to existing features label Oct 23, 2024
@cablaa77 cablaa77 added this to the Teak.1 milestone Oct 23, 2024
@cablaa77 cablaa77 self-assigned this Oct 23, 2024
Copy link

Thanks for your submission, @openedx/openedx-product-managers will review shortly.

@cablaa77 cablaa77 added the product review complete PR has gone through product review label Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Relates to new features or improvements to existing features product review complete PR has gone through product review
Projects
Status: [Prod Proposals] In Review
Development

No branches or pull requests

1 participant