Copy section between docs

This is an unfortunate limitation of Coda, but I suspect it is temporary. The issues and observations with building a seamless (Coda-native) management system …

  • Ideally, makers should be able to build a library of boiler-plate content fragments in Coda, even small snippets that can be added to other Coda documents arbitrarily. Indeed, a drag and drop of snippets onto document registry in a table that updates the drop targets. If Packs were open, I’d build something like this tonight. :wink:
  • Coda currently provides no event handlers to make a drag-and-drop experience possible, although, something clever with buttons might suffice if other issues are overcome.
  • Coda does not currently support an HTTP POST action making this possible (i.e., posting the section fragment to a NodeJS service that updates the target document/section).
  • The Coda API should support GET/POST of section content as it does table/row/field content. This would also allow in-place transformations and insertions.

This is actually possible now (and automatically) and all without using the new doc importer. It requires some abstraction and content management infrastructure external to Coda. You can even use rich-text formatting or Markdown if you pre-process the content with a Markdown transformation.

There are huge advantages to this approach and I’ve employed it with two clients thus far. One even uses a few integration services to extract and use content from other systems.

Here’s how…

  1. Build all your section/snippet texts in Google Docs (discrete naming convention is required - these are “objects”)
  2. Establish a snippet registry in a Coda doc; this will contain a list of all of the snippets under management in Google Drive (or a sheet).
  3. Establish section and even paragraph or sentence-level formula placeholders in a Coda document template that pull from the registry.
  4. Update the snippet registry from GDrive to Coda using the API and Google Apps Script.
  5. Updates to the registry from Google should be performed using the Google Apps Script event handlers so changes are near-real-time.
  6. Create a streamlined process for Makers to “assign” the value of any snippet to any document placeholders; now, your Coda templates and even new Coda documents can render snippets dynamically and fully formatted.

CAUTION - there are numerous formatting, font management, and wrapping issues that abound with an approach like this but it works really well if you leverage the automation possibilities and define a clear process and formatting guidelines for your team.