Unwanted Inheritance with Explode Note

So …

I explode a note, originally pulled in from Bookends, which indirectly inherits from the Reference prototype… When I explode the note, I have the extracted notes each populated with the attributes I want to retain from the reference (Author, Publication Year, the Publication name, and the URL that takes me to the Bookend reference) using a Edict in a prototype I have created called ‘Reference Note’:

This all works as required:

but somehow I have an inheritance to the Reference prototype which I can’t track down, and this is overwriting everything upon ‘Update Agents Now’.

The same happens if I Explode with the default ‘Exploded Notes’ prototype.

I’ve attached a minimalist tbx file to demonstrate the issue. Can someone put me out of my miisery?

NB - (1) I’ve use an indirect route to the Reference prototype via a prototype ‘Bookends Reference’ (in case I want to use other bibliographic software which has to be adapted in a different way). The ‘Bookends Reference’ prototype contains an Edict that sets the $Name of any imported Bookends reference to ‘Primary Author, Year and Title’, with ‘Enable’ not checked in the prototype.
(2) I’ve included an unadulterated version of the Reference, as pulled in from Bookends, in the ‘Original Reference’ container.


Unwanted Inheritence Example.zip (89.1 KB)

I don’t see wha t the issue is. I exploded the notes and it all looks fine:

@macgarvin If you want, DM me, and let’s hop on a Zoom. I’m sure that I can fix whatever you’re experiencing for you.

Note that your explode action sets the prototype to “Reference Note”.

Your exploded notes each still have a bookends: URL. Tinderbox sees this, and sees that they have not been imported, and so it tries to fetch the original reference information from Bookends.

You could avoid this by:

  1. Remove the URL from the exploded notes in the action, OR
  2. Store something in $RefType or $ReferenceRIS of the exploded note; this will indicate to Tinderbox that you don’t want to process the bookends URL again.

Thank you @eastgate, that worked - and at least I don’t feel totally stupid for asking, I would never have got to that on my own. And thank you @satikusala (and @mwra) for help at earlier stages and for the offer.

With a bit of tidying up that this maybe a useful ‘good enough’ basic workflow to get refs and notes over from Bookends into Tinderbox, and also a nice example for people with Bookends and starting on Tinderbox to get to grip with some relevant Tinderbox basics. I can do that and add into the zip the modified RIS and ‘Tinderbox Note’ bibliographic formats to drop into the relevant Bookennds folder.


1 Like

Small snit if using your TBX for further demos/tutorials. This doesn’t affect the scenario above but came from following through your described process. When checking, (unintentionally) misspelt prototypes are the sort of thing I look for in problem test files.

The ‘Bookends References’ prototype is actually called ‘Bookends Reference’ (missing final ‘s’) in the TBX. I think the plural version is better. This the prototype needs re-naming in the TBX , and any action code referring to it by name will also need correction.

My understanding—I’m still checking—the Reference prototype is essentially for display. Re-checking/updating of existing notes is controlled by the 2 points @eastgate lists. IOW, presence of a bookends:// URL in $URL marks a note as Bookends-derived data, but the data-checking script takes no further action if either of $RefType or $ReferenceRIS have a value.

Although you can rename ‘built-in’ Tinderbox prototypes, Tinderbox tasks such as above will recreate and use the built-in version when needed. You can safely modify a built-in prototype in terns of colour, Displayed Attributes, etc., though take care before modifying any actions (rules, edicts) etc. If in doubt, ask here.