A Sane Publishing Workflow

Every blog post in Total CMS has a draft toggle. Draft posts won't appear in your listing or be reachable at their URL. Flip it off when you're ready to publish.

For scheduled publishing, set a future date field and filter by date in your listing template:

{% verbatim %}{% set posts = cms.collection.objects('blog')
    | filter(p => not p.draft and p.date <= 'now' | date('c'))
    | sortCollectionByString('date:desc') %}{% endverbatim %}

That's it — no plugins needed.