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