Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A package to convert every image stored and uploaded to a Plone site to PNG format.

Project Description

Life, the Universe, and Everything

A package to convert every image stored and uploaded to a Plone site to PNG format.

If you are concerned about images format patent issues this package is for you.

Patent issues

Portable Network Graphics (PNG) is a bitmapped image format that employs lossless data compression. PNG was created to improve upon and replace GIF (Graphics Interchange Format) as an image-file format not requiring a patent license.

Even as the JPEG compression used in various image file formats has been subject to a number of patent issues by well-known patent trolls of the industry for many years, there is currently no patent-free alternative for these formats (WebP has been available for some time, but is currently only supported by Google Chrome and Opera web browsers).

Don’t Panic


  • Go to ‘Site Setup’.
  • Select ‘Image WatchDog’.
  • Select the files formats that should be converted to PNG.
  • You can choose to optimize the PNG file checking the ‘Optimize PNG’ checkbox.
  • ‘Migration delay (milliseconds)’ and ‘Transaction threshold’ are only used for migration.
  • Activate the on-fly convertion checking the ‘Enabled’ checkbox.

Migrate images

  • First Configure.
  • Now in the ‘Image WatchDog’ control panel you can set:
    • ‘Migration delay (milliseconds)’, this parameter indicates a delay between every processed image. 0 means no delay, more fast, but CPU intensive, bigger values are nicer with the CPU but will slow down the process.
    • ‘Transaction threshold’, this parameter is the number of images processed in a single transaction. 0 means one single transaction, more fast, but RAM intensive, small values are nicer with the RAM but will slow down the process.
  • Click on ‘Save & Migrate’ button to start the migration process.
  • Get your prefered caffeinated beverage because this could take some time, you could check your logs to see the progress of migration process.

Script to migrate images

The package includes a handy method to migrate images, sometimes prefered for running long processes.

  • From your command line run: instance run <path_to_openmultimedia.imagewatchdog_package>/openmultimedia/imagewatchdog/script/ <plone_site_name>
  • This will install de product in the Plone site and migrate the images to PNG.
  • Get your prefered caffeinated beverage because this could take some time, you will see the progress of migration process in your console.


‘Image WatchDog’ control panel

Comparison to other file formats

Here is a small resume including just the downsides of PNG against GIF and JPEG; you can find the complete comparison in the Wikipedia:


  • On small images, GIF can achieve greater compression than PNG.
  • GIF intrinsically supports animated images. PNG supports animation only via unofficial extensions.


  • JPEG formats can produce smaller files than PNG for photographic (and photo-like) images, since JPEG uses a lossy encoding method specifically designed for photographic image data.

Mostly Harmless

Have an idea? Found a bug? Let us know by opening a support ticket.


To enable this product in a buildout-based installation:

  1. Edit your buildout.cfg and add openmultimedia.pngwatchdog to the list of eggs to install:

    eggs =

After updating the configuration you need to run ‘’bin/buildout’‘, which will take care of updating your system.

Go to the ‘Site Setup’ page in a Plone site and click on the ‘Add-ons’ link.

Check the box next to openmultimedia.pngwatchdog and click the ‘Activate’ button.

Note: You may have to empty your browser cache and save your resource registries in order to see the effects of the product installation.

Share and Enjoy

openmultimedia.pngwatchdog would not have been possible without the contribution of the following people:

  • Juan Pablo Giménez, original author
  • Héctor Velarde, factory of good ideas

Development sponsored by Open Multimedia.


Because you have to know where your towel is.

1.0b1 (2012-12-19)

  • Initial release.
Release History

Release History

This version
History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date (34.6 kB) Copy SHA256 Checksum SHA256 Source Dec 19, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting