Enhancement
Customizable context menu
Issue description
Currently the context menu is created automatically from the services. This has some downsides:
* sometimes a context menu might not be appropriate
* services that have more than one parameter which can be bound to the same range, only get one entry
* the neutral service name might not be perfect
* similar mechanisms (e.g. bound form entry) are hard to implement
* the order of the menu entries cannot be influenced
With this enhancement all those downsides should be eliminated. A minimal context menu ontology is necessary. Implement it in an expandable fashion and make sure menu entries can be deactivated with failing a precondition.
Developer comments
Mechanisms for customizable context menus were created. Currently there is only one type of entry: _dynamic links_ which are composed of a topic of this type and a PHP class in the filesystem. The class has three methods %href%, %is_active% and %is_hidden%. Later two may be omitted, but are very handy to guide the user. For example, once a work session is finished (the end is set), the context menu entry _Finish_ is deactivated. The indented main use of dynamic link entries is to enable bound form entry (parameters to the form are given in the url). This works very well.
Generally speaking, this mechanism makes it easier to connect the _procedural domain_ of the user to the web database. Previously the end user was left alone on _how to do things_. He gets much more support regarding this issue with the resolution of this issue in Topincs 5.7.
Currently the context menu is only available on the topic page. In one of the next versions context menus will be available _on links to the topic page_.
Use cases
A work session has a context menu item _Finish_, when clicking it the user edits the works session and the current datetime is set in the end field. All he has to do is click %Ok%.
An issue has an context menu item _New work session_. When clicked, the form for a new work session is presented. The start is set to now, the worker is the current user and the issue is set to the subject in context.
|
Work sessions6
Start |
2011-11-29T07:21:15
|
End |
2011-11-29T09:17:56
|
Participant |
Robert Cerny
|
Start |
2011-11-29T11:30:15
|
End |
2011-11-29T16:38:02
|
Participant |
Robert Cerny
|
Start |
2011-11-29T19:41:45
|
End |
2011-11-29T20:14:33
|
Participant |
Robert Cerny
|
Start |
2011-11-30T09:35:03
|
End |
2011-11-30T10:35:38
|
Participant |
Robert Cerny
|
Start |
2011-12-01T10:00:31
|
End |
2011-12-01T11:09:13
|
Participant |
Robert Cerny
|
Start |
2011-12-01T14:32:12
|
End |
2011-12-01T15:39:22
|
Participant |
Robert Cerny
|
|
We are sorry
This page cannot be displayed in your browser. Use Firefox, Opera, Safari, or Chrome instead.