Skip to main content

Media Copy (retired)

Reports used to copy every image uploaded to one WordPress edition into the other active editions, and to keep a local ledger of those images in the wordpress_pictures table. The pipeline was removed after the backend moved to Clever Cloud on 2026-10-08 (#1109, decided in #948).

What was removed​

  • The POST /media/media_added webhook (WpMediaController). The new backend never sends it.
  • The attachment processing that the scrape webhook used to enqueue (SchedulePostAttachmentJob). The scrape webhook now only triggers the Facebook re-scrape.
  • The jobs ProcessWordpressPictureJob, SaveMasterPictureMetadataJob and CopyWordpressPictureJob, and the wordpress_pictures Sidekiq queue.
  • The copy that started automatically whenever a master WordpressPicture was created.
  • The WordPress client methods that only served the pipeline: attachment, copy_now? and create_attachment.
  • The slideshow copy API (POST /slideshows, CopySlideshowRequest, CopySlideshowJob), which resolved slide images in the target edition through the ledger below (#1108).
  • The yearly pictures report (SendPicturesReportJob, mailed on the 4th of each month with pictures_report.csv and team_report.csv). It counted published, unique and photo team images per month from the ledger below, so without the pipeline it could only report empty months.

What is left​

Nothing of the pipeline. The wordpress_pictures ledger (3.2M rows, about 2.3 GB) and the copy_slideshow_requests table were dropped once no code read them any more, together with the WordpressPicture model, its admin panel resource and the photo team flag on WordpressAuthor, which only the yearly report used. The data survives only in the database backups, for as long as their retention keeps them.

The monthly media export (MonthlyPictureReportJob, on the 1st of each month) is unaffected: it reads each edition's media library straight from WordPress over XML-RPC and never used the ledger.

WordpressAuthor stays: it is the local copy of the WordPress users, kept up to date by the hourly SyncWordpressAuthorsJob and used by the author payment reports.