You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently have no way to programmatically update the content of google documents, if ever we want to migrate an archie component to have a different shape.
Proposed solution
Create some sort of migration tooling that:
Takes a migration specification
Iterates through all published gdocs
Operates on them (probably as raw blocks)
Converts them back to archie
Replaces the google document content with the new archie
If we operate on raw blocks to update the shape of a component, we'll potentially have to create a "version 1 backup" of the TS interface
e.g.
import{RawBlockImage}from"@ourworldindata/types"typeOldRawBlockImage={// the values this block used to have, before the migration}functionmigrateImage(block: OldRawBlockImage): RawBlockImage{// stuff}
The text was updated successfully, but these errors were encountered:
We chatted about three different ways of tackling this:
extending our full ArchieML pipeline all the way back to GDrive AST and patch the document so as not to delete :skip sections
we could have explicit schema versions as part of the document metadata and have humans manually upgrade those (according to a guide). There could also be an admin UI that makes this part easier.
we could write migrations that operate on Gdrive AST -> Gdrive AST functions that just delete/add/modify the properties that change
Core problem
We currently have no way to programmatically update the content of google documents, if ever we want to migrate an archie component to have a different shape.
Proposed solution
Create some sort of migration tooling that:
Possible usecases
filename
and renamingsmallFilename
->filename
)Technical considerations
If we operate on raw blocks to update the shape of a component, we'll potentially have to create a "version 1 backup" of the TS interface
e.g.
The text was updated successfully, but these errors were encountered: