View Single Post
Old 03-06-2013, 06:23 AM   #49
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,905
Karma: 47303824
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by Rev. Bob View Post
And yet, there is. Shelves that can't be deleted on the device can be deleted in the app; therefore, there is a difference in how they handle deletion. Theory's all well and good, but empirical evidence trumps it every time.

The evidence says otherwise. This isn't a theory I've worked up out of whole cloth; I experimented, recorded the results, and am reporting on What Really Worked.

If you only have one set of duplicates, and your second pass through the app shows you no new resurrections, then that will sort it out. However, that's not the case in reports I've seen, where a sync produces multiple duplicates of the same shelf. In those cases, you must go through the sync-delete-sync step multiple times to kill all the duplicates. There's just no way around that, as the app isn't designed to show multiple shelves with the same name but different IDs, which is the real issue; the device doesn't handle "same shelf name, different ID" correctly.
So, something that you haven't mentioned before: the app doesn't show the duplicated shelves. Strangely enough, I am sure that I have been told that it did and cleaning up the duplicates was discussed with it as well. That was a while ago, so maybe that has changed.

Quote:
Suppose I have a shelf named SF, and I sync my device and see three copies (IDs 1, 2, and 3) of that shelf. I can't delete any of the three from the device, because the other two instantly resurrect it...
That doesn't agree with my experience. I had no trouble deleting the duplicates. My problem was that I ended up with nearly 2000 shelves each time it happened. It just wasn't practical to go through and delete them all manually.
Quote:
I can't see but one copy in the app, but I can delete it there. So I do that, and maybe that kills SF #2 on the server. Sync down to the device, and hopefully it kills SF #2 there as well. But you still have SF #3 to deal with. That's why you resync the app, see another SF shelf pop up, kill it, and resync, and that's why you resync the app again after pulling that fix down to the device. Properly, you should keep going until you get a clean app sync with no copies of SF, whereupon you can create a new SciFi shelf to replace it.

You have to eradicate all the duplicates before the problem is fixed, and that has to be done in (in this case) all three places: app, device, and server. It's possible that the device database will be fixed and pristine at this point, but it's much safer to kill it (by logging out) and reconstitute it than to cross your fingers and hope you're safe. It's like nuking the planet from orbit; it's the only way to be sure. Besides, this is a long enough process to begin with; do you really want to trade the effort of making one more pass for the possibility of having to go through all of this again later?
So the steps I missed was to sync the app, delete the shelves and repeat until no duplicated shelves turn up. The only advantage in syncing down to the device is to make it easy to work out which shelves are left. But, of course you could just look at the shelf list on the device. The database on the devices has always been clean after a sync, so the logout is not really needed.

Of course, none of this helps someone who only has the single device.
Quote:
I happen to write code for a living, and I've been programming for over 25 years; I do know a little bit about dealing with this sort of thing...
OK, I'll concede. Without any duplicates appearing on my devices recently or access to the iOS/Android app, I can't test anything. And you obviously know a lot more than I do.
davidfor is offline   Reply With Quote