restruct / silverstripe-softscheduler
Adds a very simple way to schedule (Embargo/Expire) SiteTree items
Installs: 83
Dependents: 0
Suggesters: 1
Security: 0
Stars: 0
Watchers: 5
Forks: 0
Open Issues: 0
Type:silverstripe-vendormodule
Requires
- silverstripe/framework: ^4.3
This package is auto-updated.
Last update: 2024-12-20 12:43:47 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: - Restruct\SoftScheduler\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::class) ){ $items = $items->where( EmbargoExpirySchedulerExtension::extraWhereQuery($class) ); }
##Requirements
SilverStripe 4.0+