PHPackages                             bigfork/silverstripe-fail-whale - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. bigfork/silverstripe-fail-whale

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

bigfork/silverstripe-fail-whale
===============================

SilverStripe error pages, just without the pages.

4.0.2(8mo ago)820.4k↓67.8%BSD-3-ClausePHP

Since Jan 15Pushed 8mo ago3 watchersCompare

[ Source](https://github.com/bigfork/silverstripe-fail-whale)[ Packagist](https://packagist.org/packages/bigfork/silverstripe-fail-whale)[ RSS](/packages/bigfork-silverstripe-fail-whale/feed)WikiDiscussions master Synced today

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

SilverStripe Fail Whale 🐳
=========================

[](#silverstripe-fail-whale-)

SilverStripe error pages, just without the pages.

What is this?
-------------

[](#what-is-this)

CMS-editable error pages (404, 500 etc), without clogging up the site tree and confusing content authors who rarely (if ever) need to edit them. Also works without the CMS module installed.

How does it work?
-----------------

[](#how-does-it-work)

Error documents are DataObjects which can be edited via the “Settings” area of the CMS. There is no versioning or draft/live stages, so all changes are published immediately. On encountering an error, SilverStripe will look for a matching error document and render it if one is found.

Cached content is still stored in `assets/error-.html` files, and it’s still possible to use custom templates if required.

When the CMS module is installed, `PageController::init()` will be called before rendering the error document to ensure any requirements are included. If you need different behaviour in this method in the event of an error, you can check `if ($this->data()->ClassName === ErrorDocument::class)`.

How do I use custom templates?
------------------------------

[](#how-do-i-use-custom-templates)

As an example, in the event of a 404 error this module will look for the following templates:

- `/templates/Bigfork/SilverStripeFailWhale/Model/Layout/ErrorDocument_404.ss`
- `/templates/Bigfork/SilverStripeFailWhale/Model/Layout/ErrorDocument.ss`
- `/templates/Bigfork/SilverStripeFailWhale/Model/ErrorDocument.ss`

If none of the above templates are present and you have the CMS module installed, the module will fall back to using the default `Page` templates.

Subsites
--------

[](#subsites)

By default all the subsites will use the main site’s error documents. If you want each site to have its own error pages, this should get you cooking:

```
Bigfork\SilverStripeFailWhale\Model\ErrorDocument:
  enable_subsites: true
  has_one:
    Subsite: SilverStripe\Subsites\Model\Subsite
```

What’s with the name?
---------------------

[](#whats-with-the-name)

> The “Fail Whale” is an illustration of a white beluga whale held up by a flock of birds, originally named [*“Lifting a Dreamer”*](http://mashable.com/2010/08/01/fail-whale-designer-interview/ "The Origin of Twitter's "Fail Whale" - Mashable"), illustrated by Australian artist [Yiying Lu](http://twitter.com/yiyinglu "YIYING LU on Twitter"). It was used during periods of downtime by the social networking service Twitter.
>
> –

h/t to [@andrewandante](https://github.com/andrewandante) for the suggestion!

###  Health Score

47

—

FairBetter than 93% of packages

Maintenance62

Regular maintenance activity

Popularity30

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 83.3% 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 ~131 days

Recently: every ~36 days

Total

20

Last Release

241d ago

Major Versions

0.2.0 → 1.0.02022-07-01

1.x-dev → 2.0.02023-03-08

2.x-dev → 3.0.02025-06-13

3.x-dev → 4.0.02025-08-20

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/203294386?v=4)[-&gt; lozcalver](/maintainers/kinglozzer)[@kinglozzer](https://github.com/kinglozzer)

![](https://avatars.githubusercontent.com/u/1774129?v=4)[Colin Richardson](/maintainers/feejin)[@feejin](https://github.com/feejin)

---

Top Contributors

[![lozcalver](https://avatars.githubusercontent.com/u/1655548?v=4)](https://github.com/lozcalver "lozcalver (15 commits)")[![lerni](https://avatars.githubusercontent.com/u/472115?v=4)](https://github.com/lerni "lerni (2 commits)")[![micschk](https://avatars.githubusercontent.com/u/1005986?v=4)](https://github.com/micschk "micschk (1 commits)")

---

Tags

errorsilverstripeerrorserrorpage

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bigfork-silverstripe-fail-whale/health.svg)

```
[![Health](https://phpackages.com/badges/bigfork-silverstripe-fail-whale/health.svg)](https://phpackages.com/packages/bigfork-silverstripe-fail-whale)
```

###  Alternatives

[silverstripe/cms

The SilverStripe Content Management System

5253.6M1.4k](/packages/silverstripe-cms)[silverstripe/userforms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code

1371.1M85](/packages/silverstripe-userforms)[symbiote/silverstripe-gridfieldextensions

A collection of useful grid field components

951.9M271](/packages/symbiote-silverstripe-gridfieldextensions)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46302.4k9](/packages/symbiote-silverstripe-advancedworkflow)[silverstripe/tagfield

Tag field for SilverStripe

561.3M50](/packages/silverstripe-tagfield)[jonom/silverstripe-betternavigator

Front-end utility menu for Silverstripe websites featuring administration and development tools

60435.1k13](/packages/jonom-silverstripe-betternavigator)

PHPackages © 2026

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