PHPackages                             zzdjk6/silverstripe-imagelinkupgrade - 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. zzdjk6/silverstripe-imagelinkupgrade

ActiveLibrary[Image &amp; Media](/categories/media)

zzdjk6/silverstripe-imagelinkupgrade
====================================

Upgrade Image Links Used In HTMLText and HTMLVar Fields

1.0(7y ago)030MITPHP

Since Oct 28Pushed 7y ago1 watchersCompare

[ Source](https://github.com/zzdjk6/silverstripe-imagelinkupgrade)[ Packagist](https://packagist.org/packages/zzdjk6/silverstripe-imagelinkupgrade)[ Docs](https://github.com/zzdjk6/silverstripe-imagelinkupgrade)[ RSS](/packages/zzdjk6-silverstripe-imagelinkupgrade/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

silverstripe-imagelinkupgrade
=============================

[](#silverstripe-imagelinkupgrade)

Overview
--------

[](#overview)

So, you have already run `MigrateFileTask` but find that you still need to do a lot of manual work for updating the broken image links in `HTMLText` and `HTMLVarchar` fields. Afraid ignoring some places while manual checking? Feel frustrated when trying to find the correct image link after upgrading? Tired of repeating yourself in such a machine-ish task? Your assistant is here!

Explain
-------

[](#explain)

Then, how will this tool help you?

In a nutshell, it will find all the places where a broken image link could be replaced with a correct link in all the `HTMLText` and `HTMLVarchar` fields of `DataObject`.

How it does the job? Take a look at `ImageLinkUpgradeTask.php`, the overall process is:

1. Retrieve all `DataObject` classes contains HTMLText or HTMLVarchar field
2. Retrieve all image records in DB, get the mapping relation of ID, Filename and the accessible URL
3. Gather upgrade info by each class: which class, which field, what are the old links and their replacement for that field
4. Apply changes to the database

More details could be found in the code.

How to use
----------

[](#how-to-use)

Add dependency via `composer`:

```
composer require zzdjk6/silverstripe-imagelinkupgrade

```

Then just run it like other tasks: `/dev/tasks/ImageLinkUpgradeTask`

Caveats
-------

[](#caveats)

1. Make sure you backup your database before using this tool (it will modify your database).
2. Currently, some `DataObject` will be updated several times due to class inherit (e.g., subclasses of `SiteTree`). This issue won't affect the final result (just a version jump compare to the original one)
3. This tool keeps the `Status` of versioned `DataObject` in mind, which means if the `Live` version is not the same as the `Stage` version, only `Stage` version will be changed.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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

Unknown

Total

1

Last Release

2753d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3908516?v=4)[Thor(Shenghan) Chen](/maintainers/zzdjk6)[@zzdjk6](https://github.com/zzdjk6)

---

Top Contributors

[![zzdjk6](https://avatars.githubusercontent.com/u/3908516?v=4)](https://github.com/zzdjk6 "zzdjk6 (7 commits)")

---

Tags

imagehtmlsilverstripeupgrade

### Embed Badge

![Health badge](/badges/zzdjk6-silverstripe-imagelinkupgrade/health.svg)

```
[![Health](https://phpackages.com/badges/zzdjk6-silverstripe-imagelinkupgrade/health.svg)](https://phpackages.com/packages/zzdjk6-silverstripe-imagelinkupgrade)
```

###  Alternatives

[heyday/silverstripe-responsive-images

Configure and send a series of image size options to the client without loading any resources until a media query can be executed.

5387.7k6](/packages/heyday-silverstripe-responsive-images)[unclecheese/silverstripe-image-optionset

Provides a list of selectable items that use images as the primary label instead of text.

139.1k2](/packages/unclecheese-silverstripe-image-optionset)[chrometoaster/silverstripe-image-quality

Adds Quality function to images

1013.0k1](/packages/chrometoaster-silverstripe-image-quality)[dnadesign/silverstripe-lazyloaded-image

Implements the LQIP (Low Quality Image Placeholder) pattern powered by lazysizes

1011.4k4](/packages/dnadesign-silverstripe-lazyloaded-image)

PHPackages © 2026

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