Topics or response modes
The Comment context switches input into “catch all” mode - that is everything typed is taken as notes (but before this context there are NonASCII, YesNo, Cancel and some other contexts). If you for some reason decided not to post comment but already switched to this “catch all” mode. And already called some othe contexts (for example, typed cyrillic text (NonASCII)) the “undo” will not work! So there will be no way to cancel context...
Actually would be. As a temporary solution I modified Cancel context to check if the Comment context is in “catch all” mode and if it is it will always cancel it. But this is only a temporary and dirty solution...
Situations like this make me search for some way to extend Orangutan architecture... I think that such “modes” can be a normal thing and in future and many other contexts can use them. In this case tweaking the Cancel context won’t help. Some of these context can require some other context to be before them in the queue - so moving the Comment to the beginning also won’t help...
Currently this is only idea which is to be developed but... We can add “modes”. Modes will have their own set of contexts. A sample of a mode can be issue creating mode (by the way one of the future tasks). In this mode there will be many special context for editing. Modes would also allow the same context to behave different depending on the mode set (MainIssue and Issue context could be merged if special “task editing” mode was added).
Some possible API look:
$user->Enter('issue', %options); $user->Exit('issue');
#1 Updated by Andriy Lesyuk over 9 years ago
Modes (maybe “topics”?) will also solve one of current problems:
When user adds Orangutan but have not configured it yet and answers incorrectly on some question the message is taken as a task name and Orangutan asks about task’s project, activity etc. These question get mixed with configuration questions and often misunderstandings happen.
When users is not configured there can be a strict mode/topic. Then after the configuration is complete Orangutan can switch to default mode where Task context will be available. So this wat the issue can be solved!