Reference Prototype in Tinderbox 7 During Bookends drag-and-drop


(Eric Brown) #1

I’ve encountered some unexpected behavior when using the option-command drag and drop from Bookends into Tinderbox 7. I find that the option-command drag and drop feature from Bookends into Tinderbox creates a reference prototype (as in TB6). However, the only attributes that come up are the URL for the Bookends reference, and none of the attributes that typically came up in TB6 (e.g. Author, PublicationYear, etc.). However, when I use the built-in Reference prototype and create a note using this prototype, these attributes do appear. This occurs for both Bookends 12.7.8 and 12.7.9. Is this behavior expected for TB7?


(Mark Anderson) #2

It looks lie there’s some accidental collision between the Bookends reference drop and the general behaviour that sets $URL as a Key Attribute. The latter is happening instantly before the new BE drop has had the Reference prototype applied. When the latter is applied its Key Attribute ($KeyAttributes) aren’t inherited as these are already set locally in the newlyweds-y dropped reference. We can see the problem in the Quickstamp Inspector:

Notice how the actual locally-set value is ‘URL’ (white box, bottom red arrow) which blocks the inheritance of the larger set of KAs listed above the input box ‘Authors;ArticleTitle;…etc.’

I’m sure this will get corrected (in a subsequent release) but until then there is a simple corrective procedure.

  • Select all the ‘bad’ reference note(s).
  • Cmd+@ opens the Quickstamp Inspector
  • The the search box (top one on form) type ‘KeyAttributes’ (or select from the auto-complete suggestion once you start typing and press Return.
  • $KeyAttributes is selected and you’ll see data like in the image above.
  • Click the white button below the ‘inherited’ label. This ‘resets’ inheritance. The ‘URL’ value in the input box will be replaced by the now inherited values and you’ll see the note has the expected KAs.

If you’re using this method a lot another approach is to make a stamp:

  • Open the Document Inspector, ‘Stamps’ sub-tab.
  • Click the ‘+’ button.
  • Replace the default name (middle box) with you own, e.g. ‘Reset Key Attributes’ and press Return.
  • In the bottom box enter the code $KeyAttributes=; (the semicolon is needed!) and press Return.

You can now use this stamp via the Inspector or the Stamps menu, on the current selection in the view pane.


(Eric Brown) #3

Thanks Mark. Your work-around is definitely helpful.


(Greg Korgeski) #4

I was just about to create a topic that I think (if I understand MA correctly) pretty much addresses the same question, and noticed this discussion. I think this problem goes beyond just using Bookends, and that it has only recently appeared in the latest versions of Tinderbox.

I have for some time used a prototype I call “clipping” which has about 10 key attributes, one of which is URL, but others I’ve added myself (e.g., a checkbox to note if I have saved the article or clipping in my DEVONthink collection, etc.) Until recently, if I dragged a URL from Safari onto my Tinderbox, it would catch it and list the URL in the text and of course have it stored in the URL attribute as well; but then I would just control-click the note and select my “Clipping” as the prototype and the entire list of key attributes would appear in the note. Recently (possibly since Tinderbox 7 or the next version) this no longer happens. The only key attribute that appears is $URL.

Mark, are you maybe saying that this was changed and may be changed back? I think you’re describing the problem. I’m just not sure I’m entirely correct but it seems I have created hundreds of drag-the-URL and drop notes that I used to be able to then convert to the Clipping prototype and add my other attribute data. (Hope this makes sense.) The workarounds are to just ignore the other attributes until I specifically need one (not ideal – they are there so I can log other information for future reference so I don’t always know I’ll need it), or else to just create a blank note in TBX first, set its prototype, then hand-copy-paste the URL into the attributes. This is not of course an impossible task and has some advantages sometimes, but it’s a disruption in a workflow that may sometimes mean I don’t bother recording a note at all.

Just checking to see if I am losing it, or if this was a real change in functionality.

Thanks, folks.


(Mark Anderson) #5

The issue, if I understand correctly, is about inheritance - specifically of Key Attributes (KA, as stored in $KeyAttributes). Any note that has $URL set and made a KA as a result of drag-drop now has locally set $KeyAttributes and therefore cannot inherit a newly assigned prototype’s KAs: local settings trump inherited ones.

If a link is dragged from a Safari web page into Tinderbox in v6 or v7, the URL’s anchor text forms $Name, and the URL’s value is added to $Text. In v7 only the URL value is also added to $URL and set as a KA. If a page’s URL is dragged from the location bar the same happens in each case except the page’s <title> string is used for $Name.

So, there’s no bug here, inheritance is working correctly. As remains the case, if you set a prototype (that uses particular KA) onto a note with KA already set, you must reset $KeyAttributes to remove the local value and allow inheritance.

In your case, the simplest approach would be to add a stamp (Code: $KeyAttributes) to reset KA. You could then set your prototype and with the same selection apply the stamp in case any items have pre-exiting local KAs.

The new v7 handling of URL drops is, in the round, more useful for general browser interaction so I think it unlikely this would chance. Note this setting of $URL as a KA occurs only for new notes made via drag-/drop.


(Greg Korgeski) #6

Thanks, Mark. The stamp works fine.


(Asaf Keller) #7

Related to this: aTbRef tells us that, after dropping a reference from Bookends (12.8.3), TB (7.2) will “set the $Text of the note to formatted Bookends reference - the format will depend on the user’s settings in Bookends.” However, regardless of the Format I choose in Bookends, the $Text is populated with the abstract of the imported reference. What am I missing?


(Grant Lotter) #8

You’re not missing anything. It’s almost surely a bug that was introduced recently as a result of a user request to have the abstract automatically included in ref item drags into Tinderbox. In place of having a formatted reference + abstract we’re only getting the abstract. Please file a report with Eastgate.


(Asaf Keller) #9

Fixed in v 7.2.2. Thanks!