micschk/silverstripe-softscheduler

There is no license information available for the latest version (1.0) of this package.

Adds a very simple way to schedule (Embargo/Expire) SiteTree items

Installs: 137

Dependents: 2

Suggesters: 0

Security: 0

Stars: 4

Watchers: 2

Forks: 1

Open Issues: 0

Type:silverstripe-module

1.0 2016-05-18 11:30 UTC

This package is auto-updated.

Last update: 2024-11-26 17:31:41 UTC


README

#SoftScheduler ##non-cron Embargo & Expiry Module

This module allows you to specify when a page should become available (embargo) and when it should expire. It's called 'softscheduler' because it doesn't take care of publishing or unpublishing pages. Instead it checks if a published page should be available according to its set embargo/expire dates.

  • Someone that is logged in as an admin will always be able to see the page.
  • Setting both values as blank will mean the page is always visible.
  • If the embargo time and/or date are blank, the page will be displayed until it expires.
  • If the expiry time and/or date are blank, the page will be displayed once it embargos, and wont expire.

Screenshots

Schedule pages to become available/expire on certain dates & times

Installation

composer require micschk/silverstripe-softscheduler dev-master

Apply as Extension to pagetypes requiring scheduling (eg. NewsItems)

---
name: 'schedulerextension'
---
NewsGridPage:
  extensions:
    - 'EmbargoExpirySchedulerExtension'

##Usage Overview

This doesn't work with staticpublisher and requires extra check to work well with partialcaching

Check for use in partialcaching: $publishedStatus

Convenience function is supplied to add extra 'where' for DB queries (TODO: apply via augmentSQL, see for example)

// workaround for Embargo/Expiry (augmentSQL for embargo/expiry is not working yet);
if( $class::has_extension("EmbargoExpirySchedulerExtension") ){
	$items = $items->where( EmbargoExpirySchedulerExtension::extraWhereQuery($class) );
}

##Requirements

SilverStripe 3.0+