Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

D5.3b Adopt shared curriculum projection behind existing reader contracts

未关闭
#447 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
python

调研方向

First read DTC AGENTS, _docs/PROCESS.md, _docs/specs/, docs/plan/STATUS.md, the course route contracts, and D5.3a's accepted policy matrix. Then inventory shared_course, curriculum_flow, and course_context callers and their existing tests, alongside D5.1 and D7.3 evidence. Done means existing route, API, access, navigation, Studio, empty/error, and presentation contracts remain intact, with independent QA and deployment evidence recorded.

由索引模型根据 Issue 内容生成。

描述

courses enhancement P1

Plan issue D5.3b, phase 5 of the community-base unification plan; child milestone of DTC #436.

Authority: D5.3b in the reviewed docs/plan/phase-5.md sequencing correction tracked by community-base #348. Implementation waits for that plan change and this milestone’s prerequisites. docs/plan/STATUS.md remains the source of truth.

Process and boundaries

DTC AGENTS.md, _docs/PROCESS.md, _docs/specs/ and coding-standard govern implementation, verification, independent QA and PM acceptance. Use an isolated worktree; preserve other sessions' work. Package changes must be tagged before site dependency adoption. No live source conversion, database reset or production operation is authorized by this issue. No visible UI change or feature removal is allowed.

Spec

Repository: DataTalksClub/website. Depends on: D5.1, D7.3. Freeze required: no.

Goal: consume the package curriculum tree/projection behind existing DTC routes and templates,
with the site policy contract proved by D5.3a and package rows imported through D7.3.

Read first

  • DTC AGENTS, process, spec 04, course route contracts and D5.3a's accepted policy matrix.
  • D5.1 target-model evidence, D7.3 ingest/caller inventory, shared CourseTree/projection APIs.
  • Current shared_course, curriculum_flow and course_context callers and their existing tests.

Steps and acceptance criteria

  • Use CourseTree/shared projection for generic hierarchy and ordered traversal; remove the
    replaced site projection bodies after full caller inventory. Keep DTC URL/policy mapping.
  • Existing flat public HTML and API shapes, canonical/compatibility routes, query context,
    access and publication/retirement filtering, empty/error behavior and Studio remain equal.
  • Previous/next remains within published lessons of the current module where that is today's
    contract. Do not substitute the package's whole-course neighbor policy.
  • Flat, nested, mixed and one-unit module fixtures resolve to real supported destinations;
    preserve section/bonus metadata, project references and explicit homework bindings.
  • Repeated sync and moves preserve selected-mode data/link guarantees through actual site
    callers. Use D5.1 data evidence, adding the reader-specific checks rather than claiming a
    second independent full migration.
  • Independent QA verifies route/API semantics and desktop/mobile presentation on the selected
    development target with synthetic learners. Current visible UI is unchanged. If exposing
    new hierarchy cannot fit that contract, record the concrete product decision before edits.
  • Package/site evidence and deployment verdicts are recorded separately; no adoption claim
    rests only on generic package template tests or generated links that were never resolved.

Verification

  • Run the maintained DTC verification plan, including affected reader/API/route/Studio tests
    and desktop/mobile evidence; resolve generated destinations through real site views.
  • Check representative flat before/after HTML/API contracts, module-local neighbors and
    query counts. Prove nested/mixed and one-unit destinations with approved source fixtures.
  • Record independent QA/PM acceptance and green selected development deployment. Scratch-source
    evidence does not complete D7.4 or authorize a live-source switch.

Docs: DTC course/spec/route-policy documentation; STATUS here. No generic package templates or
route mounting replaces DTC presentation. No source conversion or parser duplication.

Browser and operations scenarios

Use the existing route inventory and the acceptance journeys above: a learner follows current module-local neighbors and retains cohort/access context; a learner opens valid nested/mixed and homework destinations through site-owned URLs; staff retain the existing Studio workflow. Cover existing empty/error/denial states and desktop/mobile presentation through independent QA. Do not invent new URL patterns or replace site templates with the package’s generic views. The versioned site verification plan owns exact routes, scenarios and screenshot evidence.

Sequencing references

  • Source/policy proof: D5.3a / #446.
  • Storage and single source-writer activation: D5.1 / #414.
  • Reader projection: D5.3b / #447.
  • Full preservation acceptance: D5.3 / #436.
  • Coordinated course cutover: D5.2 / #415.
  • Plan sequencing correction: community-base #348; its phase-5/phase-7 and generated STATUS update must merge before these revised dependencies govern implementation. No milestone is completed by this grooming.
  • Package conversion semantics: C7.12b / community-base #347. Package capability, donor compatibility and site adoption remain separate gates.
主要语言
Python
星标
0
派生
0
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

DataTalksClub/website 的其他 Issue

查看 DataTalksClub/website 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。