Dangerous command

The ‘Documents/Merge’ command is too dangerous and should not be executed without any confirmation. That command performs a non-undoable operation, which may be hard to undo manually. What is worst, it destroys the user data associated with the text being merged. Notes, keywords, metatags, everything.

Quick solution: Pop-up confirmation window “This operation will destroy the associated data. Do you wish to continue?”.

Good solution: Make the operation undoable or at least save the associated data somewhere.

Best solution: A combination of the above solutions.

Given your platform tag, I’m guessing you’re using the stable version of Windows. I suspect that you’ll find things are improved in the beta version, or 3.0 if you’re waiting for release. There are still a few areas that are necessarily lossy, like the title and label, but those things that can be logically combined will, from snapshot lists to notes to keywords.

Thanks for your reply! I have checked the beta and no, it does not solve the problem at all. It does destroy less data than the current stable version, but I would hardly call that a solution. The Merge command still remains a destructive one, and I fail to understand why do you insist it is perfectly okay.

I have witnessed a few days ago a real case of a Scrivener user losing a lot of work just by selecting the Merge command accidentally. Scrivener merges everything in a large file into a single scene. Splitting it back took a lot of time and effort - not mentioning the huge volume of lost data in notes and such. I’d rather not mention the words in which that user characterized Scrivener and its developers. That case was what inspired me to write this suggestion.

The program must NOT delete a single byte of the user data without user consent. That’s a basic requirement of good software design. The fact that Scrivener performs a major destructive action without even giving the user a simple warning is a program flaw by any standards.

FWIW, my advice to that user would have been to revert to the previous backup. Ideally, a manual backup taken immediately before such a large scale reorganization, but there should also have been a relatively recent automatic backup taken by Scrivener.

I think the idea that the program “should never delete a single byte without user consent” is somewhat unrealistic in a program that is intended to edit things. Every editor on the planet has commands that can cause massive destruction if used carelessly, and demanding user permission before executing those commands would render the application unusable.

Katherine

How was that user able to select the Merge command by accident and thereby merging all project content into one single document? Did the user also by accident first select all items in the Binder? Or what happened?

I think the concern is that the user may not expect the data of the uppermost document to be applied to all lower docs. This is the part that I believe is being considered unacceptable. This makes sense as the metadata can be quite extensive in some cases. i don’t think there is an easy answer other then the previously suggested backup and restore. That isn’t the most practical though. Nor are the technical issues that would appear in an effort to make the action “undoable”.

I don’t see a good solution here.

I think the OP had a perfectly workable solution – add a confirmation dialogue that says “Are you sure you want to Merge the selected documents? Merging cannot be undone and may delete metadata.”

It’s not like L&L would need to invent new technology, it’s a dialogue box.

Yes. I should have been clearer in my statement.

I don’t see a solution that makes it easy to undo a merge… but a dialog box would warn of the loss of data.

Okay, I will rephrase my statement:
A well-designed program must warn the user before performing any operation that can’t be undone.
Does this sounds better?

That was the first thing I asked, but I didn’t get a definite answer. I guess that was something stupid. Anyway, we are all human, and humans tend to do stupid things on a regular basis. A good program shouldn’t allow that.

Ideally, a “Warning—Data Loss Ahead” alert should have a way for the user to turn it off, and a link for the user to backup should they choose. However, a way to turn off the alert would add Yet Another Option to the semi-infinite list of Scrivener Preferences.

Glad it’s not my call…