Dependency with use of button

Hi guys,

@mdubakov, if you have a moment, I wanted to get your input on an idea I had to set up Dependencies between some entities before they get more full-featured down the road, could you advise?

  • I have a task entity that I wanted to relate to another. The 2nd task will be dependent on the first completing.

  • What I’d like to do is first assign the dependent task. Then, when the first task is completed, with the button function, set up so when the assignee completes that task, he/she can click the button, and that will move the dependent task into an “in progress” state, and notify the assignee that it’s time to begin work on that task (since that assignee is already attached to the task entity).

Is this possible right now with buttons?

If so, I’d create a relation, and name the field “dependent,” and actually I think this would be a very robust dependency arrangement already in Fibery!

Grateful for any input you have, thanks!

I presume you mean that Task entities can link to other Task entities with a ‘predecessor - successor’ relationship, right? Do you envisage the relationship to be one-to-one, one-to-many or many-to-many? In other words, does a task depend on multiple other tasks, and does closing one task mean that multiple subsequent can start?

Hey Chris, thanks for offering to help here!

I’d be happy if this could be on just a one-to-one level, in fact ideally this would be an in-Type relation, as this would be a Type called “Tasks” that has this dependency feature within the Type.

I have played around a bit with Air Table their solution to Dependencies requires that the “record” (in Air Table speak) be within the same table, too:

Thanks!

Would tasks normally be assigned to just one user, or more than one?
Do you normally assign a task to someone while the task is still in the ‘blocked’ state?
I presume you’re talking about notification via fibery, right?
As far as I can tell, notifications are triggered when an entity is assigned, so in order for the assignee to be further notified when the previously-blocked task is ready to be started, he/she would need to be unassigned and reassigned (which can be done with action buttons) or @mentioned in one of the task fields.
Alternatively, you could skip the notification and just set up a personalised view of a user’s tasks which is filtered for the ‘In Progress’ state, and hope that users keep an eye on their list.

Chris, thanks again. Yes, I think what you’re expressing is that we could really use some automation paired with buttons for this to work as I imagine. I have discussed this before with the Fibery team. What would have to happen is the button trigger an automation that would assign the entity upon a certain Workflow state being achieved.

Appreciate the time helping out!

So here’s an app I made that does some of what you’re asking about:

You’ll need to import it into your workspace, but unfortunately, when I experimented with importing it into a new workspace, it generated an error when the button was pressed :frowning:
I think one of @mdubakov 's team will need to figure out why. Seems to be something to do with the workflow extension. Maybe because there was a type called Task that already existed.

To be clear, I am not a SW engineer, so I am sure the coding is terrible , but it works for me, at least.

The idea is that a Task can have a Successor (one-to-one relationship to another Task) and the ‘Close task’ button will do several things when clicked:

  • it checks that the current task is ‘In Progress’
  • it checks that the person clicking is assigned to the current task
  • it moves the task from ‘In Progress’ to ‘Done’
  • it populates the ‘Close date’ field with the current date
  • it sets any successor task to ‘In Progress’
  • it unassigns and reassigns whomever is currently assigned to the successor task (thus generating a notification for them)

If the import works for you, try assigning yourself to First task and then click the button.

If you can’t get it to work by importing, you can try recreating it:
Add a new type called Task and create a one-to-one relationship to itself, called ‘Successor’. Add a date field called ‘Close date’ and enable the Assignments and Workflow extensions. Finally, create a button called ‘Close task’ and copy the action button script from the app I have shared above.
Then add some tasks and link them together.
Hopefully it’ll work that way.

Remember to assign yourself to a task and check that it is in progress before pressing the button.