Link multiple cards to same note
Opened this issue · 4 comments
Hi there, great plugin! For my particular workflow/usecase it would be very useful if I could link multiple Trello cards to the same note. Is this currently possible or in the cards (hah!) for a future release?
I work in academia and use Obsidean to take notes on my reading and distill that information into substantive notes. Because my reading and the concepts I concern myself with are often project-based, I also have project notes that draw on the substantive notes and meeting notes. While working in both project notes and meeting notes new tasks may come up that I sometimes note down as tasks (which I then need to copy over to Trello).
I currently prefer to not use Obsidian as my task tracker/kanban board to separate note taking, conceptual work, and idea generation from finishing off clearly defined tasks. Being inside my vault presents too many opportunities to get lost and stray from my priorities.
Given all this it would be both useful to link
- one Trello card to multiple notes (the meeting note which gave rise to the task and the project note to which it is related)
- mulitple Trello cards to one note (all tasks related to a project).
Maybe I can be convinced that using a Kanban board inside Obsidian is a better approach, but it currently lacks something that has turned out to be crucial for my use of a task tracker: The convenience of creating tasks by forwarding e-mails. Without this, to-be-attended e-mails quickly start piling up in my inbox and effectively become a second cluttered and lossy todo list. Chaos and headaches quickly follow. 🙈
I would second this request. I also would prefer to use Trello as my task manager and having multiple cards attached to one note is necessary for this - that way I can track the project in Obsidian, while handling the individual task management part in Trello with my team.
@OfficerHalf I don't know if you're still actively working on this plugin, but first of all, thanks so much for making it! You are awesome, and I use this plugin a lot. I really appreciate all the work you've put into this.
For me, if you have time to do it, an interface similar to the Todoist plugin would be awesome. Right now, obviously, the plugin can only show a card in the pane. Other plugins that connect to todo managers, like the Todoist plugin, allow you to basically insert the task (or card) info into the note markdown.
I actually think there are a couple ways to implement this that would only take a few hours. Of course, no pressure whatsoever if you don't have the time to work on it. But I do think that you could make a version that is very useful while still being really simple. It won't have all the functionality that everyone might want, but I think it's 80% of the value for 20% of the work.
I think you could do this in a few different ways:
- The very simplest option: Just a command that fetches the embed link for a card in question, then inserts it into the Markdown of the note. This would be almost trivial to implement, but would be really useful. So basically, if the user runs the command, then you'd use a modal to figure out which card they want, fetch its embed link, construct markdown that would display that card in Obsidian via the embed link, then write that markdown to the Obsidian file at the position where the user's cursor is. This alone would actually be really useful, and it would be SUPER simple to implement.
- The next simplest version (although it is a lot more complicated). Only insert the info in the markdown at the time the command is run. Basically just insert text. You could either set it up to format nicely, or you could do it in a really simplistic way. I describe a few different ways you could do this later. Basically, you could do a version with no syncing in either direction, you could make it easy to do syncing one-way, but without making it automatic, you could do simple two-way syncing with modals triggered by buttons in the markdown, or you could do a super complicated version that automatically syncs any changes made to the markdown at all. But the point is, you don't have to do that. I think any of these versions would be great. But I'll describe these options later in the comment.
- You could use a view, rather than inserting text directly in the markdown, like dataview. You could do periodic updates (or even just upon command) and update the view. You could either not allow any changes to the view in Obsidian (so it is only one way), or you could add checkboxes and buttons that can be clicked (which can be done in Dataview) to enable a two-way connection. So, since it's a view, the user would not be able to edit the text directly (which makes the view more consistent), but maybe you could have a button on each card that opens a modal to allow the user to edit the description, or title, or move the card, etc.
I think option 1 or option 2 would be the simplest. And I think either would be super awesome.
I do think that option 2 could be made almost as simple as option 1, though, depending on how you do it. It also gives more flexibility in terms of what you display and how you display it. Here are a few different versions of option 2, with increasing complexity.
- You could not do syncing at all. Just a command that fetches the card info and writes it where the user's cursor is. It would basically just be a markdown rendition of the card at that time. Editing the markdown would of course not affect the card, and you don't do any syncing of changes from Trello. If the user wants to refresh the card info, they can just delete the card info and fetch it again.
- You could do 1, but add a "refresh card" command so that if the user's cursor is on a line that has card info, when they run the command, you fetch the new info, delete the old markdown, and write an updated version. You could even add a button to the card markdown that runs the refresh command when clicked, to make it super easy.
- You could add 2-way sync by way of buttons on the card info that trigger modals where the user can make changes, then you refresh the card info when it's done. Sort of like the refresh button, but you take info to make changes.
- You could add automatic sync in addition to the refresh button. So basically you'd automatically update periodically. Perhaps you could allow users to write a particular tag to a card info line if they don't want it to automatically be updated (for example if they've linked to it, or made local changes that are useful - like deleting some of the info that wasn't relevant)
- You could add 2-way sync automatically if the user edits the card info (again, perhaps unless they put a certain tag on the line to show that they do not want the plugin to sync changes to that card in either direction).
Personally, I think even option 1 would be awsome. Option 2 would be my preference though because it would be so easy to implement. And then if you have time, and it's easy to repurpose the logic you have in the pane, option 3 would add quite a bit more value. I personally do not think it's worth doing 4 or 5. Also, you could start with 1, and proceed iteratively.
For reference, here is my use case, and why this would be useful:
I have notes that relate to tasks that I'm working on. My daily notes page, pages that describe projects I'm working on, etc. I used to maintain my todos in Obsidian directly, then I started using Trello but still writing down simple versions of what I'm working on in Obsidian. But it would be nice to just be able to have a simple version of the cards in the notes so I can see the info, link to it, see the progress I'm making (or not making), etc.
Anyway, sorry for the very long comment. I sort of got carried away while writing this because I'd find this quite useful. If you don't have the time to tackle this, let me know and maybe I'll eventually get around to submitting a PR to your repo to add at least option 1. But right now I have a lot going on, so if I do it, it would probably be in a couple months or so. But do let me know if you don't mind so if you are going to tackle it, I know not to start tinkering around with this idea.
Thanks again for the plugin, and I hope at least something here was useful :).
Dan