Skip to content

Add Scheduler module for scheduled content publishing#5186

Open
Copilot wants to merge 5 commits intomainfrom
copilot/add-scheduler-module-quickstart
Open

Add Scheduler module for scheduled content publishing#5186
Copilot wants to merge 5 commits intomainfrom
copilot/add-scheduler-module-quickstart

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 12, 2026

Description

Adds drupal/scheduler 2.1.0 to provide scheduled content publication and unpublication functionality. Scheduler is a well-established contrib module that enables time-based content workflows through Drupal's permission system.

Resolves #5146 prerequisite - enables deprecation of field_az_expiration_date on az_news content type.

Release notes

Related issues

How to test

  1. Verify composer.json includes "drupal/scheduler": "2.2.2" in alphabetical order
  2. Run composer validate to confirm valid syntax
  3. Install with composer install (or verify in CI)
  4. Enable the module: drush en scheduler
  5. Edit a content type to enable scheduling fields
  6. Verify publish/unpublish date fields appear on node forms

Types of changes

Arizona Quickstart (install profile, custom modules, custom theme)

  • Patch release changes
    • Bug fix
    • Accessibility, performance, or security improvement
    • Critical institutional link or brand change
    • Adding experimental module
    • Update experimental module
  • Minor release changes
    • New feature
    • Breaking or visual change to existing behavior
    • Upgrade experimental module to stable
    • Enable existing module by default or database update
    • Non-critical brand change
    • New internal API or API improvement with backwards compatibility
    • Risky or disruptive cleanup to comply with coding standards
    • High-risk or disruptive change (requires upgrade path, risks regression, etc.)
  • Other or unknown
    • Other or unknown

Drupal core

  • Patch release changes
    • Security update
    • Patch level release (non-security bug-fix release)
    • Patch removal that's no longer necessary
  • Minor release changes
    • Major or minor level update
  • Other or unknown
    • Other or unknown

Drupal contrib projects

  • Patch release changes
    • Security update
    • Patch or minor level update
    • Add new module
    • Patch removal that's no longer necessary
  • Minor release changes
    • Major level update
  • Other or unknown
    • Other or unknown

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • My change requires release notes.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • packages.drupal.org
    • Triggering command: /usr/bin/curl curl -s REDACTED (dns block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/PoYHgl /usr/bin/composer show drupal/scheduler --all (dns block)
  • www.drupal.org
    • Triggering command: /usr/bin/curl curl -s REDACTED (dns block)
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Add Scheduler module to Quickstart for publishing and expiring (unpublishing) content</issue_title>
<issue_description>## Motivation

Quickstart does not currently provide a standard way to schedule content publication or unpublication. Users that need this functionality must rely on manual publishing, custom solutions, or site-specific module installs, which leads to inconsistent behavior and added maintenance.

Scheduled publishing is a common need across campus sites, and the lack of a supported solution results in duplicated effort.

Proposed Resolution

Add the Drupal contrib module Scheduler to Quickstart as an optional, supported feature. Scheduler allows content to be published and unpublished automatically at specified dates and times, while remaining permission-based and configurable per content type.

Describe alternatives you've considered

  • Manual publishing at a specific time
  • Custom rules/bespoke logic
  • Installing Scheduler on individual sites

These approaches are less reliable and increase maintenance and support overhead compared to a shared core solution.

Roles and Permissions considerations

  • Anonymous user: No impact
  • Authenticated user: Not applicable
  • Content editor: Can schedule publish/unpublish dates for time-sensitive content
  • Content administrator: Can schedule publish/unpublish dates for time-sensitive content, and manages permissions if also User administrator
  • Administrator: Full control over configuration, access and implementation

Additional context / Use case example

  • This issue is a prerequisite for deprecating the existing field_az_expiration_date on the az_news content type.
  • Scheduler is a long-standing, well-maintained contrib module that provides scheduled publishing and unpublishing functionality not available in Drupal core, and is commonly used where timed content release is required.
  • Including Scheduler in Quickstart would reduce the need for custom solutions and one-off requests, aligning with Quickstart’s goal of providing shared, reusable functionality.
  • The module can remain optional and permission-based, minimizing risk while enabling a commonly requested capability.

</issue_description>

<agent_instructions>Always pin to a specific version</agent_instructions>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: trackleft <1023167+trackleft@users.noreply.github.com>
@trackleft
Copy link
Copy Markdown
Member

Why not version 2.2.2?

Copilot AI changed the title [WIP] Add Scheduler module to Quickstart for publishing content Add Scheduler module for scheduled content publishing Jan 12, 2026
Copilot AI requested a review from trackleft January 12, 2026 22:27
composer.json Outdated
"drupal/redirect": "1.12.0",
"drupal/role_delegation": "1.4.0",
"drupal/schema_metatag": "3.0.3",
"drupal/scheduler": "2.1.0",
Copy link
Copy Markdown
Member

@trackleft trackleft Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot Why not this more up to date version? 2.2.2

@trackleft trackleft marked this pull request as ready for review April 3, 2026 17:54
@trackleft trackleft requested review from a team as code owners April 3, 2026 17:54
@joeparsons joeparsons added enhancement New feature or request dependencies Pull requests that update a dependency file Drupal Waiting on a fix from the Drupal community patch release Issues to be included in the next patch release and removed patch release Issues to be included in the next patch release labels Apr 3, 2026
"drupal/redirect": "1.12.0",
"drupal/role_delegation": "1.6.0",
"drupal/schema_metatag": "3.0.4",
"drupal/scheduler": "2.2.2",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not in alphabetical order. This should be before schema_metatag.

@trackleft
Copy link
Copy Markdown
Member

trackleft commented Apr 3, 2026

These issues were discussed in Arizona Digital today (April 3, 2026).

Before proceeding with adding the Scheduler module and deprecating the non-functional field_az_expiration_date, we need to investigate how Drupal CMS is handling scheduled publishing with Scheduler and ECA (Event-Condition-Action).

Additionally, investigate how content moderation is handled and how we could configure sites using content moderation or not.

Relevant Resources:

This investigation will help ensure we align with Drupal CMS best practices and avoid implementing a solution that may need to be revised later.

@az-digital-bot
Copy link
Copy Markdown
Contributor

Tugboat has finished building the preview for this pull request!

Link:

Dashboard:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file Drupal Waiting on a fix from the Drupal community enhancement New feature or request

Projects

None yet

5 participants