Project replace and collections


I’m about to change the name of a major character in a large project, using project replace. The name appears frequently in the titles of chapters and sections and various chunks of text, and those sections and chunks are also included in several collections.

Will those sections and chunks still show up in those collections even though their names have been changed? And what about any saved search collections that use that name? Will they have to be re-entered using the new name?

And yes, I will back up the entire project before doing this.

Documents only exist once in the project, and are just gathered together in various collections; you could think of the collection as a list of aliases pointing to the binder documents. If you make a change to document A, you’ll see those changes whether you load A straight from the binder or from a collection: it’s the same document.

Now, if your collection is a dynamic search that’s looking for a term no longer in the document, the document won’t appear in the collection when you next run it. So if you have a collection that’s searching the word “Shark” in document text but you make a project-wide change to replace “Shark” with “Cute Kitty”, your Shark collection is going to be empty next time you load it. You’d need to create a new saved search for “Cute Kitty” to rebuild the collection.

Thanks, MM.

I knew there is only one copy of the document but I worried that a change in the TITlE of a document might it impossible for a (non-dynamic) collection to find and recognize it as a collection member. I guess it identifies it by its hidden numerical name, not by the visible name.

Right, the documents have a unique ID that Scrivener uses to identify them internally, so changing the title wouldn’t affect that. It’s just dynamic collections where you’ve changed the term the collection is searching for that would need adjustment.

Got it. Thanks again.

A further note about global replacing, and a suggestion for a future refinement.

Project Replace does not give the option to replace text in the Meta-Data Label field or text in any Custom Meta-data fields. I use the Label field to indicate the POV of the scene, and as I was changing the name of one character the labels for his scenes had to be changed manually. Not a big deal, but it would be nice if that could be done with the Project Replace command. Likewise text in Custom Meta-Data fields, which in my project often contains character names. (Snapshot texts do not get changed either, but that makes sense to me as they should remain accurate history of the project.)

Otherwise, the replacement was smooth and swift.

Thanks, we do have it on the list to add the option for including custom meta-data (and even snapshots) in the project replace. Glad you were able to get it all cleaned up neatly.