mozilla / bedrock

Making mozilla.org awesome, one pebble at a time
https://www.mozilla.org
Mozilla Public License 2.0
1.18k stars 919 forks source link

Support any _permitted_ person to preview content in the CMS before go-live #15181

Closed stevejalim closed 1 month ago

stevejalim commented 1 month ago

With the change to a CMS-backed approach to some parts of Bedrock, we're facing a change in our workflow around content that is embargoed but still needs stakeholder approval before we can make it public.

Previously, we used to use a private demo server to preview hard-coded content from on a private/internal-only fork of bedrock for the smallest amout of time possible.

Now, we now have a possibility of content existing only in pre-published ("draft") form in the production CMS, but needing review from stakeholders before we make it available on production. Making that pre-publishing (and potentially incomplete/not-ready-for-public-consumption) content available on a demo server is not straightfoward, and would add a lot of complexity.

Equally, we are reluctant to spin up a large number of User accounts in our prod CMS for the various stakeholders who want to see a draft page, nor are they likely to want to tackle signing in and navigating a CMS when the purpose is to review the content.

So, we need a different approach. An ideal is to support previews of draft pages without authentication, but in a way that is sufficiently private/secure. Some kind of token-based sharing URL for draft content could be the solution here, particularly if the URLs or tokens can be invalidated after time or use.

stevejalim commented 1 month ago

Two projects suggested by @gasman that might fit the bill are

so I'll start there

janbrasna commented 1 month ago

Few more use cases are also mentioned in the analogous #14803

stevejalim commented 1 month ago

https://github.com/torchbox/wagtaildraftsharing is also worth a look