Plone Add-on Gallery

collective.autoscaling

CI Status

This package allows automatic scaling of too large images in Plone sites. Images can be either Image content type or any Image field on content types.

This is totally transparent to the user (except if you choose to show message).

There is also a view (@@resize-images) that you can call to scale existing images (under the context of your choice), for example :

Settings

  • Enable automatic scaling (yes / no)

  • Maximum height at which images will be automatically resized (in pixels)

  • Maximum width at which images will be automatically resized (in pixels)

  • JPEG quality

  • Show information message to user when images have been resized (yes / no)

Use case

  1. You configure collective.autoscaling to have images with maximum size of height 800px / width 1200px.

  2. One of your user uploads a really big image : height 2000px / width 4000px.

  3. This image will be resized to height 600px / width 1200px (aspect ratio is of course preserved).

Limitations

This add-on works only with Dexterity content types.

It has been developed on Plone 4.3, but works with Plone 5 and Plone 6 too. Current branch is tested on Python 3 / Plone 6.

Translations

This product has been translated into

  • English

  • French

  • Norwegian

  • Portuguese

Installation

Install collective.autoscaling by adding it to your buildout:

[buildout]

...

eggs =
    collective.autoscaling

and then running bin/buildout

Contribute

License

The project is licensed under the GPLv2.

Contributors

  • Laurent Lasudry, Original Author [Affinitic]

  • Espen Moe-Nilssen

  • Marc Lavallée

Changelog

1.2 (2022-02-21)

  • Fix resize-images view that was saving nothing because of CSRF protection [laulaz]

  • Add support for Python 3 / Plone 6 [marclava, laulaz]

  • Add new JPEG Quality setting [marclava]

  • Improve resizing code [marclava]

  • Add uninstall profile [laulaz]

1.1.2 (2019-01-15)

  • Handle special cases when we don’t get a request at ObjectAddedEvent (example : when an object is added at Zope startup) [laulaz]

  • Remove useless dependency on CMFDefault (#5) [laulaz]

1.1.1 (2016-07-28)

  • Pin plone.api to avoid any errors (#2) [laulaz]

  • Add Portuguese translation [laulaz]

1.1 (2016-04-13)

  • Remove dependency on plone.app.imagecropping (#1) [laulaz]

  • Translations cleanup [laulaz]

1.0 (2016-04-11)

  • Initial release. [laulaz]