Working with Cross Doc is Difficult

Issues I’ve noticed with Cross Doc:

  • Figuring out the url of the table for actions like AddRow is always unintuitive (hint: MyTable.Url())
  • 10,000 rows is not nearly enough
  • It’s very slow
  • Setting up bidirectional cross-doc is not worth the amount of work involved, yet bi-direction is needed all the time
  • Setting up table permissions is unintuitive
  • Error messages aren’t very useful
  • After adding a column to source table it’s inconsistent to get it to show up in the destination table (often have to delete the table and resync entirely)
  • Times often get messed up due to timezone differences between docs
  • You have to figure out the column id to use AddRow in a way that will survive column name changes. Make for unreadable formulas, plus tables with tons of columns are super annoying to AddRow across docs with.


1 Like

Never you have to delete the table — the added columns will appear in Row objects eventually (not always immediately but after some 5-10 minutes after a resync or two). You then can just manually add a column and write a formula Row.MyAddedColumn on it.

Other points — yes though. Although personally I never felt much need for bidirectional changes. Whenever I wanted the data to flow in another direction I would come up with different solutions than crossdoc actions.


Although this has been discussed before, it won’t hurt to ask the Codans once more for some improved security solutions. I think cross doc is mostly used to separate data from the original doc because data can’t be sufficiently protected in the original doc (against unauthorized filter changes, editing, etc.).
We need some more user types (between view only and editor) and we need some additional sharing options (page level or group of pages).


@joost_mineur that is a good point. A lot of use cases I see for cross doc is

  • seperating sensitive to make data more secure
  • seperating/archiving old data to make things faster

One option is to make cross doc work better for these use cases, or to see if there are other solutions for that needs.


Hey @Connor_McCormick1 you can use Column IDs to make them antifragile against name changes. This introduces another problem - coming back to your formula months later and not knowing what column the ID references… so you kind of trade problems (comments in formulas would fix this).

1 Like

Another way I use CrossDoc is to move/perform expensive formulas in one Doc and then bring in the values to my main doc to increase performance.