Drag and drop from DEVONthink to Tinderbox 7

Are DEVONthink imports assigned a prototype when they are imported? (I don’t use DEVONthink, so I can’t check.)

No. Not unless you create your own and have an OnAdd action assigned to a container that assigns that prototype to the item.

FWIW, I think expecting built-in prototypes for DEVONthink, or OmniFocus, or anything else that’s dragged into Tinderbox from a specific piece of software is sub-optimal. It’s always better to build one’s own.

I’m not sure I agree. One big advantage of having built-in prototypes is that you wouldn’t have to find some other way of identifying which items were dragged in (such as the URL starting with “x-devonthink-item”). You could then also easily modify all the dragged notes at once by modifying the prototype.

Of course, once you are familiar with Tinderbox and you can set up an agent to do it for you, it doesn’t really matter anymore. But it might make stuff like this much simpler for beginners…

This doesn’t list all the built-in prototypes, though. For example, if you drag a Taskpaper file into Tinderbox, it will create “Taskpaper Task” and “Taskpaper Project” prototypes for the imported items, but these prototypes do not appear in the Built-In Prototypes menu.

Applying a prototype with attribute „Tags” to all notes imported from DT displays only tags and removes those damn $Source… Still too much manual work, but it works. Thanks.

Oh no, $Source… came back. So, I’m back to TB 6.6.5. No tags, but no $Source… :slight_smile: and importing from DT with preserved rft style works quite well.

Yes, you’re right. I withdrew my comment.

Perhaps for some. When Tinderbox assigns it’s own prototypes to my work I just have to go back and undo that, so it’s better when Tinderbox just stays out of the way. The release notes and aTbRef explain which attributes belong to which sources, anyway.

Give up all the advances in the product because of an attribute, when there’s numerous ways to avoid looking at it?

Items 1 and 2 are pretty simple. Where are you getting stuck?

  1. Agent. No idea what should I set in „Query” and „AgentAction”,
  2. Prototype. I add only „Color” and „Tags” clicking „+” right above note view. Anything else?

Is there any way to enable or disable these attributes (Tags, SourceCreated, SourceModified) using System attributes in the Inspector panel?
For example, if I don’t need a Composites then I can select Category=Composite, Attribute=NeverComposite, Default=true to prevent accidental gluing of notes.

Attributes cannot be “disabled”. Your issues is that the attributes you dislike are showing in Key Attributes. I urge you to read this article at aTbRef to understand what that means.

All of the methods posted above have to do with either hiding Key Attributes or changing which attributes are displayed in the Key Attributes table.

Thanks. I’ve read article, but it doesn’t contribute much. I know that I can change KA manually after importing from DT. How to make them change automatically?

For example:

I did it, it doesn’t work.

Sorry, since I have no idea what you actually did I’m at a loss to suggest anything different than what’s been suggested.

Maybe someone has the time I do not have to write a detailed recipe for you that goes step by step through the process of creating a prototype, setting the key attributes for that prototype, and applying that prototype to existing notes. If the notes already have key attributes assigned, then at times it is necessary to use a stamp or Quickstamp to remove the old KA and add the new KA.

BTW – ALL of this is covered in the documentation, the tutorial, aTbRef, and in numerous threads here. Using prototypes is a very basic Tinderbox skill that is going to help you going forward.

My guess is that the problem lies in a common misunderstanding of inheritance.

Let’s say that you have a note Memo that already has some key attributes:

  $KeyAttributes: StartDate;EndDate;DueDate;

But you want to inherit Key Attributes from the prototype MyPrototype

 $KeyAttributes(MyPrototype): $DueDate

Now, if you let Memo use the prototype MyPrototype, it will inherit values from its prototype except when it has its own values. And in this case, it already has a value for $KeyAttributes, and that overrides the inherited value!

What to do? If you’re using QuickStamp, you can simply click the arrow button to use the inherited value. Or, you can delete the key attributes you don’t want; when you next load Tinderbox, it will straighten out the inheritance. Or, you can use the action (or stamp)

 $KeyAttributes=;

which means, “use whatever value this note inherits, or use the default value if there isn’t a value to inherit.” This, for example, is what your agent probably wants to do after assigning the prototype.

Following @PaulWalters suggestion to prepare something (codes or example) for @jaroslaw to try, I tried to come up with a Tinderbox that illustrates the suggestion Paul Walters made.

Hope it helps a bit.

Resetting KA and setting Tags as KA.tbx (393.0 KB)

Wow. Thank you Andreas. It works well. I didn’t even know that it possible to apply attributes to andornments. Mark suggestion also very helpful.

It seems that I don’t even need prototypes for that. Only agent with Query: $URL.beginsWith(“x-devonthink-item://”) [this what Paul suggested but I didn’t know what syntax is] and Action: $KeyAttributes=“Tags;URL”; This is probably the easiest solution and works great.

Thank you all for your help.

When I drag a folder from DEVONthink to Tinderbox, the folder itself is copied but none of its contents. It’s no big deal to then select the documents in DT and drag them into the container created by the previous operation, but I would like to confirm: Is this expected behaviour rather than a bug?

Dragging a record from DEVONthink to Tinderbox imports only that record – whether it is a group, a document, etc.

If you want to import a group’s child documents you need to “watch” the group. See here for how-to info on setting that up.

Watched DEVONthink groups only import the immediate child documents of that group. If the group has children that are also groups, the child groups are not imported.

No bugs here.

Thanks, @PaulWalters. Just wanted to make sure. I tried “watching” yesterday and had a lot of problems with it, so I’ve decided to go manual.

What problems did you have, @rickdude

Once I’d set up one group watch, Tinderbox seemed to remember that specific DEVONthink URL too persistently for my liking. The fact that one Tinderbox document can only watch one DEVONthink group is already documented, but when I made a new document and tried to set up a different group watch the first one overrode it (not visibly—the URL shown in the DEVONthinkGroup Watch attribute was the right one, but the notes appearing in the container were the same as the first one). Choosing none or manually deleting the URL didn’t work. Even quitting and restarting Tinderbox didn’t solve the problem. Restarting the Mac did, though.

The fact that the feature is in its infancy has been emphasized so I think I’ll leave it alone for now. In any case, for my present purposes I want to add the contents of multiple groups to a Tinderbox document, so manual is the way to go.

Thanks for the update – that report appears to be something you would want to email to Eastgate for investigation. Errors and bugs are best reported directly and offline. If you send Support a copy of the misbehaving document(s) that might be helpful.