PHPackages                             goldinteractive/craft-publisher - 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. goldinteractive/craft-publisher

Abandoned → [https://github.com/neustadt-swiss/craft-publisher](/?search=https%3A%2F%2Fgithub.com%2Fneustadt-swiss%2Fcraft-publisher)Craft-plugin[Utility &amp; Helpers](/categories/utility)

goldinteractive/craft-publisher
===============================

Publisher X enables you to publish saved Drafts on a future date without the need to handle the cache expiration logic. The cronjob handles the publication and the cache invalidation.

5.2.0(1w ago)111.7k↓50.6%MITPHP

Since Nov 22Pushed yesterday3 watchersCompare

[ Source](https://github.com/neustadt-swiss/craft-publisher)[ Packagist](https://packagist.org/packages/goldinteractive/craft-publisher)[ RSS](/packages/goldinteractive-craft-publisher/feed)WikiDiscussions master Synced yesterday

READMEChangelog (5)Dependencies (2)Versions (11)Used By (0)

Publisher X
===========

[](#publisher-x)

Publisher X enables you to publish saved Drafts on a future date. The cron job handles the publication, and cache invalidation is managed through Craft CMS's native element save events.

It also handles entries that are set to expire or go live in the future, and will trigger cache invalidation through Craft's standard element lifecycle events.

[![Screenshot](resources/img/example1.png)](resources/img/example1.png)

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

[](#requirements)

- Craft CMS 5.0+
- PHP 8.2+

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

[](#installation)

```
composer require teamnovu/craft-publisher
```

Then install the plugin in the Craft control panel under **Settings → Plugins**.

Permissions
-----------

[](#permissions)

To publish a draft, the user needs the **Save entries** permission on the entry's section.

Setup
-----

[](#setup)

Create a cron job that runs **every minute**. You can invoke Publisher X via CLI or HTTP:

**CLI (recommended):**

```
* * * * * [PATH_TO_CRAFT]/craft publisher-x/publish
```

**Web:**

```
* * * * * /usr/bin/curl --silent --compressed {siteUrl}/actions/publisher-x/api/publish
```

### Usage with cache plugins

[](#usage-with-cache-plugins)

If you use a full-page cache plugin such as Blitz, make sure you also run the queue and refresh expired caches:

```
* * * * * [PATH_TO_CRAFT]/craft blitz/cache/refresh-expired
* * * * * [PATH_TO_CRAFT]/craft queue/run
```

Events
------

[](#events)

### `EVENT_AFTER_PUBLISH_ENTRY`

[](#event_after_publish_entry)

Fired by the `Entries` service after each successful scheduled publication. Use it to trigger server-side cache purges or any other side-effect tied to publication.

```
Event::on(
    Entries::class,
    Entries::EVENT_AFTER_PUBLISH_ENTRY,
    function (EntryPublishedEvent $event) {
        $entry = $event->entry;        // canonical entry that was published
        $draft = $event->draft;        // draft that was applied, or null for non-draft schedules
        $schedule = $event->entryPublish; // the EntryPublish schedule record

        // trigger your cache purge here
    }
);
```

The event is only fired when publication succeeds. If the scheduled entry or draft cannot be found (e.g. the entry was deleted), the orphaned record is cleaned up and the event is not fired.

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance99

Actively maintained with recent releases

Popularity26

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 76.2% 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 ~145 days

Recently: every ~41 days

Total

10

Last Release

11d ago

Major Versions

3.0.1 → 4.0.02024-05-27

4.0.1 → 5.0.02025-01-22

### Community

Maintainers

![](https://www.gravatar.com/avatar/855a85adbca901b0d679576113cfffb46615d0a02c94052e31282a78c9fedc3e?d=identicon)[goldinteractive](/maintainers/goldinteractive)

---

Top Contributors

[![lukasNo1](https://avatars.githubusercontent.com/u/19799373?v=4)](https://github.com/lukasNo1 "lukasNo1 (16 commits)")[![francescocolazzo](https://avatars.githubusercontent.com/u/41695402?v=4)](https://github.com/francescocolazzo "francescocolazzo (5 commits)")

### Embed Badge

![Health badge](/badges/goldinteractive-craft-publisher/health.svg)

```
[![Health](https://phpackages.com/badges/goldinteractive-craft-publisher/health.svg)](https://phpackages.com/packages/goldinteractive-craft-publisher)
```

###  Alternatives

[spicyweb/craft-neo

A Matrix-like field type with block hierarchy

393813.5k10](/packages/spicyweb-craft-neo)[craftcms/feed-me

Import content from XML, RSS, CSV or JSON feeds into entries, categories, Craft Commerce products, and more.

293952.6k33](/packages/craftcms-feed-me)[verbb/formie

The most user-friendly forms plugin for Craft.

102393.6k69](/packages/verbb-formie)[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

54681.3k18](/packages/solspace-craft-freeform)[verbb/comments

Add comments to your site.

13753.9k](/packages/verbb-comments)[verbb/vizy

A flexible visual editor field for Craft.

4250.4k](/packages/verbb-vizy)

PHPackages © 2026

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