botframework-sdk icon indicating copy to clipboard operation
botframework-sdk copied to clipboard

Feature: Create a new TaskManager dialog/component

Open Stevenic opened this issue 6 years ago • 0 comments

Issue

We currently leave it up to every bot developer to have to implement their own top level dispatch dialog for managing interruptions and switching between tasks. I believe we can save developers a lot of headaches while creating a richer experience for users by creating a new TaskManager component that they can drop into a bot and then customize.

Proposed change

A TaskManager would be different then a VirtualAssistant because it would be geared to managing a users completion of specific tasks versus simply dispatching over a set of skills. Developers would add a TaskManager instance to their project and then start registering tasks in the form of dialogs. The TaskManager would come out of the box with its own LU and LG files that the developer can customize and incorporate into their project. The task manager would have a number of user facing features:

  • General ability to dispatch over all configured tasks.
  • Tasks can be configured to say that they should prompt the user before allowing another task to interrupt it.
  • Users can request to save an active task and come back to it later. The TaskManager can also prompt users to save tasks and then later remind the user about tasks they haven't finished.
  • The task manager can defer new tasks until after the completion of current tasks. So if you're booking a flight and ask to book a car in the middle of that it will offer to do it after the flight booking is finished.
  • A history of the users previous tasks can be maintained and the user can ask questions about previous tasks.
  • Previous tasks can be used as templates when start new tasks. You can repeat a previous pizza order or use preferences from a previous flight to the same city.

Tracking Status

Dotnet SDK

  • [ ] PR
  • [ ] Merged

Javascript SDK

  • [ ] PR
  • [ ] Merged

Java SDK

  • [ ] PR
  • [ ] Merged

Python SDK

  • [ ] PR
  • [ ] Merged

Emulator

  • [ ] PR
  • [ ] Merged

Samples

  • [ ] PR
  • [ ] Merged

Docs

  • [ ] PR
  • [ ] Merged

Tools

  • [ ] PR
  • [ ] Merged

[dcr]

Stevenic avatar Oct 18 '19 08:10 Stevenic