backup to skydrive

Hello,

I have the latest version of Scrivener for Windows. I’m trying to work on a file from two different locations and I use Skydrive. I backed up the file on Skydrive and tried to access it from a second location, but all it loaded were the research files and the sections I’d created. There was none of the text I’d typed in the sections. Am I doing something wrong? And yes, I waited for full sync to occur.

Thanks!

Did you have the project open simultaneously on both computers? That would cause problems, although I wouldn’t expect missing text files like this on the initial time. (But don’t do it, regardless. :wink: Projects should only ever be open on one computer at a time.) I know you said you waited for the sync–just to verify, you waited for it on each computer?

This should work, with all the general caveats of synchronized folders, and it worked fine in my test project, so you might want to just try removing the copy from Skydrive and letting that clear from both machines and then putting in a fresh copy and letting it sync. Do you happen to have an unwieldy file path to your project? One of the Skydrive troubleshooting docs mentions that the sync will stop if the file path is too long, so it’s worth a check.

I honestly think that you guys need to go to a zipfile standard format for Scrivener.

  • large software houses do it, particularly where xml may be involved
  • you would thus eliminate any problems which are at present sure to come with Dropbox and other replicators.
  • there could be no change at all to internal Scrivener operations: you could just temp the contents of the zip when it is open.
  • you already have the basis and thus the library in the zip backups.

I may be missing something, but doesn’t this sound sensible?

Regards as always,
Clive

Hello and thank you for responding!

I had my scrivener set to make a back-up upon closing. Once I closed the project, I waited until the back-up was complete. Then I opened the skydrive folder where the back-up was going to. I waited until all the green arrows showed up to indicate complete synchronization. Then I waited a liiiittle longer to be safe. At that point I closed all the folders and shut off my computer.

I arrived home about 45 minutes later, opened up this computer, turned it on, opened scrivener, and then I tried opening the project file from inside skydrive. I got all the pdfs in the research folder, I got all the sections I’d created, and they all indicated there was text on them in the binder view, showing lines across each little page. However, once I clicked on a section, those little lines on the page in binder went blank, and the section displayed none of the text I’d entered. Every section I clicked on did the same thing; it went blank-lined on the left (binder) and displayed no text in the section.

Does that help pinpoint where I went wrong? And the file is within skydrive, and then within one more folder in skydrive. I don’t -think- that constitutes a deep file location, but I could be wrong.

Thanks for your help!

As I understand it, the time penalties would potentially be huge. A Scrivener project consists of a number, even reaching thousands, of separate files, and it seems that Scrivener only (i) loads into memory the files that it needs to do whatever is being currently edited and (ii) more importantly, in doing its automatic backup — default after 2 seconds of inactivity — only saves out those files that have been changed.

To “temp” the files that have been changed would not be so secure from failure, it seems to me, as there are other files apart from the document file itself involved like index-files etc., and to have to zip-up and save what can easily run into multi-megabyte projects would make the time taken too onerous and frustrating while editing. People have already raised this time issue both in terms of the automatic backups and producing the back-up file on opening/exiting a project.

But then you probably know more than me.

:slight_smile:

Mark

Once you turned on the computer, it would have needed to start running everything, get the active internet connection, etc. and then Skydrive would need to sync. Did you watch for the sync to finish on this computer before you tried to open the project? If part of it had synced but not all of it, that would give what you were seeing–the .scrivx file containing the structure of the project, all the titles and the binder list and so forth, would show you everything, and the search file would show that there was text in items, but then when you tried to load one of those documents, if it hadn’t completed the sync, it wouldn’t be accessible, Scrivener would update its information to indicate that the document doesn’t exist (the binder listing being just a placeholder) and so switching the icon to blank.

If you open the project’s folder in Skydrive and go into Files\Docs, do you see a bunch of numbered RTF files there? (If you have Vista or Win7, you should be able to preview these right in Windows Explorer to see if they’re your missing documents.) Or alternatively, does a Windows search for some of the missing text find any results on the second machine?

Well, you raise good points, Mark. I confess I hadn’t thought too far into the technicalities.

It’s been some while since being anywhere near this kind of thing, but I took a quick look for a library which can manage individual update of files within a zip archive, as well as create and read them. Here’s one for .NET: dotnetzip.codeplex.com/. The water gets very crowded beyond this example of concept, and in particular direct QT libraries aren’t able to handle the needs as far as I can see. There’s also a performance issue which would need trials to reckon.

I think in principle, though, it should be possible to make a zip file dynamic in use, and the zipping isn’t so expensive, I think, that it would be prohibitive beyond file update itself. A zip file is after all just a mini-filesystem. Some OS-level design skills are needed to make individual content update efficient and safe at a level sufficient for Scrivener. Quite probably someone has done it in a suitable form.

Determining that you have the right package for the task would I believe be considerable work, and on this basis alone I’m not faulting anyone for not having done it yet.

My point about this is that you simply can’t have transparent safe operation around any sort of replication (Dropbox, SkyDrive, etc.) unless you have an atomic (all at once, no conflict possible) information format, to allow the replicator to guarantee all the scraps and related pieces remain consistent with each other. Once upon a time there were promises from operating system providers for object filesystems which should have managed it; and very high end databases have done so for decades.

What Scrivener folk have done is write very clear instructions for people who want to try to be disciplined and aware enough of their network arrangements to succeed around the risks, at least most of the time. This is possible, of course, and a number do it. However, as in the conversation we’re interrupting here, it does happen that it doesn’t work.

One more of the great things about Scrivener is that it has its own backup system (in zip files) which will allow you to recover even from these replication upsets. I have on occasion had some hazy ideas about using that to solve this problem, while leaving the project-as-directory during editing intact. So far this looks more involved than a realistic managed-zip main format would be, but you can never tell until you get into the hands-on work for such a problem.

Regards,
Clive