PHPackages                             moritz-sauer-13/silverstripe-page-status - 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. moritz-sauer-13/silverstripe-page-status

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

moritz-sauer-13/silverstripe-page-status
========================================

Traffic light page completion status indicators for SilverStripe CMS editors

1.0.1(2mo ago)05MITPHP

Since May 6Pushed 2mo agoCompare

[ Source](https://github.com/moritz-sauer-13/silverstripe-page-status)[ Packagist](https://packagist.org/packages/moritz-sauer-13/silverstripe-page-status)[ RSS](/packages/moritz-sauer-13-silverstripe-page-status/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (3)Dependencies (2)Versions (4)Used By (0)

silverstripe-page-status
========================

[](#silverstripe-page-status)

Traffic light completion status for SilverStripe CMS pages. Gives editors a quick overview of which pages still need attention.

Requirements
------------

[](#requirements)

- SilverStripe CMS ^6
- lekoala/silverstripe-cms-actions

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

[](#installation)

```
composer require moritzsauer/silverstripe-page-status
```

Then run `dev/build?flush=1`.

What it does
------------

[](#what-it-does)

Each page gets a `PageStatus` field with three states:

KeyDefault labelMeaning`created`CreatedPage exists, no content yet`progress`In ProgressBeing filled, still incomplete`done`DoneFully maintained**Where the status is visible and editable:**

- **SiteTree** — small coloured dot next to every page title (hover for tooltip)
- **Page edit form** — dropdown in the action toolbar at the bottom
- **Batch actions** — set status on multiple pages at once via the tree's multi-select
- **Reports** — "Pflegestatus der Seiten" lists all pages filterable by status

Status changes create a new draft version but do **not** publish the page.

Configuration
-------------

[](#configuration)

Override statuses, colours and default in your project's YAML:

```
MoritzSauer\PageStatus\Service\StatusRegistry:
  default_status: created
  statuses:
    created:
      color: '#dc3545'
      text_color: '#ffffff'
      sort: 10
    progress:
      color: '#ffc107'
      text_color: '#212529'
      sort: 20
    done:
      color: '#28a745'
      text_color: '#ffffff'
      sort: 30
```

Override labels in your project's `lang/de.yml`:

```
de:
  MoritzSauer\PageStatus:
    STATUS_created: 'Mein Label'
```

**Adding a custom status key** requires only two steps:

1. Add the key to the YAML config above
2. Add the lang keys (`STATUS_` and `STATUS__DESC`) — label falls back to the key name if omitted

The page-edit action button is registered automatically via `allMethodNames()`. For a matching **batch action**, add a subclass of `AbstractSetPageStatusBatchAction` and register it in `_config.php`.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance85

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

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 ~0 days

Total

3

Last Release

79d ago

Major Versions

0.1 → 1.02026-05-06

### Community

Maintainers

![](https://www.gravatar.com/avatar/237ff98c98e71b509c4dac62b31efaf7823cca011952ded67579a6cf763b7a47?d=identicon)[moritz-sauer-13](/maintainers/moritz-sauer-13)

---

Top Contributors

[![moritz-sauer-13](https://avatars.githubusercontent.com/u/43135946?v=4)](https://github.com/moritz-sauer-13 "moritz-sauer-13 (3 commits)")

### Embed Badge

![Health badge](/badges/moritz-sauer-13-silverstripe-page-status/health.svg)

```
[![Health](https://phpackages.com/badges/moritz-sauer-13-silverstripe-page-status/health.svg)](https://phpackages.com/packages/moritz-sauer-13-silverstripe-page-status)
```

###  Alternatives

[silverstripe/userforms

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

1321.1M86](/packages/silverstripe-userforms)[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/sharedraftcontent

Share draft page content with non-CMS users

21424.1k12](/packages/silverstripe-sharedraftcontent)[axllent/silverstripe-cms-tweaks

Several CMS usability improvements

1726.4k1](/packages/axllent-silverstripe-cms-tweaks)[lekoala/silverstripe-softdelete

Soft delete extension for SilverStripe

11236.3k](/packages/lekoala-silverstripe-softdelete)[nzta/silverstripe-sitebanner

Site-wide banners activated through the CMS

1038.7k](/packages/nzta-silverstripe-sitebanner)

PHPackages © 2026

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