I’ve grouped together the following features, as they’re kind of linked together:
We know well how ie. Contentful and Prismic tackle these needs, and there are things in both approaches that we don’t like. Prismic uses the concept of “Releases” to group a set of changes and schedule them for publishing, but it’s quite difficult to have a clear sense of what’s going on and how each release will overwrite/conflict with each other. Also, Prismic does not offer any kind of validation rules on records, while we do, and while that’s a huge plus for us, it also makes things harder for us as we want to preserve to keep data coherence/integrity. Furthermore, both in Contentful and Prismic, if you delete a record, it will be immediately deleted in production, which is something.. well, unexpected and potentially dangerous.
We took some extra time to discover the needs of our users and now we think we’re ready to implement our version, which will allow all the things mentioned above. Users will be able to put each record in a different status:
In staging environment you’ll be able to preview these changes, and during the publishing to production operation, editors will be able to review the set of changes and decide which will be finalized in production.