Cross sync image and grid workarounds

We desperately need to sync images and grids using cross-doc. Has anyone found a workaround to this? :folded_hands:

I have not needed to do this, so this is just a suggestion that I have not tested.

When an image is loaded into Coda it is saved on their servers.
You can then extract the URL of where it is stored with a formula.
Then you can share that URL in your crossdoc tables.
And another formula can be used to retrieve and show the image via that URL.

So here is a test table with an original image, its extracted URL, and a copy using that URL:

As you can see below, the column type of Picture is IMAGE, so users can upload their images easily:

This is the formula that extracts the URL of the location on the Coda server where the image is held:

And here is the formula that renders that URL back into an image:

So you only need to share the text version of the URL in CrossDoc for this to work.

Hope this helps,
:lobster:Max

Oops, I just noticed a small improvement that you might want to use for extracting the image URL.

The image column can, in theory, hold SEVERAL images per cell.
In that case the cell contains a LIST of images.

So you should add a .first() call to the formula so it works on the first image only.

Or add a .foreach(...) call if you want to generate a list of URLS when users upload several images.

Sorry,
:lobster:Max

Re images, I’m surprised they don’t just sync as is. Max is right about extracting those URLs.

Re grids, do you mean simple tables in canvas columns, or something else? If that’s the case, my instinct would be trying to work around by _Merge().ToText()'ing into a JSON object of a canvas, syncing it over as text, and then restoring on the receiving side with ParseJson('{"o":' + input + '}')._Deref_Object("o"). Havent tested if it would work with grids (because those might not be included in the canvas object but rather referenced like tables and views) but that’s where I’d dig.

Thank you, we will give that a go, much appreciated :folded_hands: :slightly_smiling_face:

Yes grids being a normal table display approach, but not tables in the sense of columns. Attached an example of what we’re trying to sync across doc’s using Cross-Doc, however can’t get it to work.

Just tried what I hoped would work — it didn’t. :frowning:

Simple tables are not included in the canvas (slate) object. They are referenced just like views. In other words, there’s no readily available data that we could sync this way.

Perhaps this can be solved another way — not as a simple grid but as a separately synced table of answers? Alternatively, this could be rendered as an e.g. image (SVG) and sent over as data URI.