news-catalyst / next-tinynewsdemo

Frontend for Tiny News Collective organizations
https://next-tinynewsdemo.vercel.app
1 stars 0 forks source link

How to sync new organizations between staging and production? #1225

Closed jacqui closed 2 years ago

jacqui commented 2 years ago

Right now the bootstrap process works in a single environment (as defined in your environment). As I've been writing and reviewing the documentation on how to add an org, something has occurred to me: the org has to be added to both staging and production.

This wasn't an issue for us in the past as we had a single environment. Now that we have both staging and production, I'm wondering how we want this information to be sync'd between the two - if at all.

To recap and to be clear: the staging Hasura environment is used to build sites in staging, which means using subdomains on the tinynewsco.dev domain. The production Hasura environment is used to build the live sites on custom domains (for the most part) and is also used with the Google Docs sidebar to publish content as articles or static pages. I guess we could point the sidebar to the staging environment for each org - I'm not sure if we've done that before though.

How do we want this process to work?

I assume we want to add the org to staging first, and then ensure the site is setup as desired. Will that include setting up authors, sections, tags, settings like font and text color? What about articles? In other words, how much data would have to migrate from staging to production?

I figure the options are:

I have a feeling the first option is our best bet, but I'd like to hear from the team before I do anything further. I'm a little wary about pushing data from staging to production but properly reviewing the script before using it should cover our bases!

jacqui commented 2 years ago

Aha nevermind! We should bootstrap the org in production, not in staging. Going live means setting up the org on a custom domain. "Staging" the org is publishing on a subdomain off tinynewsco.org.