Ensure Course-Level External Keys Can be Set Via Publisher

Description

Our Master's enrollment offering includes the ability to map to course runs & programs from external keys set by Master's partners. Course run-level external keys are meant to be set from within Publisher, within the same forms used to add/edit a course run. In testing this functionality via integration environment sandboxes with partners, we've found that some program courses we expected to have access to this field did not, and that there may be some assumptions of what will be true of Master's programs which need to be reviewed.

Motivating situation: https://discovery.edx.org/publisher/course_runs/9542/edit/ didn't have the `INSTITUTION COURSE ID` field available even though the course was in a Master's program, which on inspection of the code was because the course did not have any associated "Master's seats". Master's seats, as checked by old publisher, are a boolean flag `masters_track` on the publisher Seats model (e.g. https://discovery.edx.org/admin/publisher/seat/15313/change), whereas they're a proper type of Seat for the model in course_metadata. The publisher Seat models' `masters_track` field is meant to be visible as part of a form visible on creating a new course run, but in testing this form doesn't appear on e.g. https://discovery.edx.org/publisher/courses/3767/course_runs/new/.

Questions to Resolve

  1. Why is the seats form not visible in https://discovery.edx.org/publisher/courses/3767/course_runs/new/

    1. Is there something we can add to PC's checklist for setting up Master's courses/programs that would allow them to get past this?

  2. How would/should seats be identified as "Master's" in Publisher v2?

  3. Can we do away with this condition on the seats altogether without exposing the course-level external key field in places it shouldn't be visible?

    1. How sensitive is this field, anyway? Is there an opportunity to make it more widely visible now, so it's not purely a Master's squad responsibility to maintain?

Steps to Reproduce

None

Current Behavior

None

Expected Behavior

None

Reason for Variance

None

Release Notes

None

User Impact Summary

None

Status

Assignee

Matthew Hughes

Reporter

Matthew Hughes

Reach

None

Impact

None

Platform Area

None

Customer

None

Partner Manager

None

URL

None

Contributor Name

None

Groups with Read-Only Access

None

Story Points

None

Actual Points

None

Category of Work

None

Platform Map Area (Levels 1 & 2)

None

Platform Map Area (Levels 3 & 4)

None

Priority

Unset
Configure