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

Feature request: if-this-then-that-style support (i.e. recurring cards) #1160

Closed
killua-eu opened this Issue Aug 6, 2017 · 41 comments

Comments

Projects
None yet
9 participants
@killua-eu
Copy link

killua-eu commented Aug 6, 2017

Being able to set rules initiating a specific action (i.e. move a card) in case that something else happens (i.e. if card is past due date) would make Wekan very suitable for several professional use-cases. Implementing this would top existing possibilities that, only Odoo partially covers (and which aren't really present in Trello). Typical use cases:

Recreate a card yearly on 1st June: i.e. company ABC needs to perform periodic maintainance on a machine to adhere to standards.
Send mail if card is moved: i.e. if the above card is recreated, and the safety manger of ABC moves it from TODO to DOING, send automatic maintenance request to company XYZ and a copy to the safety manager.
Create a card if some other card past due date: lets assume the recreated card isn't moved to "DONE" within 15 days. There's a problem that needs to be elevated higher up the food chain. So the rule might create a new card on ABC's production directors' board to figure out what's happening.

... usecases such as this can be quite many as you can surely imagine and could act upon external events (i.e. according to ABC's bank API, the company received $10.000.000 or more --> create a card: "party hard").

There are some ways to approach this issue:

  1. implement a subset of features directly into Wekan
  2. bind wekan with another opensource tool (https://github.com/huginn/huginn comes to my mind) and make these two play together smoother then butter (i.e. create rules from within wekan)

Using the 2nd approach make's things a bit more complex and limited by huginn (or similar), but would also help resolve integration tickets such as #1100 . In case someone would pick this up, I'm willing to build a VPS and offer it to the wekan team on which huginn (or anything else) would be preconfigured in case that would be needed/welcomed.

@ocdtrekkie

This comment has been minimized.

Copy link
Contributor

ocdtrekkie commented Aug 6, 2017

Your number (2) approach would basically be to ensure everything you want to be able to do in Wekan can be done via the API. Then all you need is people to write plugins for things like Huginn to do them. That's probably a smarter approach than overloading Wekan with all the sorts of functionality an IFTTT-like program would have.

@killua-eu

This comment has been minimized.

Copy link

killua-eu commented Aug 7, 2017

I concur, even though I'm not generally extremely happy with the state of Huginn and its dependency on Ruby. Though I do believe that a to make this really useful, a minimal subset of wekan rules for huginn should be maintained by the wekan dev community. This would provide a selected subset of interesting features wekan is currently missing out-of-the-box (thinking of an administrative option "use huginn" tha would require hugin to be a runtime dep) and at the same time a working example that people can hack to their needs and possibly even share back with everyone, building a specific ecosystem i really didnt see anywhere else.

@killua-eu

This comment has been minimized.

Copy link

killua-eu commented Sep 12, 2017

Added a bounty on this issue. Please see https://www.bountysource.com/teams/wekan/issues

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Oct 20, 2017

@jttttttttt

This comment has been minimized.

Copy link

jttttttttt commented Oct 21, 2017

I have just used Butler for Trello and it makes Trello super versatile with lots of automations. If there is anything that can achieve similar functionality within Wekan, I'd throw some bounty into that:
https://trello.com/b/2dLsEE9t/butler-for-trello

Once you decided which way to achieve is the best one (Huginn, Flogo, DRAKON, ...), please let me know so I can put my bounty in for that!

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Oct 21, 2017

@jttttttttt

I will test both Huginn and Flogo, and then use the one that is better. Implementation starts after you have added your bounty to this issue:
https://www.bountysource.com/issues/47991500-feature-request-if-this-then-that-style-support-i-e-recurring-cards

@killua-eu

This comment has been minimized.

Copy link

killua-eu commented Oct 22, 2017

Flogo sounds really interesting - will look into it too.

@jttttttttt

This comment has been minimized.

Copy link

jttttttttt commented Nov 6, 2017

Hi guys, I just added some bounty to this issue.

@xet7 Have you made a decision yet if you want to use Huginn or Flogo?

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Nov 6, 2017

@jttttttttt

Not yet, I need to do some tests.

@xet7 xet7 added this to Not started yet in Wekan Roadmap Nov 22, 2017

@xet7 xet7 moved this from Planned, not started yet to In progress: xet7 in Wekan Roadmap Feb 20, 2018

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Mar 9, 2018

I'm starting to work on this feature soon.

@jttttttttt

This comment has been minimized.

Copy link

jttttttttt commented Mar 31, 2018

@xet7 How's it coming along? Got a rough ETA?

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Mar 31, 2018

@jttttttttt

I wish ETA could be about 2-4 weeks, but I'm not so good with estimates.

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Mar 31, 2018

@jttttttttt

This is important feature that I need for other customer also, so this will get done anyway.

@Digital-Thor

This comment has been minimized.

Copy link

Digital-Thor commented Apr 12, 2018

For visualization purposes, I coded some front-end changes to show how the Automation solution might be implemented. As an example of tracking Card Due Dates, I used a board that tracks aging account-receivables. It shows a new Automation swimlane and an Add Automation button.

image

Clicking the Add Automation button would bring up a Butler-style Trigger-Actions wizard as shown below. Some of the details are unique to our application so ignore the details such as the wording change of "Card" to "Case", the actual actions in the Does column. The general concept would be that the automation would run when cards hit the date configured in the List heading.

A general solution would probably only include sending emails. A more advanced approach could enable HTTP calls to be configured elsewhere and listed as actions in the Does column.

image

@killua-eu

This comment has been minimized.

Copy link

killua-eu commented Apr 12, 2018

@xet7 , what is your preferred implementation then? flogo / huggin / something else? just curious as I'll need something similar in an other project. Thanks

@d3dbit

This comment has been minimized.

Copy link

d3dbit commented Jun 12, 2018

Hello all,
What about this feature request (if-this-then-that)? Do you have some updates?
Has anybody implemented the flogo option?
I am very interested in this feature for automating some processes.
Thanks.

@boredland

This comment has been minimized.

Copy link

boredland commented Jun 26, 2018

I'm very interested in repeating cards.

@d3dbit

This comment has been minimized.

Copy link

d3dbit commented Jun 26, 2018

Me too. I am very interested in repeating cards.

@Angtrim

This comment has been minimized.

Copy link

Angtrim commented Jul 8, 2018

I'm interested in this feature too.
I have tried Butler for Trello and the UX and the features are really well done.

In particular I really like the approach to divide the system in "triggers" and "actions", where it's possible to have multiple "actions" for a trigger and it's possible to manually sort the actions (this is useful for example in the case I want to "Remove all members" first and the "Add a specific member".

Maybe could be useful to implement also a multiple trigger systems using logic connectors, like "if the card is moved AND it's friday", or "if the card is moved OR if the card is archived".

I will probably try to implement this feature soon.
So if we reach a draft design of this thing I can start messing around and see what I can do.

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Jul 8, 2018

@Angtrim

Those trigger, action, and, or, etc words could be in dropdowns, and be translatable. And also ability to add and remove rules. Yes you can try to start implement it.

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Jul 20, 2018

Moved to here from #1792

From @tigger10

A feature request: when creating a new card, could a label (colour) be auto-assigned.

For example, I have a Work and Home backlog lists. Cards are then moved to a Buffer list but then it's difficult to visually sort the original cards from Work and Home. Assigning an auto-colour could help.

@Angtrim

This comment has been minimized.

Copy link

Angtrim commented Aug 4, 2018

I've started working on this feature.
Just to give everyone an update I'm sharing the first screens of what I'm building.
I'll follow more or less the UI and functionalities of Butler for Trello.
I've started from rules (triggers + action) and I'll add later scheduled actions.

Suggestions/requests are welcome.

screen shot 2018-08-04 at 15 37 38

screen shot 2018-08-04 at 15 37 59

@sfahrenholz

This comment has been minimized.

Copy link

sfahrenholz commented Aug 4, 2018

Seems very nice! Thank you!

Did you plan a Rule/Trigger with can creates of a kind of a label Checklist-Elements?
For example, i add to a Card the label "Enhancement" so i want a Checklist "ToDo" with the items "Documentation, create Resources" and more.

Annother question, can you add an list of your triggers/rules?

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Aug 4, 2018

@Angtrim

Would this make possible:
When card is moved from one list to another,
send email that has card name as subject line of email.

@Angtrim

This comment has been minimized.

Copy link

Angtrim commented Aug 15, 2018

@sfahrenholz Yes, that's on my features list.
@xet7 Also that it's on my features list.

Here a draft list of what I'm thinking to implement:
Rules

Triggers

	Board: create card, card moved to, card moved from
	Card: [label, attachement, person ] added/removed, name starts with
	Checklists : checklist added/removed, check item checked/unchecked, checklist completed

Actions
	Board: move card to list, move to top/bottom, archive/unarchive
	Card: [label, attachement, person ] add/remove, set title/description
	Checklists : checklist add/remove, check/uncheck item 
	Mail: send email to

Calendar

Triggers
	Recurrent day/month/year/day of the week

Actions
	Board: create card with [title, description, label, checklist, person, date]
@d3dbit

This comment has been minimized.

Copy link

d3dbit commented Sep 11, 2018

Hello all,
Do you have any update on this feature?
Has someone tried flogo or huginn for automating tasks?

https://www.flogo.io
https://github.com/huginn/huginn

Thanks.

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Sep 11, 2018

@d3dbit

Currently @Angtrim has in progress adding IFTTT directly to Wekan, without Flogo and Huginn.

It is already possible to do IFTTT by using Wekan REST API https://github.com/wekan/wekan/wiki/REST-API with any programming language, and Flogo/Huginn, if you are in a hurry and need it right now.

I have not had yet have time to look how Flogo and Huginn works.

xet7 added a commit that referenced this issue Sep 16, 2018

- IFTTT Rules. Useful to automate things like [adding labels, members…
…, moving card, archiving them, checking checklists etc.

  Please test and report bugs. Later colors need to be made translatable.

Thanks to GitHub users Angtrim and xet7 for their contributions.

Related #1160
@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Sep 16, 2018

Wekan v1.47 released today, includes. IFTTT rules. Please test and report bugs.
https://github.com/wekan/wekan/blob/devel/CHANGELOG.md

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Oct 2, 2018

IFTTT already mostly works on edge:
https://github.com/wekan/wekan-snap/wiki/Snap-Developer-Docs

Some small issues still to fix, as seen from comments at #1912

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Oct 7, 2018

#1936 has fix to most of #1912 that will be closed.

So what's actually left is:

  • Editable rules
  • Add checklist items to checklists.
  • Existing lists dropdown.

Progress on those will be added to this issue.

@xet7

This comment has been minimized.

Copy link
Member

xet7 commented Oct 10, 2018

@sfahrenholz

Wekan v1.53.2 snap+docker included latest IFTTT.
You can add docs to this wiki page:
https://github.com/wekan/wekan/wiki/IFTTT
There can also be animgifs in that documentation, that would be even better. Someone can use peek to record animgif in Linux https://github.com/phw/peek
And attact screenshots and animgifs to this issue in zip file.

@sfahrenholz

This comment has been minimized.

Copy link

sfahrenholz commented Oct 10, 2018

@xet7 and all others
i create a first version for the documentation of IFTTT.
Any feedback are welcome or can be change/added. There are some images which are not included in the documentation (for example the guis for triggers, actions,.. see ifttt-folder)

@xet7 xet7 closed this Oct 11, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment