FYI - 2 OF / Obsidian plug-ins that FWIIW I find useful

Hi all,

Just sharing two plug-ins that FWIIW I find useful in the context of using both OF and Obsidian. Disclaimer - I am new to Obsidian, new to OF automation, and have never written JS, so many apologies in advance if things are not in standard form. Figure that if things are amiss someone will let me know and I can learn something :-)

The first is a modified version of Omni Automation Plug-In: Obsidian The modified version allows for the selection of multiple tasks - all the selected tasks are copied to Obsidian. A GitHub gist is here: of-task-to-obsidian-mod.omnifocusjs Note that someone from OF support helped immensely by taking a first pass at it - I just tweaked it.

The second is plug-in will append Obsidian like cross-links to two selected tasks at the bottom of the notes field. The GitHub gist is here: of-cross-link-2-objects.omnifocusjs

Why this post? Because as I use Obsidian more, I am finding that I am moving non active or non todo stuff out of OF and into Obsidian. OF projects can sometime generate a lot of information and data that I donā€™t want to loose but no longer wish to track in OF - so with the first plug-in all the selected notes can be click moved to an Obsidian folder at once.

Regarding the second plug-in, with Obsidian I am finding that forward/back linking is effective, so wanted something similar in OF, and wanted that to be a click or close to it.

With regards to going the other way, from Obsidian to OF, so far I am finding that to be rare. And when needed, it is usually a single note which is manually cut and paste-able.

Hopefully this is useful to someone.

3 Likes

Hi @sandy ! Thanks for referring to that Obsidian plugin that was published a while ago. I see it is built out for OF 4.x, which isnā€™t available yet.

I hope your modified version is built for OF 3.x? If so, then Iā€™ll look forward to using it!
I find myself in the same spot as you - wishing to offload detailed info Iā€™m storing in OF, over to a notes-app. Obsidian seems to make sense to me!

Hi again @sandy ! I just checked out the code in your modified plugin, and see that this also requires OF 4.x.

if(app.userVersion < new Version(ā€œ4ā€)){
var errorID = ā€œCā€
throw {
name: ā€œIncompatible Versionā€,
message: ā€œThis plug-in requires OmniFocus 4 or higher.ā€
}
}

Could anyone here suggest a mod to make this plugin work for those of us that are still using OF 3.x? Thanks!

Hi @coreman Yes, unfortunately in hindsight, I decided to leave in the code further down that requires OF 4 functionality since I was using the beta test version of OF4 when moving a large number of projects out of OF. It has been a while (I am back using OF3 post pruning), and without getting back into it, I think the OF4 functionality has to do with the links from OF to Obsidian and vice versa. (Which I wanted at the time which are not supported by O3.) I think that if one removes the if block for the version test and then just tries running it, the console will point to the missing OF3 functionality on a line by line basis. Those lines can ā€˜justā€™ be deleted until the code works - if I remember correctly. In other words, in OF3 there is not enough support to add the links to/from Obsidian, but the copy of the note and the tags should work with the link code removed. Hope this helps. (I will try to look into at some point but not sure when)

Hey @sandy thanks for the tips. Iā€™m not new to programming, but am new to Omni-Automation. Iā€™ll take the tutorial online over here:
https://omni-automation.com/omnifocus/tutorial/plug-in.html

Looks like that is a good place to start for step-by-step How To on plugins.

I donā€™t think I need the bi-directional links just yet. Just want to take ā€œnotesā€ from OF, and start shooting them over into Obsidian for improved management.

Hi @coreman - FYI - updated the gist version so that should work in both OF 3 and 4 by moving the if block around. It should have been like that from the start. Oops. Sorry for the noise. Thanks for motivating the change.

Hi @sandy ! Looking forward to trying this out! Thanks for jumping on it so quick!

Hey @sandy - hereā€™s a QA sequence I just ran through:

1] Install plug-in : SUCCESS
2] Configure plug-in with default Vault: SUCCESS
ā€“ configure for Add Tags to Note
3] Copy Note from OF to Obsidian : SUCCESS
ā€“ tags also land in note
4] Click OF link in Obsidian note: SUCCESS
ā€“ clicking link takes me back into OF, with a focus on the correct Task item

LGTM!

Hey @sandy - I can see some slick workflow changes ahead! Are you accepting donations for your work on a platform like https://www.buymeacoffee.com/ ?

Huge thanks from up here in Victoria, BC, Canada!

Update: added a third option to not write the obsidian link into the OmniFocus note (so that the OF task/Project is not modified by the copy). Also added four (YAML) properties to the Obsidian note copy: both an Epoch creation and modification time and long form pretty print date-time (with GMT offset and timezone). The pretty print keys in theory should match (TBD) 3rdparty plugins creation/modification times where users want to track/sort notes based on creation or modification times (independent of the underlying file system creation and modifications since that cannot really be relied on via cloud sync and git subsystems.)