I can import keywords from Project A into Project B by dragging and dropping them. Drag-and-drop even imports their color. (Nice job, Keith!)
But I haven’t figured out how to import a Label or Status from one project to another. Dragging and dropping doesn’t work.
Is there an easy way to do this WITHOUT creating a template document? I keep making changes to each project that could benefit the other, but don’t want to merge them.
There’s no way of doing this at the moment, I’m afraid, no. It’s purely a technical problem - a document in a project knows nothing of the label colour or name, it is just assigned a number. Scrivener looks up the number and displays the name and colour associated with that number. That way, when you edit a label, it is still associated with the number and so documents with that label number will be updated to show the new name or colour. But the same numbers may be reused in different projects for different labels. So, when you take a document into another project, its label number may match a completely different label in that project - hence Scrivener resets it to “No Label” to be on the safe side. Whilst Scrivener could try to look up labels and status options in the project to see if there is one that matches and then change it accordingly, colour matching is notoriously fragile - that is, the colour may not be recognised as being identical and therefore its comparison may fail. What might be possible is to allow the dragging of labels and status items between projects, and then just match the labels and suchlike by name only, ignoring colour - but even this is difficult because the project into which a document is dragged has no knowledge about the names of the labels and status options in the other project.
In other words, it’s more complicated from a technical perspective than it might seem; it is definitely something I’d like to solve in the future, though, as a number of users want this.
Thanks for the detailed explanation – that is very helpful in figuring out how I can do what I want to.
I think I shall merge the projects – into the one whose labels I currently like better – do the label-intensive part of the planning process (which will involve creating and bunch of new labels as I think of categories), then duplicate the combined project and delete one section from each copy.
BTW, FrameMaker has some nifty options for importing styles, page layouts, colors, and various metadata that you might find helpful in designing Scrivener’s next thrilling installment. One of these days I’ll post some screen shots.
Actually, I did a bit of work on this on Friday, having had an idea. The latest beta available in the Beta Testing area of the forum now maintains labels and status when documents are dragged between projects - if the project doesn’t have a matching label or status, one is created in the project settings. It goes on name alone rather than colour - that is, if the project has a label of the same name but a different colour, that will be used, but if no label of the name exists then a label with the correct name and colour will be created - but it should work well (although needs more testing). I still need to add the ability to drag labels and status items from the Meta-Data Settings panel in one project to the Mata-Data Settings panel in another project, but that shouldn’t be too hard. So, in short, having come to this technical problem afresh after our exchange, I suddenly saw the solution.
I just imported 15 labels by creating a blank document for each in the source project, then dragging them into the destination project and deleting them.
Drag-and-drop between Project Meta-Data windows will be an ever bigger time-saver.
BTW it would be useful to get on drag if a label exists in both projects, and have the option to give the source or destination colors precedence. One of the main reasons I wanted to import labels is to save the hassle of setting up a bunch of color chips that work together.
If you have the same label in both projects, when you drag from the second project to the first, rather than duplicating the label Scrivener sensibly simply uses the version in the first project. However, if the labels use different colors, the user might prefer to keep the color from the second project rather than the one from the first, and currently there’s no option for this. That, I think, was the suggestion–that it would be nice, when Scrivener detects a duplicate label, if the user could select which color to maintain to better preserve the palette.
Oops! I MEANT to type that it would be useful to get a WARNING on drag. Thanks MM for clarifying.
Resolving duplicate label names by first deleting the version in the target project is only a good idea if you aren’t already USING the label. If you ARE using the label, a way to override the target project’s precedence for label colors (dialog box? option-dragging?) would be nifty.
One note, because the same color palette tool is used for colors everywhere, you can double-click the label color from the meta-data pane in the project whose color you want to keep, then switch to the other project, open the meta-data there and select the label, then click in the color palette to apply the color from the first project.
I generally want to add BATCHES of labels (for which I’ve adjusted the colors to all work together), so I’m hoping Keith will give us a drag-and-replace-colors option soon as well.
I just found a bug in the new drag-and-drop label import functionality.
If I drag documents from Project 1 (with labels) to new, blank Project 2, every document with a label generates a separate instance of that label in Project 2.
Thus if I have the following documents and labels in Project 1:
preface (label A)
chapter 1 (label A)
chapter 2 (label A)
chapter 3 (label B)
chapter 4 (label B)
chapter 5 (label A)
and I drag-and-drop them into Project 2 and then check Project > Meta-Data Settings… > Labels, I will find something like this:
label A
label A
label A
label B
label B
label A
However, if labels A and B already exist in Project 2, I don’t get the duplication.
BTW label import is very useful functionality and I have used it a bunch already.
That would be super-helpful! Let me suggest that dragging imports labels such that any duplicates between source and target project labels default to the target’s setting… whereas option-dragging imports the source’s settings for duplicates.