imstyleman

Categories

Component ID

2506617

Component name

imstyleman

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

Image Style Manager

This module lets administrators manage, edit, clone and delete image style in one unified interface. It is not suited for non-technical users or the ideal tool for setting up just one new image style with a variety of special image effects. The standard interface works well for setting up 1, 2 or 3 image styles. However, some sites require many more image styles, especially when using the picture module with one style per breakpoint, that must be synchronised.

The admin form lists each image style and exposes its display name, machine name and all settings, alongside enhanced previews (based on a high-resolution sample image of apples) and a list of all field display settings that use it. Image styles may be cloned with the same effects and settings, but with height and width parameters multiplied by a selected factor, very handy when working with adaptive image styles. Ideally this module should be used in combination with features and imagecache actions, so you can export image styles from one project and then quickly edit settings to meet different design criteria.

As the attributes and criteria for different image effects (many provided by other contributed modules) vary, providing separate form-controls for each potential could prove unwieldy. Instead such settings are translated into a simplified YAML-like format as follows:

image_effect_machine_name_1: attribute_1: 1, attribute_2: 2
image_effect_machine_name_2: attribute_1: 1, attribute_2: 2

This syntax assume the machine name before the first colon is the effect name, followed by a comma-separated list of key: value pairs. All available effect names and attributes are listed below. This approach lets you easily tweak settings such as width and height. Effect data is parsed line by line and translated into an associative array and validated with the validation callback functions provided by the defining modules.

I hope to add more features such as versioning.