PHPackages                             fromholdio/silverstripe-schedulable - 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. fromholdio/silverstripe-schedulable

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

fromholdio/silverstripe-schedulable
===================================

This module adds embargo/expiry scheduling to your data objects and site tree.

2.0.0(8mo ago)0903BSD-3-ClausePHP

Since Apr 25Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/fromholdio/silverstripe-schedulable)[ Packagist](https://packagist.org/packages/fromholdio/silverstripe-schedulable)[ Docs](https://github.com/fromholdio/silverstripe-schedulable)[ RSS](/packages/fromholdio-silverstripe-schedulable/feed)WikiDiscussions master Synced 1w ago

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

silverstripe-schedulable
========================

[](#silverstripe-schedulable)

This module adds embargo/expiry scheduling to your data objects and site tree.

Also adds a `GridFieldScheduledStatus` component, allowing you to display the scheduled status of an object within your `GridField`.

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

[](#requirements)

- [silverstripe-framework](https://github.com/silverstripe/silverstripe-framework) ^6

(See branch 1.x for Silverstripe 4 &amp; 5 support.)

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

[](#installation)

`composer require fromholdio/silverstripe-schedulable`

Details &amp; Usage
-------------------

[](#details--usage)

It's essentially plug-n-play - just apply the `Schedulable` extension to your `DataObject` or `SiteTree` class.

It works by augmenting the regular sql query and including/excluding records based on their embargo/expiry settings. This doesn't apply if stage=Stage and your user has VIEW\_DRAFT\_CONTENT permission, or if you're within an Admin controller.

Works with Versioned objects, when objects are embargoed or expired for the current date on the active Versioned stage, they will not be returned in your queries.

Provides some additional accessors:

- `IsScheduleEmbargoed()` = true if object is embargoed (becomes false once the embargo date/time is passed)
- `IsScheduleExpired()` = true if object has expired (false until the expiry date/time is reached)
- `WillScheduleExpire()` = true if object is not currently embargoed, and will expired, but has not yet
- `getScheduleStatusLabel()` = returns a human readable description of current status (e.g. "Embargoed until 01/01/2020 12:00:00")

If an object has both an embargo-until date/time, and an expiry date/time, `getScheduleStatusLabel()` will reflect the most relevant current state. (So, in that case, it will return that it is Embargoed Until X, and once that date/time passes, it will change to Will Expire At Y.)

Example of applying the extension to `SiteTree` class:

```
---
Name: extensions
---
SilverStripe\CMS\Model\SiteTree:
  extensions:
    - Fromholdio\Schedulable\Extensions\Schedulable
```

To Do
-----

[](#to-do)

- Better docs

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance67

Regular maintenance activity

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

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

Every ~585 days

Total

5

Last Release

241d ago

Major Versions

1.x-dev → 2.0.02025-09-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/40e135ad117686bee39707c1d9286cc5e915e219c26a10d13858ca44d14f1eb0?d=identicon)[dizzystuff](/maintainers/dizzystuff)

---

Top Contributors

[![dizzystuff](https://avatars.githubusercontent.com/u/576903?v=4)](https://github.com/dizzystuff "dizzystuff (10 commits)")

---

Tags

silverstripeschedulepublishingembargoexpirypublish date

### Embed Badge

![Health badge](/badges/fromholdio-silverstripe-schedulable/health.svg)

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

PHPackages © 2026

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