Skip to main content

User-configurable, blob-aware image scaling for Plone.

Project description

Introduction

This package tries to factor out and re-use the image scaling code from Archetypes into a separate package in order to make it user-configurable and add support for storing the image data into ZODB blobs.

Installation

The easiest way to use this package is when working with installations based on zc.buildout. Here you can simply add the package to your “eggs” and “zcml” options, run buildout and restart your Plone instance.

Alternatively you can use the following configuration file to extend an existing buildout:

[buildout]
extends = buildout.cfg

[instance]
eggs += plone.app.imaging
zcml += plone.app.imaging

After that you should be able to “quick-install” the package via the “Add-on products” section of Plone’s configuration panel (“Site setup”).

New-style image scales

plone.app.imaging introduces new ways of using image scales in your templates. There are several variants you can pick from depending on how much flexibility/convenience you need:

  1. for full control you may do the tag generation explicitly:

    <img tal:define="scales context/@@images;
                     thumbnail python: scales.scale('image', width=64, height=64);"
         tal:condition="thumbnail"
         tal:attributes="src thumbnail/url;
                         width thumbnail/width;
                         height thumbnail/height" />

    This would create an up to 64 by 64 pixel scaled down version of the image stored in the “image” field. It also allows for passing in addition parameters support by plone.scale’s scaleImage function, e.g. direction or quality.

  2. for automatic tag generation with extra parameters you would use:

    <img tal:define="scale context/@@images"
         tal:replace="structure python: scale.scale('image',
                      width=1200, height=800, direction='down').tag()" />
  3. for tag generation using predefined scale names this would look like:

    <img tal:define="scale context/@@images"
         tal:replace="structure python: scale.scale('image',
                      scale='mini').tag()" />

    This would use the predefined scale size “mini” to determine the desired image dimensions, but still allow to pass in extra parameters.

  4. a convenience short-cut for option 3 can be used:

    <img tal:replace="structure context/@@images/image/mini" />
  5. and lastly, the short-cut can also be used to render the unscaled image:

    <img tal:replace="structure context/@@images/image" />

Changelog

1.0.2 - 2011-02-10

  • Add getAvailableSizes and getImageSize to the @@images view. [elro]

1.0.1 - 2011-01-03

  • Protect the control panel with a custom permission, “Plone Site Setup: Imaging”, instead of the generic “Manage portal”. [davisagli]

1.0 - 2010-07-18

  • Use the standard libraries doctest module. [hannosch]

  • Update license to GPL version 2 only. [hannosch]

1.0b11 - 2010-07-01

  • Fix issue with creating scales based on Image objects that are storing their data as chained Pdata objects. [davisagli]

  • Avoid using the deprecated five:implements directive. [hannosch]

1.0b10 - 2010-05-01

1.0b9 - 2010-04-10

  • Add new syntax options for generating image scales based on ideas borrowed from plone.scale, also improving caching and invalidation. [witsch]

  • Provide sizes for plone.namedfile if it’s installed. [davisagli]

  • Restore possibility to define per-field image scale sizes. This refs http://dev.plone.org/plone/ticket/10159 [huub_bouma, witsch]

1.0b8 - 2010-03-06

1.0b7 - 2009-12-03

  • Swallow resizing exceptions if that flag is set on the image field. [matthewwilkes]

  • Add test to make sure traversal to scales in path expressions still works. [davisagli, witsch]

1.0b6 - 2009-11-18

  • Corrected ill-formed msgid that contained a double quote. [hannosch]

1.0b5 - 2009-11-15

1.0b4 - 2009-10-29

  • Refactor default scale handler to make it more reusable for the blob-enabled version in plone.app.blob [witsch]

1.0b3 - 2009-08-26

  • Fix compatibility issue with Plone 4.0. [witsch]

  • Revert deferral of monkey-patching and traversal adapter registration to package installation time. [witsch]

1.0b2 - 2009-07-08

  • Register traversal handler locally to avoid problems without the corresponding monkey patch in place. Please see the second issue in http://plone.org/products/plone.app.blob/issues/19 for more info. [witsch]

  • Replaced a getUtility with a queryUtility call in getAllowedSizes. [hannosch]

1.0b1 - 2009-05-14

  • Add fallback for determining available image sizes to avoid breaking sites which haven’t installed the package yet. [witsch]

1.0a2 - 2008-09-22

  • Fix getAvailableSizes to not depend on sizes field-attribute. [witsch]

1.0a1 - 2008-08-12

  • Initial version [witsch]

  • Initial package structure. [zopeskel]

Project details


Download files

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

Source Distribution

plone.app.imaging-1.0.2.zip (51.2 kB view details)

Uploaded Source

File details

Details for the file plone.app.imaging-1.0.2.zip.

File metadata

File hashes

Hashes for plone.app.imaging-1.0.2.zip
Algorithm Hash digest
SHA256 cb35f9ca2565ffdac2807e19e3b507ddc4334b0084d0d702950af2d0f935072f
MD5 7f0bb4057d67790c7cd22952064932ef
BLAKE2b-256 21aae030c78fd9c33f6925d1613bff548e21f9b9f08725866c652be8cf1c2e76

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page