Remove slideshow support
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 35/100
研究方向
Start with the SlideshowSlide and File.slideshow_slide models in contentcuration/contentcuration/models.py, then trace the ricecooker endpoint in views/internal.py and publish logic in utils/publish.py. Review the migration and garbage collection paths as well. Done means existing slideshow rows and support are removed, the endpoint returns 400 for slideshow nodes, publish stops building manifests, and the migration fails on lock timeout.
由索引模型根據 Issue 內容生成。
描述
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Overview
Slideshow content can no longer be created: the Studio editor never supported it, and ricecooker removed SlideshowNode, so only Studio's ricecooker endpoint still accepts slides, and no current ricecooker sends them. Production holds 81 slideshow nodes, all in test or QA channels, with 85 SlideshowSlide rows created between 2019 and 2021. File.slideshow_slide's index costs 6.6 GB to cover those 85 rows. Slideshow support and the existing slideshow nodes should be removed from Studio.
Complexity: Medium
Target branch: hotfixes
Context
-
Slideshow nodes on production, all in test channels:
Channel Tree Slideshow nodes Prueba (deleted) staging, main 67 Studio Test Channel 1, Studio Test Channel 4 main, trash 4 Test QA Channel 66 main, trash 2 Kolibri QA Channel, Kolibri QAv2, Regression fixture, Shared resources, Slides Slides Slides! (×2), Velox testing channel main 7 (no channel) — 1 -
The 85 slide
Files are attached only throughslideshow_slide, never to a node. -
Slideshow code in Studio:
SlideshowSlideandFile.slideshow_slide- the ricecooker endpoint:
views/internal.py:811-824,create_slides,map_files_to_slideshow_slide_item - publish:
utils/publish.py:408-409callscreate_slideshow_manifest - garbage collection:
utils/garbage_collect.py:208
-
Ricecooker removed
SlideshowNode(docs/migration.md:17-18). -
Kolibri still ships
kolibri.plugins.slideshow_viewer, so channels already published with slideshows keep rendering.
The Change
- The existing slideshow nodes should be deleted, along with their slides and slide
Files. SlideshowSlideandFile.slideshow_slideshould be removed. The column drop takes a briefACCESS EXCLUSIVElock oncontentcuration_file, so the migration should set alock_timeoutand fail rather than retry.- The ricecooker endpoint should reject a
slideshownode with a 400 rather than create it. - Publish should no longer build slideshow manifests.
Out of Scope
- The
slideshowkind in le-utils, and Kolibri'sslideshow_viewer.
Acceptance Criteria
General
- After deploy to
hotfixes, nocontentnoderow haskind_id = 'slideshow' -
contentcuration_slideshowslideno longer exists, andcontentcuration_filehas noslideshow_slide_idcolumn or index - The migration aborts with a non-zero exit when it can't acquire its lock within
lock_timeout - Uploading a
slideshownode through the ricecooker endpoint returns a 400 -
makemigrations --checkreports no changes
Testing
- A test covers the ricecooker endpoint rejecting a
slideshownode
AI usage
Drafted with Claude Code, which measured slideshow usage on production through read-only queries in the disposable debugging job and traced the slideshow code paths. I chose to remove the feature and delete the existing nodes.
- 主要語言
- Python
- 星號
- 212
- 分支
- 314
- 平均合併
- 3 天 13 小時
- 30 天內合併 PR
- 28
環境準備
- 提供 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
learningequality/studio 的其他 Issue
-
DEV: frontend P3 - low
難度 2/5 1-3 小時 新手友好度 74/100
learningequality/studio#5868 ·
維護者通常 1 天內回覆
-
TAG: tech update / debt
難度 2/5 1-3 小時 新手友好度 62/100
learningequality/studio#2245 ·
維護者通常 1 天內回覆
-
dependencies DEV: backend python
難度 3/5 1-2 天 新手友好度 22/100
learningequality/studio#6374 ·
維護者通常 1 天內回覆
-
dependencies DEV: backend python
難度 3/5 1-2 天 新手友好度 15/100
learningequality/studio#6373 ·
維護者通常 1 天內回覆
-
[QTI] First click misses after opening the last card of a short exercise可能已有人在做 @Anurag-S1ngh 於 1 天前認領。 未關閉bug DEV: frontend
難度 4/5 3-5 天 新手友好度 20/100
learningequality/studio#6365 · 2 則留言 ·
維護者通常 1 天內回覆
查看 learningequality/studio 的全部 Issue
相似的 Issue
-
breaking change
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
check-skill-pages: show fixture build errors when a build fails可能已有人在做 @ShahadatTest 今天認領。 未關閉good first issue P2
難度 1/5 1 小時以內 新手友好度 85/100
coco-research/coco#439 · 1 則留言 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100
esphome/home-assistant-addon#274 ·
-
難度 2/5 1-3 小時 新手友好度 72/100
endurain-project/endurain#882 ·
維護者通常 1 天內回覆
-
good first issue
難度 2/5 1-3 小時 新手友好度 72/100