johannesjo / super-productivity

Super Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, Gitlab, GitHub and Open Project.
http://super-productivity.com
MIT License
11.39k stars 885 forks source link

Plugin System #3050

Open MortalHappiness opened 7 months ago

MortalHappiness commented 7 months ago

Problem Statement

Currently, there are several integrations: GitHub, Jira, etc. It would be great to refactor these logics as pluggable system so that other developers can easily implement other integrations without investigating and changing the core function of super-productivity.

For example, we can use Notion API to implement Notion integration to find Notion pages in the task creation panel. (I want to implement this feature, so I search the "github" and "jira" keyword in this repo and find 100+ files. 🀯 It's hard for me to implement this feature if there is no plugin system.)

:grey_question: Possible Solution

Refactor the integration logic into the plugin system and clearly state in the documentation how other developers can implement a new integration.

:arrow_heading_up: Describe alternatives you've considered

Only clearly state in the documentation how other developers can implement a new integration without refactoring the integrations part into plugins.

:heavy_plus_sign: Additional context

github-actions[bot] commented 7 months ago

Thank you very much for opening up this issue! I am currently a bit overwhelmed by the many requests that arrive each week, so please forgive me, if I fail to respond personally. I am still very likely to at least skim read your request and I'll probably try to fix all (real) bugs if possible and I will likely review every single PR being made (please, give me a heads up if you intent to do so) and I will try to work on popular requests (please upvote via thumbs up on the original issue) whenever possible, but trying to respond to every single issue over the last years has been kind of draining and I need to adjust my approach for this project to remain fun for me and to make any progress with actually coding new stuff. Thanks for your understanding!

github-actions[bot] commented 7 months ago

Hello there MortalHappiness! πŸ‘‹

Thank you and congratulations πŸŽ‰ for opening your very first issue in this project! πŸ’–

In case you want to claim this issue, please comment down below! We will try to get back to you as soon as we can. πŸ‘€

For more open ended discussions and/or specific questions, please visit the discussions page. πŸ’–

johannesjo commented 7 months ago

Thank you very much for opening this up! I like the idea a lot, but so far I have been unable to devise a concept that would support the many platforms the app is on (like mobile and the web), to this in a satisfying manner.

lukeallister commented 6 months ago

I am also interested in this. This would make it possible to solve ticket 2356 without too much effort, as well as bring in other integrations (freshdesk, vikunja)

therealstein commented 5 months ago

A webhook integration would solve also many use cases , we could have webhooks for, Created Task, Finished Task , etc..

johannesjo commented 5 months ago

@therealstein can you maybe open a separate issue for your suggestion?

cocoonkid commented 3 months ago

I wonder if a plugin system similar to obsidian.md could solve this. They support various platforms.