syh19 / siyuan-plugin-task-list

思源笔记插件——任务列表:汇总散落在整个工作空间的任务 Siyuan Note Plugin——Task List: Summarize tasks scattered throughout your workspace
MIT License
27 stars 2 forks source link

Is it possible to add a recurring task and a kanban view similar to schedule manager plugin? #31

Open rishacha opened 1 month ago

rishacha commented 1 month ago

Hi, I really liked this plugin and user experience. I feel that this plugin has better support and configuration options and has better english language support.

I just need these 2 features -

  1. Recurring task creation/tracking
  2. Kanban board

How difficult do you suppose this will be ?

This plugin does most of the job, but I find your plugin to be more polished. Is it possible to merge these features?

syh19 commented 1 month ago

Thank you for your likes and suggestions about the plugin. I will correct my English in the future.

Regarding the two features you mentioned:

Regarding these two features, if you have good specific ideas, please tell me, and I will think about them and see how to implement these features.

rishacha commented 1 month ago

Can you create a notebook or a page with these API functions and add recurring tasks?

https://github.com/RogerHuHu/siyuan-plugin-schedule-manager/blob/1166e4d621b48df67405402e71c44d7c95d061a3/src/index.ts#L88C1-L99C1

syh19 commented 1 month ago

I can create a notebook, but the task-list plugin is different. The task-list plugin obtains task data in the following way: SELECT * FROM blocks WHERE type = 'i' AND subtype = 't' ORDER BY created ASC LIMIT 2000. Tasks can only be data whose block subtype is 't' in the notes.

The completion status of the task is determined by the status of the "block subtype = 't'" in the notes. If Finished is checked, then the task is finished, so I think that there is no way to set a recurring task.

I can give you an example: The date of a recurring task is to be executed every Monday. If Finished is checked on this Monday, then the task on next Monday will already be finished.

rishacha commented 1 month ago

Makes sense. This would mean that either -

  1. Every block needs to have more subtypes or a special subtype for a recurring task
  2. Or we treat this as a special type of task (not registered as a regular block with type 't')... but this would altogether make it a big task to get this feature in place if we work with the binds of the SiYuan API/Block types

I get what you mean.... let me think about a solution for this.

syh19 commented 1 month ago

I think the most difficult point is the recurring task status(todo or done).