Preview: Cross-doc Plus (codenamed) — My opinionated take on Cross-doc

Get back onto the rollercoaster @Nad, I got this to work! (34)

The pack is about to land very very very soon! :wink: And I also changed a few things around, which should now make things even better!


Okay, big question:

Rename my pack once again, Cross-doc Plus (can’t use) → Advanced Doc Connections (too long) → Sync Tables Pro?

1 Like

Why is it too long? I actually like ADC a bit better. Sounds more mystical and enticing.

Well, one reason is this:

I agree that the ADC abbreviation sounds better than STP.

Naming is hard.


Hey all!

A little update on the project — it’s very very around the corner. As some last days changes I wanted to do some future-facing improvements and cleanups, and didn’t make it in time for the platform launch.

Now I’m working 20 hours a day to deliver another project — a pack for the Packathon whose deadline is in two days. The project I’m building for the Packathon is perhaps even more epic, and I’m nearing its completion. After I’m relaxed about that, I’ll do the final push on Sync Tables Pro — this week already!


@Paul_Danyliuk, amazing work as always - can’t wait to try it out. Also, my vote goes for ‘Sync Tables Pro’ if that hasn’t already been decided :slight_smile: .


STP was my favorite band growing up, so i vote yes on STP.


in my younger days we would put STP oil in the engines of our older cars to make them run smoother, faster, and better.

it made an old beat-up clunker purr like kitten, growl like a lion and run like a cheetah!

very like your pack, @Paul_Danyliuk :sunglasses:



Another sneak peak:

Teachers are synced from doc A
Students are synced from doc B

Classes are synced from doc C where the Classes table references the syncs of Teachers and Students.

Needless to say, all are views and not base tables.

My pack is capable of resolving and/or manually remapping references so that nothing is broken, no matter the sync path.


Another fresh improvement:

Each export view can now use a different column to specify its row-level read rules.
And with a shorthand [read:*] there’s no need for the rule column at all — everyone can read all rows

Being free to design my pack as I wish is so liberating! I can make it so much flexible!


Psssst :shushing_face:

Yet to record instructional videos because otherwise you won’t be able to set it up.

1 Like

And here are the vids.

And I still need to make the docs doc before I make an announcement, but you can try this out already.

P.S. Also the Union tables are coming a bit later. I want to somewhat redesign the query language I’m using and make it more future-proof.


hi @Paul_Danyliuk ,
Great to see the pack in the gallery, and I am going thorough the vids now.
A couple of things on my mind:

  • Is there a current or planned way to make this play nice with cross-doc actions?
  • I currently have a giant web of docs (Employees, Contracts, Payments, Designs… that sort of thing) each providing one or more tables that are cross doc’ed out into some of the others. If I want switch to Sync Tables Pro, is my only option really to re-design the whole pile? Any tricks to lessen the pain ?


Re actions, I plan to add my own actions to the pack, following the same security framework with row-level rules and secret tokens.

In my initial iterations I had STP designed to work with cross-doc actions (e.g. the Sync Path property would list row URLs ready to use with an EditRow/AddRow formula etc). But then I decided against it. The reason is: mixing two security systems — row-level based in STP and connection-based in CD — could very easily lead to security holes. Imagine a situation where you put effort into securing your view for STP so that a person only has access to limited rows — but then you give them an action to update that table and the person just rewrites all __read column values to gain access to all of it. Remember that in CD you cannot limit access more granularly than on the whole base table level.

That said, nothing prevents you from installing CD and using actions with a constructed row URL, if you’re okay with the risk.

Re switching, yeah, unfortunately that’s your only option :frowning: There’s no known way to replace tables easily.