Bookdog is always working with data that is borrowed from your web browser and/or online bookmarks storage service. But Bookdog often needs to store some additional attributes which are not recognized by these browser/services, and which they would destroy if Bookdog simply stored them alongside the other attributes which are recognized by the browser/services. These additional attributes are, for example:
Fortunately, most browser/services associate with each bookmark a unique, permanent identifier which we call a Persistent Identifier. By using the Persistent Identifier, Bookdog can keep its own database of the additional attributes, and associate them with the target item when the bookmarks from the browser/service is loaded or saved.
For advanced bookmarks management, Bookdog shows you the Persistent Identifier in the Item Details inspector. Because generating these IDs can take considerable time in some cases, Bookdog only assigns IDs to new or moved items when the bookmarks are saved, and only if the item has been assigned attributes attribute(s). In other words, only if and when they are needed. This is why when you move or copy an item from one Main Window to another, the item temporarily loses its Persistent Identifier, until the window is saved, then a new Persistent Identifier is created.
Item Identifiers in different Browsers and ServicesSafari and Camino give each item a 128-bit Universal Unique Identifier (UUID) which is observeable in Bookdog's Item Details panel. Safari probably uses this UUID to associate its favicons, the small pictures you see in Safari's Show All Bookmarks window, with websites that provide these.
Firefox 3+Beginning with version 3, Firefox identifies each bookmark with a identifying sequence number ("id") in its database. These numbers are not re-used.
Firefox 1.x-2.x: RDF NumbersFirefox gives each item an "ID" tag, identified with its resource description framework (RDF) number, for example "rdf=#$wk9kua". These are also observeable in Bookdog's Item Details panel.
Opera: No Persistent IdentifiersUnfortunately, Opera does not have a permanent identifier associated with each bookmark. (The Opera bookmarks file does contain "ID numbers", but Opera renumbers all the items when it launches and quits, so they are useless for our purposes. They are shown in the Other Identifier field in the Item Details panel.)
To overcome this limitation, Bookdog writes two copies of its own Persistent Identifiers, which are in fact UUIDs as described above for Safari and Camino, in the Opera file for each item that has additional attributes. You can break both of them under certain circumstances. The strategy is that you probably won't break both of them before Bookdog has a chance to repair the damage.
First, Bookdog simply adds its UUID (Persistent Identifier) as a separate "key" in the Bookmarks file. Opera remembers and rewrites the UUID inserted by Bookdog, unless you MOVE the item, or the folder which contains it, in Opera's Bookmark's Manager; then Opera deletes Bookdog's UUID. You can change it's name, URL, keywords, description, etc. The damage only happens when you start MOVING items. You will never have this problem if you use Bookdog to organize your bookmarks instead of Opera's Bookmarks Manager.
Second, Bookdog hides the same UUID at the end of the item "Description". You don't see it in Opera's Bookmarks Manager unless you scroll down several lines; it's at the bottom. If you do add descriptions to Opera items, you should not disturb the "Bookdog UUID" if you see one at the end of a description.
If Bookdog finds different UUIDs in these two places for some reason, it uses the first one.
OmniWeb: Permanent but Not UniqueOmniWeb uses a simple numbering scheme; the first item you create is numbered 1, the second is 2, etc. OmniWeb keeps track of the last number used to avoid duplicates, but numbers are re-used across your bookmarks bar ("Favorites"), bookmarks menu ("Personal Bookmarks") and shared ("My Shared Bookmarks") collections.
To make these unique Persistent Identifiers, therefore, Bookdog affixes a prefix indicating which collection they are in ("OWB", "OWM" or "OWS") to the numbers used by OmniWeb. These prefixes are only used within Bookdog; when the file is written out to OmniWeb's folder, these prefixes are stripped off. Unfortunately, this means that if you set a Bookdog property such as False Alarm for an item, then move the item from one collection to another in OmniWeb, Bookdog will no longer be able to associate the property with the item and the property will be lost. The only solution is to use Bookdog when you are organizing (moving around) your OmniWeb bookmarks.
Beginning with Opera 9.24, Opera adds a "UNIQUEID" key to the bookmarks which where shipped in the default bookmarks that you get when you first launch Opera in a new Mac user account. However, bookmarks added by the user do not get this UNIQUEID, so it is useless as far as we can see.
ShiiraBookodg uses the persistent and unique objectID  which is maintained by Apple's CoreData  layer in Shiira's sqlite  database.
Google Bookmarks™Google Bookmarks™ sends two identifiers with each bookmark: guid and smh:bkmk_id. Bookdog uses the latter as its Persistent Identifier since guid does not appear to be permanent. The smh:bkmk_id appears to be a decimal representation of a 64-bit number. It can take some time when you add attributes to a Google bookmark that you just created in Bookdog, because in order to save the attribute data, Bookdog must first upload the bookmark to Google so that Google will assign it a smh:bkmk_id, then Bookdog must download it in order to learn the newly-assigned smh:bkmk_id.
del.icio.usdel.icio.us forms a unique identifier for each bookmark, which is in fact the MD5 hash of the URL expressed as a string of lowercase hex characters (0-9 and a-f).