Overview
Support blog post drafts, as commonly implemented in other blogging platforms.
Background
Drafts will offer certain new features over the current Anonymous / "Draft" feature we have today:
- Full post preview before publishing to a blog (feature request), including:
- The blog's design
- MathJax (discuss)
- Media embeds
- Posts federate and send out via email upon final publish
- Set post slug before publishing (feature request, discuss)
- Schedule posts / set publish date before publishing (T867, feature request)
- Work on multiple drafts without complicated publishing workflows (feature request)
Implementation
- Create a new endpoint at POST /api/collections/{alias}/drafts
- Store posts as content_type = draft
- Drafts can be edited at POST /api/collections/{alias}/drafts/{post-id}
- Drafts can be published at POST /api/collections/{alias}/drafts/{post-id}/publish
- Alternatively: add new property on existing-post endpoint to publish drafts and change published posts back to drafts
- Drafts should only be viewable by logged-in owner and team (T858: Shared drafts)
UI
Change Posts page to have tabs for Anonymous posts (current) and Drafts. Part of T810: Blog post management section. Allow easy mass management as mentioned in that task.