Library Manager: Unintentional overwriting of items with identical internal entityIDs

I am currently using Dorico 6.2.10.6140. (The reason I am not on the absolute latest version is that I prefer to be cautious about software updates, so please bear with me.)

I’ve noticed an unexpected behavior where items are unintentionally overwritten when importing them from another Dorico project using the Library Manager.

To illustrate, let’s say we want to import contents from Project B into Project A. Here are two test cases:

Case 1: Duplicating an existing Font Style

  1. Create a fresh project, Project A. Duplicate the Default Text Font font style, rename it to Font Style A, and set its style to Bold.

  2. Create another fresh project, Project B. Duplicate the Default Text Font font style, rename it to Font Style B, and set its style to Italic.

  3. Open the Library Manager in Project A and select Project B for comparison.

  4. When displaying the differences, Font Style A is compared directly against Font Style B. The only options available are to either overwrite or exclude it. There is no way to add Font Style B as a new, separate style.

Case 2: Creating a new Font Style

  1. In a fresh project, Project A, create a new custom font style named User Font Style A and set its style to Bold.

  2. In another fresh project, Project B, create a new custom font style named User Font Style B and set its style to Italic.

  3. Open the Library Manager in Project A and compare it with Project B.

  4. Just like in Case 1, User Font Style A is compared directly against User Font Style B, resulting in the same issue.

The Cause of the Issue

The main problem is that Font Style A and Font Style B (or User Font Style A and User Font Style B) might be used for completely different purposes in their respective projects, but they are treated as the same entity.

Upon exporting the library files and inspecting them with a text editor, I found that the entityID values are identical:

  • In Case 1, both styles share the same ID: "font.user.DefaultTextFont.1"

  • In Case 2, both styles share the same ID: "font.user.1"

Because these are the first custom font styles duplicated or created in their respective fresh projects, Dorico automatically assigns them the exact same sequential entityID.

I have confirmed that this same issue occurs with other library items, including Paragraph Styles, Character Styles, and Lines.

Questions & Suggestions

To reliably avoid overwriting fonts or symbols meant for different purposes—and conversely, to correctly match and import items meant for the same purpose—wouldn’t it be more appropriate for the Library Manager to compare library items by their name rather than their internal entityID?

Alternatively, are there any official guidelines or best practices for using Dorico to avoid these kinds of ID conflicts when managing libraries across different projects?

I would love to hear your thoughts or any advice on this.

Thank you in advance!

As a side note, I’d like to share how Finale handles library imports for comparison, as I think it had a very robust approach to this.

In Finale, when importing a library, any entities—such as Expressions, Articulations, or Lines—that had even the slightest differences in their settings were always imported as separate, distinct items.

If I wanted to replace an existing entity, I would delete it, which prompted an option to either:

  1. Completely delete it from the score, or

  2. Replace it with another existing entity.

In contrast, Dorico does not allow me to delete library items or styles that are currently in use within my project, nor can I replace them by specifying another entity.

Personally, I would love to see a workflow similar to Finale’s in Dorico. It would make library management much more flexible and prevent accidental overwrites.