Skip to content

Remove slideshow support #6353

Open
Open

Description

@rtibbles

❌ 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

The Change

  • The existing slideshow nodes should be deleted, along with their slides and slide Files.
  • SlideshowSlide and File.slideshow_slide should be removed. The column drop takes a brief ACCESS EXCLUSIVE lock on contentcuration_file, so the migration should set a lock_timeout and fail rather than retry.
  • The ricecooker endpoint should reject a slideshow node with a 400 rather than create it.
  • Publish should no longer build slideshow manifests.

Out of Scope

  • The slideshow kind in le-utils, and Kolibri's slideshow_viewer.

Acceptance Criteria

General

  • After deploy to hotfixes, no contentnode row has kind_id = 'slideshow'
  • contentcuration_slideshowslide no longer exists, and contentcuration_file has no slideshow_slide_id column or index
  • The migration aborts with a non-zero exit when it can't acquire its lock within lock_timeout
  • Uploading a slideshow node through the ricecooker endpoint returns a 400
  • makemigrations --check reports no changes

Testing

  • A test covers the ricecooker endpoint rejecting a slideshow node

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions