PHPackages                             toutouwai/unique-image-variations - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. toutouwai/unique-image-variations

ActivePw-module[Image &amp; Media](/categories/media)

toutouwai/unique-image-variations
=================================

A ProcessWire module that ensures that all ImageSizer options affect image variation filenames.

0.1.6(2y ago)520MPL-2.0PHPPHP &gt;=5.4

Since May 28Pushed 2y ago2 watchersCompare

[ Source](https://github.com/Toutouwai/UniqueImageVariations)[ Packagist](https://packagist.org/packages/toutouwai/unique-image-variations)[ Docs](https://github.com/Toutouwai/UniqueImageVariations)[ RSS](/packages/toutouwai-unique-image-variations/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (3)Used By (0)

Unique Image Variations
=======================

[](#unique-image-variations)

A module for ProcessWire CMS/CMF. Ensures that all ImageSizer options and focus settings affect image variation filenames.

[![uiv](https://user-images.githubusercontent.com/1538852/53693222-4a5d5c80-3e02-11e9-8e1f-b96a3fb3eecf.png)](https://user-images.githubusercontent.com/1538852/53693222-4a5d5c80-3e02-11e9-8e1f-b96a3fb3eecf.png)

Background
----------

[](#background)

When using methods that produce image variations such as `Pageimage::size()`, ProcessWire includes some of the ImageSizer settings (height, width, cropping location, etc) in the variation filename. This is useful so that if you change these settings in your `size()` call a new variation is generated and you see this variation on the front-end.

However, ProcessWire does not include several of the other ImageSizer settings in the variation filename:

- upscaling
- cropping, when set to false or a blank string
- interlace
- sharpening
- quality
- hidpi quality
- focus (whether any saved focus area for an image should affect cropping)
- focus data (the top/left/zoom data for the focus area)

This means that if you change any of these settings, either in `$config->imageSizerOptions` or in an `$options` array passed to a method like `size()`, and you already have variations at the requested size/crop, then ProcessWire will not create new variations and will continue to serve the old variations. In other words you won't see the effect of your changed ImageSizer options on the front-end until you delete the old variations.

Features
--------

[](#features)

The Unique Image Variations module ensures that any changes to ImageSizer options and any changes to the focus area made in Page Edit are reflected in the variation filename, so new variations will always be generated and displayed on the front-end.

Installation
------------

[](#installation)

[Install](http://modules.processwire.com/install-uninstall/) the Unique Image Variations module.

In the module config, set the ImageSizer options that you want to include in image variation filenames.

Warnings
--------

[](#warnings)

Installing the module (and keeping one or more of the options selected in the module config) will cause all existing image variations to be regenerated the next time they are requested. If you have an existing website with a large number of images you may not want the performance impact of that. The module is perhaps best suited to new sites where image variations have not yet been generated.

Similarly, if you change the module config settings on an existing site then all image variations will be regenerated the next time they are requested.

If you think you might want to change an ImageSizer option in the future (I'm thinking here primarily of options such as interlace that are typically set in `$config->imageSizerOptions`) and would *not* want that change to cause existing image variations to be regenerated then best to not include that option in the module config after you first install the module.

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~895 days

Total

2

Last Release

965d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1538852?v=4)[Robin Sallis](/maintainers/Toutouwai)[@Toutouwai](https://github.com/Toutouwai)

---

Top Contributors

[![Toutouwai](https://avatars.githubusercontent.com/u/1538852?v=4)](https://github.com/Toutouwai "Toutouwai (14 commits)")

---

Tags

processwiremodule

### Embed Badge

![Health badge](/badges/toutouwai-unique-image-variations/health.svg)

```
[![Health](https://phpackages.com/badges/toutouwai-unique-image-variations/health.svg)](https://phpackages.com/packages/toutouwai-unique-image-variations)
```

###  Alternatives

[adrianbj/tracy-debugger

The ultimate debugging and development tool for ProcessWire.

935.6k](/packages/adrianbj-tracy-debugger)[teppokoivula/search-engine

SearchEngine is a ProcessWire CMS/CMF module for indexing and searching site contents.

181.4k2](/packages/teppokoivula-search-engine)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
