cloud-atlas-ai / obsidian-am

Interoperability between Obsidian and Amazing Marvin
MIT License
16 stars 1 forks source link

FR: Task format compatible with Tasks plugin #42

Open melimelo24 opened 7 months ago

melimelo24 commented 7 months ago

Hi! Great work with this plugin. The new version finally let me validate tasks from Obsidian so I am super excited about it ^^ Can't wait for your official apparition in the Obsidian Community Plugins.

Before I get into the thing below, I think an important change would be to put the task text before any of the due/scheduled date. It would be much easier to read. Can be a quick option if some folks feel different to me. I think it's small enough to not create a post about it (but I can if it's better to separate issues).

Then onto the meat of this feature request. Right now the tasks created and imported with the plugin have these dataview infield:

It would be nice to have an option to change those fields so they can be directly compatible with the Tasks plugin emojis format (https://publish.obsidian.md/tasks/Reference/Task+Formats/Tasks+Emoji+Format):

And, less important to me but perhaps easier to implement :), using the Tasks dataview format could be useful to some people as well (https://publish.obsidian.md/tasks/Reference/Task+Formats/Dataview+Format)

Of course some people might be already used to the current format, which is why I suggest it should be an option and not a breaking change.

ilvetz commented 5 months ago

upvote

Tasks plugin integration would help a lot both users and AmazingMarvin itself

muness commented 5 months ago

How do you all envision using Tasks plugin with Amazing Marvin (and this plugin). I find them to overlap and find the Tasks plugin has too much overlap, so I turn it off. Data view, on the other hand integrates nicely.

muness commented 5 months ago

Thinking about the design itself, it may be that the way to go is to have pre-configured templates that play nice with other big plugins (like Tasks, Data View, Data View and Tasks)...

ilvetz commented 5 months ago

@melimelo24 provided references to the Obsidian Tasks documentation, offering correct suggestions.

If the plugin synchronized tasks from Marvin, adhering to the format settings of Obsidian Tasks, it would ensure that all knowledge, life and task management potentially resides in a single environment (Obsidian).

Personally, I would use Amazing Marvin as a task manager, particularly for planning and scheduling phases, while keeping Obsidian as the execution environment, allowing me to use either tool interchangeably for task management when ADHD forces me to prefer one rather than the other.

For example, it would be possible to use Obsidian Tasks' native queries as an alternative to Amazing Marvin's smart lists. Example:

```tasks
not done
[due before next two weeks] OR [scheduled before tomorrow] OR [starts before tomorrow]
limit 10
sort by due, priority # reverse
path does not include Extra
show edit button

I spend most of my time working in my daily note in Obsidian, which I use as a log. The integration between the tools would allow me to merge the knowledge acquisition and management process with task management, enabling me to show active tasks in the daily note and work on them avoiding switching from one application to another.

I hope this clarifies.

muness commented 5 months ago

Tasks is just another plugin and not native Obsidian. I don't use it and I'm guessing many others who use this plugin won't either. I actually see them as conflicting plugins: just being able to check off tasks while Tasks is running was several hours of work.

As someone who doesn't use Tasks, I'm trying to understand how you see them work together so that I can improve the important aspects of the experience. Without that understanding I'm likely to build something that doesn't actually improve the integration in a meaningful way but just at a surface level.

ilvetz commented 5 months ago

I don't mean that you should integrate Obsidian AM's code into Obsidian Tasks codebase. And I don't mean you should load Obsidian Tasks tasks from the vault to Amazing Marvin.

tasks queries are comparable to dataview queries, only for tasks (checklists that adhere to Obsidian Tasks formatting rules). This view is the output of the Obsidian Tasks query that I wrote before and I would like to use in my daily note. One could have different views on other notes too.

image

I would like these tasks to come from Amazing Marvin, to be read from the notes synced by your plugin. So I can view the same tasks in Obsidian and Amazing Marvin interchangeably. As you already developed the "mark as done" feature, I could also close tasks in Obsidian.

So, as @melimelo24 suggested, it would be enough to adhere Obsidian Tasks settings for:

  1. tag that allows you to distinguish tasks from checklists
  2. infields for dates, priority ecc. (eentually allowing users to customize and decide by themselves emojis or dataview field names).

I believe that those changes are enough to complete the 99% requirements of Obsidian users who are evaluating Amazing Marvin as their Task Manager or who wants to use both tools (Obsidian as a client and Amazing Marvin as the "back-end layer" for tasks).