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]
- Blink testing
- Automatic comparison (e.g. using imagemagick's compare or GIMP)
Test data[edit]
Any media (including video, pdf) on Commons can be passed to Thumbor. There are lots of places to find images.
- https://commons.wikimedia.beta.wmflabs.org/wiki/Special:NewFiles (allows you to filter by types of media, e.g. vector, bitmap, video)
- https://commons.wikimedia.beta.wmflabs.org/wiki/Special:MIMESearch (allows you to filter by mime type)
- allimages API (see script)
Test tools and scripts[edit]
- Script to compare an instance of thumbor running locally with thumbor on beta: https://gitlab.wikimedia.org/dwalden/thumbor-testing/-/blob/main/comparison_prototype.sh
- You should change line 31 with output from the below script
- Script to find lots of media for testing: https://gitlab.wikimedia.org/dwalden/thumbor-testing/-/blob/main/allimages.py
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.