micschk / silverstripe-softscheduler
Adds a very simple way to schedule (Embargo/Expire) SiteTree items
Installs: 136
Dependents: 2
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 0
Type:silverstripe-module
Requires
- silverstripe/cms: ~3.0
- silverstripe/framework: ~3.0
This package is auto-updated.
Last update: 2024-10-26 17:24:12 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+