Linking Documents in Real Time

This might have been asked before, but I was wondering if it’s possible for documents (and/or folders of documents) to be linked to other project files and updated if text is changed? I’m writing several stories set in the same fictional country and would like to have a unified “Places” folder so that I don’t have to keep copy and pasting the same text across multiple projects. I don’t know if it’s clear about what I’m trying to get at.

For further clarification:
Let’s say I make a worldbuilding Scrivener project and have a bunch of folders for places like City A or government, etc. I want to be able to add those folders to Story 1 and be able to look at them like normal. But when I make a change to City A, those changes reflect in both project files. Is that possible?

You can’t do it in real-time in the editor, but you can use the Compiler and the <$include> placeholder to put that identical information into your compiled document. See Section 10.1.5 in the Scrivener 3 manual.

Hmm - got curious about this one also. Never mind what I first thought about Aeon Timeline, as that’s a) another expense, b) effective but complex c) won’t do multiple projects update by itself.

Then I thought you are near a solution, in your description:

  • Have a Scrivener project where you collect the World-built, as you suggest
  • drag that over into the Research folder of the story you want to write in it. Bing, it’s there. A copy.
  • when the World changes, do this drag-drop again. Interesting things transpire, as i tried it:
  • if you already had a World, this new one gets auto-labelled World-1, etc…
  • so you actually then have two versions of the World, which might be quite handy to note what’s needing to be caught up in your story – or reverted, if you decide against it
  • once you’ve decided which World to use, you could trash the deprecated one. Or keep it, just so you know.

It seems this has advantages over ‘inclusion’, doesn’t it?

And because of all the issues inclusion would have, I don’t think I’d look for this to become a Scrivener feature.

Good fortune in your worlds,

The specific scenario you’re asking about (having a synced copy of another project’s documents in the binder) isn’t possible, but there are a few alternatives that can get very close and might work for your goal of storing centrally-located world-building documents in Scrivener that can be easily referenced while working on multiple stories.

  1. First, have you considered keeping all the stories together in the same project as the world-building material? This is all personal preference; some series authors keep all the books and the series reference material together in one large project, and some prefer to break it out into individual projects. The benefit of the former of course is that you nix the need for copying your global material to multiple other projects and keeping everything up to date; instead, everything is already together and you can make use of all the project tools for tagging, cross-referencing, collecting, etc. your various materials, even linking between different stories as seems relevant.

    With this setup, you’d either want to use the Draft folder for your work in progress and move completed stories to another folder in the binder or keep multiple “story” folders within the Draft and then set up compile to treat the particular story you’re working on as the full manuscript for compiling. These options, and steps for handling the latter, are described in the bullet points of this post. (The main topic under discussion is about snapshots and referencing/compiling older versions, so the rest of the post isn’t all relevant to your situation, but these instructions for keeping multiple separate drafts are exactly what you’d be doing–in your case, they’re just different stories rather than different versions.)

  2. Second, if this information is purely for reference from the story projects and is all text, you could set up a system that uses bookmarks to an external file so that you can preview the document directly in the inspector or editor but not make any changes to it. Using document bookmarks would allow you to associate your world-building item with a specific document in the story project; project bookmarks would be available anywhere.

    To do this, rather than linking directly to the item in the world-building project, which wouldn’t allow a preview, set up the reference project to use File ▸ Sync ▸ with External Folder... and sync its documents as RTF files. Then, in your other projects, create external bookmarks to these RTF files. Any time you edit a document in the world-building project, just run the sync command (you can add it as a button on the toolbar or set the project to automatically sync on close/open) and your other projects will always be able to view the latest version from the external folder.

    Note with this you are not syncing the RTF files from the one project into the others (that’s not doable and would cause a raft of problems)—rather, you’re using the folder to house a sort of mirror copy of the internal files that all the other projects can see. So nothing is imported into those projects (and likewise, you can’t edit the file from those projects, although you could use the bookmark link to open the external file in your default RTF editor and make changes that would then be synced back to the world-building project).

    With this setup, you’d need your project to have access to the external sync folder in order to view the references–if you move your project between computers, for instance, you won’t consistently be able to view the reference files unless they reside in a shared location at the same file path on both machines. Also, only text files will sync, so other material like images or PDFs would need to be manually copied into an external location in order to be linked–however, these presumably aren’t being updated (at least not frequently, and not in Scrivener), so perhaps these are candidates for importing as a copy alongside the sync option for text.

  3. A third option is to create a link to the document within the world-building project and use that to open the project directly to the information you need. In this case, you wouldn’t be viewing the document in your story project but working with the two projects side by side. This keeps a central repository for your world building pieces but, through the external document links (right-click a document in the binder and choose Copy Document Link) you can provide easy access from your other projects. The links could either be added to document or project bookmarks or used directly in the rich text like other links–in notes, for instance, or as a link applied to the relevant text in the scene.

    You could also create placeholder documents in the binder for the research material which then could make use of notes, keywords, labels, and other organizational features. For instance, you might have a “City A” document in the story project that contains a link to the City A document or folder in the world-building project and then any additional notes you’ve jotted down that are particular to this story, and you could tag it with keywords of all the characters who visit City A in this story.

    By linking directly to the world-building project, you have an easy way also to immediately edit the source text or to copy new material from the story project into the global reference. As with the second option, this setup would require your reference project to be accessible wherever you’re working on the story project.

Some of these could be combined in other ways, too–you could create a binder file to store a document bookmark to the synced external folder, allowing you to both organise it in the binder hierarchy and view the text in the editor.