Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate with Obsidian Tasks plugin #219

Closed
davish opened this issue Dec 6, 2022 · 20 comments
Closed

Integrate with Obsidian Tasks plugin #219

davish opened this issue Dec 6, 2022 · 20 comments
Labels
enhancement New feature or request integration interoperability with other plugins parsing Related to event parsing

Comments

@davish
Copy link
Collaborator

davish commented Dec 6, 2022

Add a per-calendar setting for inline tasks in daily notes to use the format supported by Obsidian Tasks for parsing and serialization. This will allow Tasks to show up on Full Calendar and for Full Calendar tasks to show up in Task queries.

@davish davish added enhancement New feature or request parsing Related to event parsing integration interoperability with other plugins labels Dec 6, 2022
@davish
Copy link
Collaborator Author

davish commented Dec 6, 2022

I'm guessing this will be a popular feature request, so I am very open to feedback here :)

There are a bunch of dates that can appear in a task. Which one should be considered the date for the task on full calendar?

  • Due date
  • Scheduled date
  • Start date
  • Daily Note date

I don't think Start date is relevant for the purposes of calendar placement, since it doesn't correspond to when a task is actually going to be completed.

Priority of remaining dates:

  1. ⏳ Scheduled date
  2. 📅 Due date if ⏳ is not defined
  3. Daily note date if 📅 is not defined

@davish
Copy link
Collaborator Author

davish commented Dec 6, 2022

The Tasks plugin doesn't have any syntax for specifying the time of an event, so the startTime/endTime/allDay parameters will remain in use.

@davish
Copy link
Collaborator Author

davish commented Dec 6, 2022

How should tasks move between notes when they are moved in Full Calendar? Right now, inline events/tasks always live in the daily note corresponding to when they take place.

  • If ⏳or 📅 is defined, then don't move the task to a new note, even if the date changes.
  • Otherwise, move the task.

I believe this matches how the Tasks plugin works -- the file name only matters when the default date setting is enabled.

@Zebrazilla
Copy link

The Tasks plugin doesn't have any syntax for specifying the time of an event, so the startTime/endTime/allDay parameters will remain in use.

I realize mine might be a special use case of sorts, but I divide my day planner in daily notes into the sub-headings 'morning' / 'rest of the day' / 'evening'. While it complicates things in Full Calendar, something I'd like to see would be the ability to do something like this, or a variation of:

  • Specify sub-headings in options that different 'startTime's would fall under, i.e. 'startTime' of between 0500 and 0900 is put under 'morning' sub-heading, 0900 to 1900 is put under 'rest of the day', 1900 to 0500 is put under 'evening'
  • Directly specify a sub-heading when creating a task event, picked from sub-headings available under the heading that's specified in options as "Under heading x in daily notes"

Some questions I have regarding this that I didn't find an answer to in your ideas above (apologies if I missed it); what is the plan for detecting tasks in a daily note? Will it detect only tasks under a specific heading, similar to how adding an event puts it "Under heading", or will it be able to discern all Tasks tasks in the note?

@davish
Copy link
Collaborator Author

davish commented Dec 8, 2022

Some questions I have regarding this that I didn't find an answer to in your ideas above (apologies if I missed it); what is the plan for detecting tasks in a daily note? Will it detect only tasks under a specific heading, similar to how adding an event puts it "Under heading", or will it be able to discern all Tasks tasks in the note?

@Zebrazilla, it will continue to detect tasks under a specific heading.

@jebeaudoin
Copy link

I look forward to this integration. As a journalist, the due date is the highest priority for me (I hardly ever use scheduled although I understand its value to others. It would be easy enough to create "deadline" events on my calendar and switching to using "scheduled" dates on my tasks -- and might even improve my workflow. But would it be possible to parse more than one of these task dates (since a task is not = markdown note)?

@claremacrae
Copy link

As the maintainer of Tasks, I am very happy to pair with someone who knows this plugin’s code well and has merge permissions, to make this happen.

I can be contacted via the email in my GitHub profile.

@claremacrae
Copy link

If there was a use case for it, I would be happy to make tasks to offer the choice of which type(s) of dates should be inferred from file names, instead of just scheduled.

@claremacrae
Copy link

There are a bunch of dates that can appear in a task. Which one should be considered the date for the task on full calendar?

  • Due date
  • Scheduled date
  • Start date
  • Daily Note date

I don't think Start date is relevant for the purposes of calendar placement, since it doesn't correspond to when a task is actually going to be completed.

From doing Tasks' user support, I don't think there is a single agreed answer that everyone would use to select between the available dates. So I think that might suggest allowing the user to select which one they wanted to schedule the task for.

Alternatively, here's a reply I found useful when asking a similar question in Tasks:
obsidian-tasks-group/obsidian-tasks#616 (reply in thread)
"use the earliest of the available dates"
In other words, display a task on the earliest of its dates.

@claremacrae
Copy link

Having said the above, I do think that the order you propose in #219 (comment) makes a lot of sense.

@davish
Copy link
Collaborator Author

davish commented Dec 12, 2022

As the maintainer of Tasks, I am very happy to pair with someone who knows this plugin’s code well and has merge permissions, to make this happen.

@claremacrae, thank you for the offer! I likely won't have time to start working on this until after the New Year, but will follow up with you in January.

@davish
Copy link
Collaborator Author

davish commented Dec 12, 2022

The relevant feature request I submitted to the Tasks plugin: obsidian-tasks-group/obsidian-tasks#1389

@pcause
Copy link

pcause commented Jan 5, 2023

There are a bunch of dates that can appear in a task. Which one should be considered the date for the task on full calendar?

* Due date

* Scheduled date

* Start date

* Daily Note date

I don't think Start date is relevant for the purposes of calendar placement, since it doesn't correspond to when a task is actually going to be completed.

If there is a start plus due date than I'd treat the item as occurring on each of the days. If only one of the two show on that day.

Priority of remaining dates:

1. ⏳ Scheduled date

2. 📅 Due date if ⏳ is not defined

3. Daily note date if 📅 is not defined

Since time isn't supported you can scan the item for a regex match for: \d\d:\d\d or d:\d\d-\d:\d for a time

@pcause
Copy link

pcause commented Feb 8, 2023

as a simple first step, can you add the due date when you create a task item. Right now when I use the popup to add an item as a task, it creates the task on the daily note page for the specified date but the item doesn't have a due date of that day. If you added that we'd get some integration because you imply that the specified date is the due date by putting it on the daily notes page for the date.

Today you create an item with text AAA as on 2023-03-01, then on the daily notes page for 2023-03-01 you add:

  • [startTime: 08:00] [endTime:: 09:00] AAA

I'm suggesting you add the time as:

  • [startTime: 08:00] [endTime:: 09:00] AAA 📅2023-03-01

I can then use tasks queries that use due dates and the calendar item created will get included.

@claremacrae
Copy link

I don't know this plugin, but in case it helps, Tasks has the ability to treat dates in file-names as Scheduled dates, if you turn that on:
https://obsidian-tasks-group.github.io/obsidian-tasks/getting-started/use-filename-as-default-date/

@claremacrae
Copy link

So if you could express your Tasks queries using scheduled - possibly with boolean OR to also pick up due - than might you be able to do what you wish with the current code?

@pcause
Copy link

pcause commented Feb 8, 2023

thanks clare, and I knew that. The author of the plugin asks that requests be limited to a single request per issue. I made another request in #272 for a single note to be able to have multiple calendar items and this would be needed to pair with that request, even though it also stands on its own.

@pcause
Copy link

pcause commented Feb 11, 2023

So if you could express your Tasks queries using scheduled - possibly with boolean OR to also pick up due - than might you be able to do what you wish with the current code?

I already use happens in my tasks queries, and this picks up scheduled. if full-calendar added a scheduled icon/date when adding the item that would work for me. scheduled without times would be all day, scheduled with times is an event at that time start/end

@MKDJr
Copy link

MKDJr commented Feb 28, 2023

Wanted to chime in and make a request and also thank you for the plugin!

Tasks integration with Full Calendar would be an amazing addition to my workflow. With the recent addition of statuses, especially, seeing that represented in calendar view would be fantastic.

@wc8
Copy link

wc8 commented Mar 1, 2023

I'm guessing this will be a popular feature request, so I am very open to feedback here :)

There are a bunch of dates that can appear in a task. Which one should be considered the date for the task on full calendar?

* Due date

* Scheduled date

* Start date

* Daily Note date

I don't think Start date is relevant for the purposes of calendar placement, since it doesn't correspond to when a task is actually going to be completed.

Priority of remaining dates:

1. ⏳ Scheduled date

2. 📅 Due date if ⏳ is not defined

3. Daily note date if 📅 is not defined

Showing a task both scheduled and due date (if applicable) showing the on the calendar, daily note if they are not defined.
Further, an option for recurring if a task has until the due date seems like a good idea, either from the start date or the scheduled date. Are repeat dates under consideration? Maybe that would be another factor for recurring.

Example scenarios:

  • A bill is due on the end of the month (📅), one aims to pay it five days early (⏳). Both days (📅,⏳) show the task.
  • Write chapter is planned for today (⏳) or every Friday (🔁)
  • Project X is due by (📅) next month, work cannot start until Tuesday, after which every weekday (🔁), some work on it is ideal, until it is finished.

For extra credit ... showing the date marker(s) (⏳,📅), or other visual cue for it (such as by adjusted color opacity) could be helpful

@obsidian-community obsidian-community locked and limited conversation to collaborators Apr 7, 2023
@davish davish converted this issue into discussion #376 Apr 7, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
enhancement New feature or request integration interoperability with other plugins parsing Related to event parsing
Projects
None yet
Development

No branches or pull requests

7 participants