Hey @David_Lawrence
I guess what you mean by your question is this:
If I want to add functionality X to my setup, should I do it in the same doc or in a separate one?
There’s no definite answer to that, and best judgement applies based on many factors. Here are some of the most important ones:
-
Access control. Do you need to restrict access to different parts of your system by different users/groups? (e.g. make the Task Management piece accessible to all, but Invoicing only to higher management.) If that’s the case, you’ll have to create separate docs, because sharing a doc doesn’t work any more granular than at the doc level. Locking, hiding sections, filtering are not actual security features — any viewer can copy the doc, disable those, and see all the data.
-
Doc size. If you’re managing a lot of interconnected data that you want to keep indefinitely, you may run into doc size issues in form of slow calculations and failing Cross-doc and API access. If you anticipate that happening in your setup, it’s better to split functionality into multiple docs. Example: in our system we split the “Teachers’ dashboard” into two separate docs for managing upcoming classes and for managing teachers’ availability. The logic in the latter piece was slowing the whole doc down, making teachers wait for several minutes just to see their classes.
Just bear in mind that sometimes it may not have any positive effect because cross-doc’ing lots of content will come with its own overhead. Sync tables use a few times more space than regular tables, and that adds up quickly as you reference them more and more across your second doc.
So, it’s a lot about balance. If you have completely independent pieces of functionality in your system (e.g. Team task management, and Hiring process), it’s nothing but beneficial to split that into separate docs. Otherwise, keeping everything in a single doc is much easier than cross-doc’ing, and has lower overhead too. But you won’t have true access separation, and you’ll risk running into the limits if you anticipate your setup to grow big.