TL;DR
I want to make multiple views of a doc, where only certain pages are visible to each user type depending on the user, but the whole doc is still loaded in the background so it’s live and responsive.
This would make it easier for users to understand without having multiple pages of a complex doc to click through, and it would also remove the need to use cross-doc (which is slow and complex) in many situations.
I’m currently involved in a project to centralize a massive cross doc application into a single location.
There are a handful of problems with cross doc:
- It has high latency (info can be up to 1hr old with automatic updates)
- It sometimes requires manual table updates
- It’s slow to pull in data
- It requires lots of extra work to maintain (both OUT and IN syncing tables, and all the logic that needs to go into that)
It turns out that when I reach for cross doc I am reaching for it for the wrong reason. The time to use cross doc is when you need to protect information. The time not to use cross doc is when you want to “modularize” your coda docs.
Here’s what I mean by that:
If you have sensitive payment information in a doc, you should keep that in its own permissioned doc, and then pull in additional information (e.g. hours worked) into that doc to run calculations with the sensitive payment data. This way you can get your information without others having access to it.
However, if you just want your users to use a “Time Tracking” doc to keep track of their hours worked, and a “Project Management” doc to keep track of the projects that need to be worked on, you should not use cross doc. Put it all into one doc.
The reasons to put it into one doc is that:
- Everything will run much faster and be simpler to develop
- If you ever have to merge the two together it will be a major chore (you’ll have multiple columns to merge with colliding names, formulas will break, rows will be missing, etc.), whereas splitting them up is fairly easy.
The reason I was tempted to use cross doc was because I thought it would be easier for my users if they could just click on an icon in their coda landing page called “Time Tracking” and it would take them to a doc with nothing but Time Tracking related information. But this doesn’t require a separate doc. It can all be done in the same doc with good Welcome pages. But it could be better.
I don’t want to make cross docs, instead I want to make multiple views of a doc, where only certain pages are visible to each user type depending on the user, but the whole doc is still loaded in the background so it’s live and responsive.
This would make it easier for users to understand without having multiple pages of a complex doc to click through, and it would also remove the need to use cross-doc (which is slow and complex) in many situations.