Unlinking text frames in master pages?

When you make a new master page “based on” an existing one, Dorico keeps the text frames in the copy linked to the original, so any edits in them will propagate. Also, within a Master Page the frames on the L and R sides get linked in the same way. This is by design and it’s very useful. But is there a way to break this link in specific cases? Often I want to make variant Master Pages that keep the formatting of their base model but with slightly different headers. Or I want the headers on the L and R to have different content. The only way I can currently see to do this is to delete the frame and recreate it from scratch, but being able to “fork” frames while keeping their formatting would save me quite a lot of time.

2 Likes

My solution (so fr) has been the same as yours: recreate the independent frames from scratch.

As Derrek suggests, the way to break them is to recreate them.

Thought as much. In that case, consider this a humble FR :slight_smile:

1 Like

I put an upvote on this one! Very useful in case you want to include slightly different preliminary pages containing text frames with special symbols and custom formatting, which is otherwise cumbersome to recreate from scratch since text formatting is not included when copying and pasting text. (While we’re still at it, the ability to copy text with formatting would be a very welcome feature. :wink:)

2 Likes

This bit me, too. If one has more complicated page templates, recreating is a very slow and tedious process.
I don’t see the logic why frames should be linked across master pages. I think the other use case (not linked, but sharing design elements/positioning) is much more common.

1 Like

The logic is that if you change something global down the line, such as the position of page numbers, or the presence of a revision date token, you only have to change it once.

Can you explain your use case a little more fully? You should only need to recreate the frames that differ between page templates; not the frames that need to match.

I understand now. Take this one for example:

If I now create a new page template based on the “BESETZUNG”, the initial thing I would like to change in my new template would be the title (for example to “NOTATION”, to keep the same style and positioning). I would double click and change it, and then discover, that it has been changed in the original “BESETZUNG” to “NOTATION”.
Same goes with the text fields below.

So in this case, I need to recreate 3 text fields (writing down or memorizing the dimensions of each of them), then mirror them to the other side, then adjust the page number field in the top again (ok, this could be stretched over the whole page to begin with, but there are other use-cases).

Anything that’s identical I would leave anyhow as is (such as the page number tokens).
I understand how changing it only once is beneficial, maybe there should be some sort of mechanism to create a “global” text/music/graphic frame, which is present on all/selected page templates?
Maybe it should only apply to the position, not the content? Maybe there should be a prompt to ask, wether all instances of that frame should be updated, or if the link should be broken?
Anyhow, this is also a little unsatisfying, as it is.

1 Like

Perhaps there could be an option (Property) to unlink individual frames of Page Templates.

1 Like

Interestingly, I changed the page-number frame to stretch across the whole page, and THAT didn’t update on other page templates. So it appears only the content to be linked, which again I think is more likely to be unlinked than linked.

1 Like

I too have been bitten by this “feature.” What I would like is the ability to COPY a template, rename it, then make changes that don’t affect the original template – to me, that is counter-intuitive. If I wanted those changes on the original template, I would have made them there. The whole point is to have a copy with a few changes, and not affect the original (which might be fine for some layouts).

It is very time-consuming to re-create those pages exactly, with just a few changes. It would be FAR easier to not have the pages linked to other templates.

1 Like

This bit me really badly today too. I just lost a bunch of hours of work when I’m already late on a deadline. I would never have expected that the contents of text frames would be linked like this. It’s completely opaque to the user. My use case is that I have blocks of text that I want to appear above the music frame on only some pages, and those pages also happen to have flow headings on them, and I know from other frustrating experiences that introducing page overrides on the same pages as flow headings will result in a layout apocalypse, so I make a separate page template for each page where I want this to occur.

I think a better solution is for flow headings to not become unhinged due to overrides, but that doesn’t seem to be the world we live in. In any case, it should be—at minimum—clear to the user that changing the contents of one text frame changes the contents of other text frames. Even better would be to allow these frames to be unlinked.

4 Likes

I think the solution is to start from scratch on custom pages! I 've been doing this (almost flawlessly) on an entire opera comique (467 pages, 20+ different page templates, some different flow headings templates, NO overrides!!!)
But you’re right some subtleties are not easily accessible to the user as things stand now.

2 Likes

Starting from scratch is also somewhat frustrating since there are no guides, snapping, or copy-pasting frames. My templates always have the same basic structure of a few paragraphs of text at the top and the score below.

1 Like

That’s true. I use three anchors and some values in the properties panel to “copy” those text frames… There should be some better tools in due time :crossed_fingers::crossed_fingers::crossed_fingers:

There really needs to be a way to duplicate page templates and then unlink any frames within the copies. Perhaps in a future version.

5 Likes

I was fiddling around with my own default page templates a few months back. If you export your template sets, they export as doricolib files, which you can open if you want to peek under the hood. The following are my own observations about how the templates are linked, but it’s quite possible this info isn’t 100% correct.

  1. When you create a text frame it is assigned a frameChainDefinitionID number. The content, paragraph style, any overrides like fontStyle, etc. are all contained under that frameChainDefinitionID entry.

  2. There are also Page Definition entries such as firstPageDefinition (left and right), normalPageDefinition, flowHeadingDefinition, and finally extraPageDefinitions. It’s this last section where our additional custom page templates are stored.

  3. While it’s not clear within Dorico how these text frames are linked, you can quickly tell within the doricolib file with a simple search. Just search for frameChainDefinitionID followed by the number of the entry you are looking for and everywhere that text is being used will come up. These will all be linked so if you edit the text in one location, it will update the text in all the pages where that text is used as they all share the same frameChainDefinitionID. I’ve used search here to troubleshoot some linking issues before.

  4. While it is possible to simply copy and paste, then change ID numbers, etc. in the doricolib file, I unfortunately found it wasn’t much faster than simply creating all new frames in Dorico. (Plus, no chance of getting the syntax wrong and Dorico not opening.) If one needed quite a few very similar templates, perhaps this could be used to duplicate unlinked frames or page templates.

  5. It would be great to have some sort of user feedback to show which frames are linked and to which other frames. This info is clearly known in the doricolib file, there’s just no way for the user to know it inside Dorico. If that’s too complicated to easily implement, just being able to right-click and unlink a frame (basically assign it a new frameChainDefinitionID) would be very beneficial.

Again, some of this info could be wrong as it’s just my own observations, but anyone can open up their exported page template set and look around to see how they are configured.

EDIT: I had forgotten when I initially posted, but I’ve also done the opposite as well and have manually linked a bunch of items across a few templates. I have a bunch of V.S. templates at various positions, so I linked all the V.S. text by editing the frameChainDefinitionIDs. That way if I ever want to change size or font for the V.S., all the templates will update at once.

1 Like