I spent the better part of yesterday retesting BookMacster's syncing via Dropbox with various browsers. Summary:
I found a bug which could cause syncing omissions in Opera, OmniWeb, iCab or Camino.
I did all my tests with BookMacster 1.9.8, which, according to the Version History, has "improved conflict resolution" compared to the currently-released version 1.9.7. So, the version I have may be better-behaved than yours when bookmarks are changed in multiple browsers.
Other than that, everything is working as we expect, although there are a few details which users may not expect, as explained in the longer story below.
Now, all that being said, I might still have overlooked something. If you tell me what browsers you're using and, as best as you can remember, the steps by which either a deleted bookmark reappeared, or an added bookmark did not appear on your other Mac, I'll try to reproduce the problem. Also, BookMacster 1.9.8 should be published within the next couple days.
* * *
Here's the longer story
The bug I found was causing changes made in other browsers to be missed if the change was made while Opera, OmniWeb, iCab or Camino are running, and you changed a bookmark in one of these browsers in the intervening period, before quitting them. This bug has now been fixed for the next version, BookMacster 1.9.8.
Bookmarks moves or deletions will be missed if changes are made in multiple browsers during the 5-minute window (*) in which BookMacster waits for additional changes before syncing. The rule we use is: When there is a conflict between browsers, don't delete bookmarks. The reason for this is that we consider a desired bookmark disappearing to be worse than an undesired bookmark reappearing. Although deleting bookmarks in browsers is supported subject to this limitation, and it does work, for better reliability we recommend opening your Bookmarkshelf document in BookMacster when you want to delete or move bookmarks. Make your changes, then click in the menu: Bookmarkshelf ▸ Export to push your changes to the browsers. Simply saving the document (not necessary in Lion due to Auto Save) will push your changes into Dropbox and into BookMacster and the browsers on your other Mac(s).
For those interested, here's an example of how a deleted bookmark could reappear. If you make a change in Browser A, then delete a bookmark in Browser B before 5 minutes is up, when 5 minutes expires and BookMacster imports from Browser A and then goes to export to Browser B, it will detect that Browser B has also been changed since the last time it imported from B, and it will schedule what we call a "make-good" sync to occur after the first sync is done. In a "make-good" sync, bookmarks from *all* browsers are imported, and unless the undesired bookmark had been deleted from all browsers, it will appear in the import and therefore not be deleted, be re-exported to the Browser B and thus reappear.
If you delete a bookmark in Opera, it's not really deleted. It goes into Opera's "Trash" folder. In this case, it will not be deleted from other browsers, because it's not really gone yet. It will be deleted from other browsers if you later delete it from Opera's Trash folder.
If you add or delete a bookmark from Opera, OmniWeb, iCab, or Camino, the change will not be detected until after you quit that web browser. Similarly, if you change a bookmark in another web browser, the change will not appear in these browsers until after you quit and relaunch them. This is because these browsers do not offer any facility by which we can reliably push or pull bookmarks changes while they are running. Firefox, and Chrome explicitly offer such facilities, and we have been able to maintain access to Safari bookmarks and iCloud. We, and other developers, have requested that developers of the other browsers improve accessibility of their bookmarks, but lately the trend has been more toward closing access, presumably to encourage exclusive use of a given browser. We'll keep beating on better bookmarks access to the closed browsers as time permits.
(*) The 5-minute window is used so that resource usage by BookMacster remains insignificant during periods of manual bookmarks editing. There is a hidden preference to reduce it to 1 minute. (We use that in the lab to speed up testing.)
|