User:DWalden (WMF)/Thumbor migration

Project documentation edit

For Phabricator board, team members involved, etc. see 2022_Thumbor_updates.

The Phabricator board is: https://phabricator.wikimedia.org/tag/thumbor_migration/

Feature documentation edit

Thumbor allows users to see resized versions of media hosted on a wiki (e.g. Commons). For example, for thumbnails.

It can be used for any media including images, videos, PDFs, etc.

Test documentation edit

Where to test it edit

Thumbor is available on the beta and production environments. However, to test the latest version you need to install it locally.

How to install locally edit

git clone https://gerrit.wikimedia.org/r/operations/software/thumbor-plugins/
cd thumbor-plugins

Create a thumbor.conf in the same directory. Here is the one I currently use phab:P37284.

If you want to run it in docker (recommended):

blubber .pipeline/blubber.yaml dev > Dockerfile
make build

Otherwise, if you want to run it on "bare metal":

python3 -m pip install -r requirements.txt
python3 setup.py build
python3 setup.py install --user
thumbor --port 8800 --conf=thumbor.conf -a wikimedia_thumbor.app.App

Thumbor should then be running on port 8800.

To check it is running, visit: http://localhost:8800/thumbor/unsafe/320x/https://upload.wikimedia.beta.wmflabs.org/wikipedia/en/1/1b/CuteGoat.jpg

(See also README.)

Coverage criteria edit

  • Types of media (PNG, JPG, OGV, webm, 3D, PDF, DjVU, SVG, etc.)

Oracles edit

  • Previous versions of thumbor (e.g. those installed on beta or production)

Risks edit

Quality criteria edit

Techniques edit

Test data edit

Any media (including video, pdf) on Commons can be passed to Thumbor. There are lots of places to find images.

Test tools and scripts edit

Logs and debugging edit

To see more detailed logs on the command line, run with the -d -l debug flags, like:

thumbor -d -l debug --port 8800 --conf=thumbor.conf -a wikimedia_thumbor.app.App

Current testing status edit

Test strategy edit

Compare the thumbnails generated by the latest version of thumbor with the older version running on beta.

You can do this with blink testing or using the scripts described above.

Testing done edit

TODOs edit

Testing which will not be done edit

How-to guides edit

Other documentation edit