First, the .scrivx file is the master index used to build the Binder. It contains a list of all the components of the project, but does not contain the contents of the individual files. Also, because it is the master index, it will be opened every time the project is opened. That is, it will be the most frequently used file in the project, and therefore the least likely to be “optimized” away. If it does get moved to the cloud, it will be downloaded almost immediately when the project is opened, too.
Second, it is completely normal, from Scrivener’s point of view, for there to be an item in the Binder that contains no text. People do that all the time, every time they create an outline without actually writing any text. This is the way Scrivener is designed to work, and so Scrivener will not object if it encounters a Binder item that contains no text. Especially if the operating system has handed it an empty file. If a file truly does not exist, it’s the operating system’s responsibility to tell Scrivener that.
Third, the Synopsis is stored separately from the body text of the document, again by design. So yes, it is entirely possible to have a document where the Synopsis is present but the body text is not. More generally, the optimization routine that moved the files offsite in the first place did so (probably) based on its assessment of which files were used more recently and were more likely to be needed locally. So yes, it is entirely possible for parts of a project to be “missing” while other parts are fine.
OK, all of which is no doubt very interesting, but still doesn’t quite solve my problems:
I can fix the immediate problem, either through backup or using former compiles to put the data back in.
But if I open another old file (I have a lot of them) do I have to worry that some scene or chapter somewhere will come in as zero files and then the old file will get overwritten? Ie that data will be lost in the background and I won’t even know it?
What is the best solution long term? I hate to keep all of my data on one computer not only because I access it on several (altho that is mostly the compiled files) but also because I worry one computer crashing will ruin my day.
Locate the backups that Scrivener generated for your projects. Copy the most recent version of those files somewhere that your sync service doesn’t mess with (I don’t recall seeing you name which one, but iCloud Drive seems to be it?).
Turn off the optimization feature of iCloud Desktop and Documents.
Search for all of your project files (*.scriv). Open each one, examine the contents of files to make sure they’re still there. If not, unzip the backup you moved to a safe spot, and then delete the bad copy and replace it with the unzipped backup.
If you haven’t already, increase the number of Scrivener backups kept, and change the backup filenames to use date & time instead of just numbering them. Make sure it’s zip-compressing them.
For reasons which I won’t re-iterate yet again, I use Sync.com for projects I share with my collaborator, and now for pretty much all my Scrivener projects. Despite the fact that the people at Sync.com say it is not really suitable for multi-file packages like a .scriv project, it has worked flawlessly for me over about 7 years … my only suspicion is that it might be a tad slower than DropBox (which I also have but no longer use for .scrivs). Furthermore, Sync.com doesn’t have the device limits of the free Dropbox.
My backups are zipped and they go to iCloud. On top of that, I make a full back up of the iMac to an external every week; I run Time Machine on the MBA weekly when its external is plugged in, though I’m thinking of getting another drive that I can do a full backup to every week.
Mark
This. And turn off similar features in other services. Do not allow any service to move your data without telling you.
Local disk space is cheaper than remote disk space anyway, at least for computers. (As opposed to tablets and phones.) If your disk is so full that you need this optimization, buy an external drive, plug it in, and move your data yourself.
The data should still exist, it’s just stored in the cloud and you need to persuade iCloud to give it back. One possible solution, with Scrivener closed, is to use Finder to drag the project to a non-iCloud location. (Which may be an external drive, if you’ve allowed iCloud to “optimize” your whole Documents folder.)
Thanks y’all. Restoring from backup went fine. I unchecked ‘optimize’ for iCloud.
Is Scrivener thinking of implementing some kind of versioning itself?
May I ask where your Scrivener project is stored now? E.g. in your local Home folder or inside iCloud Documents? If it’s the latter (because you want to access the project from different machines), sooner or later you’ll run into the same problem again, optimization or not.
Well, in one sense perhaps. I would like to see something like the revision colors where the program knew when each section was created etc… and you could ‘jump’ back to see a given revision etc. Probably a pretty huge job of programming.
yeah, that’s where I am storing it, because I used to use two different computers a lot. I don’t so much now, so I may change that. I definitely want my ‘compiles’ folder to be on the cloud, because I read and listen to my stuff a lot off my phone.
Where are you getting this information? L&L stipulate not using iCloud for sync with iOS, but have stated that it’s fine for desktop to desktop use with the appropriate configuration:
Personal iCloud woes. I don’t say it can’t be done, but you have to be super careful and often patient.
The post you’re referring to links to a knowledge base article stating: “one that works well with Scrivener is Dropbox” — maybe I’m reading too much into it, but I totally get why it doesn’t say “oh, and iCloud!”
It shows some age and could stand to be updated with the specific features to disable, but I think the Dropbox fallout is simply because that’s the one sync solution that also works with iOS Scrivener.
Nevertheless, the bit I quoted from Katherine is pretty unambiguous as support statements go.
Well, maybe it’s just my bad luck, but I often witness iCloud “getting stuck” syncing just a bunch a files. I don’t even want to imagine what happens to a complex Scrivener project.
I agree with that. iCloud syncs when it feels like it, and you can’t possibly know if everything in a project is synced or not. I also had jpegs fail to sync for weeks in Google Drive, and Google tech support had no clue why or what to do about it.
I thought someone here on the forums had listed the name of a utility that could help with this, but I can’t seem to find it. This is definitely a problem s small portion of the Mac community seems to be struggling with, though.
I can’t vouch for any of this, but I do know that Apple’s iCloud is … well, problematic. I avoid using it for anything but Apple apps and simple things.
I’d certainly never expect it to work well with Scrivener, so I don’t. Have other things to do than debug the “un-debuggable” iCloud.