This module allows to schedule publishing of your pieces (which includes pages) to specific dates.
To install the module, use the command line to run this command in an Apostrophe project's root directory:
npm install @apostrophecms/scheduled-publishing
Configure the Scheduled Publishing module in the app.js
file:
require('apostrophe')({
shortName: 'my-project',
modules: {
'@apostrophecms/scheduled-publishing': {}
}
});
Editors can now schedule publication and un-publication times for documents. Note that un-publishing a document means it is no longer available except in draft form. Since the home page must always be available, the home page cannot be scheduled for un-publishing.
For publiction and un-publication to actually occur, you'll need to run the appropriate command line task on a periodic basis, as described below.
To actually publish or unpublish the documents at scheduled times, you must execute the appropriate command line task:
node app @apostrophecms/scheduled-publishing:update
Typically you will want to schedule this to run periodically using a standard Linux scheduling tool like cron
. For instance, here is a crontab entry to run the task once per hour:
# At the top of every hour
0 * * * * (cd /path/to/your/apostrophe/project && node app @apostrophecms/scheduled-publishing:update)
You can schedule the task to run more frequently if you plan to schedule publication times in the middle of the hour. Note that the task is safe to run as frequently as you wish, as it won't do anything if no documents are scheduled to be published yet.
For more information, see how to use cron on Linux.
If you are using our
stagecoach
utility for deployment, don't forget/current
at the end of the path.