Skip to content

Closes #4406: Enhance az_course to Meet Departmental Needs#5334

Draft
kevdevlu wants to merge 1 commit intomainfrom
issue/4406
Draft

Closes #4406: Enhance az_course to Meet Departmental Needs#5334
kevdevlu wants to merge 1 commit intomainfrom
issue/4406

Conversation

@kevdevlu
Copy link
Copy Markdown
Member

@kevdevlu kevdevlu commented Feb 20, 2026

For #4406: Starting a draft PR just so we can get started on planning what features and implementation we want.

Description

Useful Links:

Humanities:

LPL:

SBS:

Out of these pages, we currently see 3 categories of pages:

  1. Course Catalog - list of courses offered by department for all time (even if not offered currently in this semester/term)
  2. Course Schedule - list of courses (and sections / Instructors and their times and corresponding attributes) offered in current Active Terms as provided by the API (https://uacourses-api.uaccess.arizona.edu/terms)
  3. Degree Requirements / Handbook - categorizing and displaying courses in a way that allow students to see paths of meeting requirements for their GE / degree / certificate / minor.

Current Developments from Outside CWS

  1. Brett Bendick is updating the course schedule API: https://apps.iam.arizona.edu/services/view/1 to be Boomi-based, along with enhancements needed for this PR.
    • He has noted that adding extra fields might not be very easy.
  2. Alex Underwood from University Registrar says we should not be allowing users to manually create courses to be displayed on Quickstart sites. See slack thread.

Technical Hurdle to Overcome

Each API call takes 1-2 seconds. Some departments have 200-300+ courses, which translates to that many API calls. Pantheon has a cron job timeout limit of 180 seconds. This in turn means we are capped around 100 API calls per cron job, which leaves many departments (French, EAS, Classics, PAH from Humanities for example) not able to fully import and show course schedules on their websites.

  • Brett Bendick is currently working on seeing if he can make a bulk API where it allows us to get all course data of a subject_code and term_code
  • If Brett gives us this API, it would mean we only need to make 1 API call. Even if that one API call takes longer than usual, it will still be much faster than 200+ API calls.

Other Issues

  1. Josh brings up some valid points on why LPL prefers manual input over API import:
    a. UAccess is slow to approve changes. Management wanted information published faster than UAccess could approve and propagate.
    b. Additional fields like syllabi for current, future and past courses, the course website to use (not everyone uses D2L, or use it in conjunction with other faculty sites), and course statuses.
    c. Ability to display a projected teaching schedule, as in planned out semesters for future years.

  2. Other fields or features that LPL uses that's not in the API:

    • Courses can be linked to instructors (az_person presumably) or alternatively linked to a more canonical page outside of the quickstart site
    • Ability to show cross-listed courses as part of the title for the course

Release notes

Related issues

How to test

Types of changes

Arizona Quickstart (install profile, custom modules, custom theme)

  • Patch release changes
    • Bug fix
    • Accessibility, performance, or security improvement
    • Critical institutional link or brand change
    • Adding experimental module
    • Update experimental module
  • Minor release changes
    • New feature
    • Breaking or visual change to existing behavior
    • Upgrade experimental module to stable
    • Enable existing module by default or database update
    • Non-critical brand change
    • New internal API or API improvement with backwards compatibility
    • Risky or disruptive cleanup to comply with coding standards
    • High-risk or disruptive change (requires upgrade path, risks regression, etc.)
  • Other or unknown
    • Other or unknown

Drupal core

  • Patch release changes
    • Security update
    • Patch level release (non-security bug-fix release)
    • Patch removal that's no longer necessary
  • Minor release changes
    • Major or minor level update
  • Other or unknown
    • Other or unknown

Drupal contrib projects

  • Patch release changes
    • Security update
    • Patch or minor level update
    • Add new module
    • Patch removal that's no longer necessary
  • Minor release changes
    • Major level update
  • Other or unknown
    • Other or unknown

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • My change requires release notes.

Starting a draft PR just so we can get started on planning what features and implementation we want.
@kevdevlu kevdevlu marked this pull request as draft February 20, 2026 17:02
@kevdevlu kevdevlu added the enhancement New feature or request label Feb 20, 2026
@az-digital-bot
Copy link
Copy Markdown
Contributor

Tugboat has finished building the preview for this pull request!

Link:

Dashboard:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve course list card styling to better visually indicate that the whole card is clickable. Enhance the courses importer to be more full-featured

3 participants