This proposal has been added here for review by Mantis devs, accompanying http://www.mantisbt.org/bugs/view.php?id=10543. An initial draft was made at https://picoforge.int-evry.fr/cgi-bin/twiki/view/Helios_wp3/Web/MantisMonitoringRemoteBugs , FYI.
We propose to have a plugin in Mantis which facilitates the monitoring of remote-bugs.
There are 2 goals for this extension of Mantis :
Mantis already provides certain relationship_types in the “metadata”, for property of relations between bugs. Currently however, this feature is only for linking local bugs (in the same mantis instance). Through the plugin, we propose to add additional relationship_types and also allow the current relationship_types for external bugs (also called remote bugs / external bugs ?). The new relationship_types could represent different semantics, like:
In addition, the current relationship types used for local bugs could also be used for external bugs (parent / child, etc.) It will be the administrator’s duty to define the relationship types in an understandable way, and compatible with the agents capabilities (see below).
Each local bug is permitted to have multiple relationships which connect it to different external bugs. Each of these relations would have:
There is a set of configured external_bugs_relation_types with :
Whenever new elements are added to the external bug’s log, notifications are sent by mantis to all users who have the monitoring property On for its local bug. These notifications are sent in the same way through emails, as is done for comments added to the bug, for all those monitoring it, reporter, etc.
The log would be available as RSS too.
As per the need of bts-link, the plugin would monitor specifically “forwarded-upstream” relations meaning that the bug is no longer local but needs to be addressed in an external bugtracker. Additional “resolution” values would be added to the existing ones :
These could be set by the bts-link agent, in addition to its additions to the relationship logs, to allow reports to be performed on such “pending” bugs which need to be considered by developers (in the “My view” page for instance).
The agent will fetch (through soap) a list of all bugs whose external bugs are to be monitored by bts-link (filtering by relation_ship types). This would consist of the local bug ids and the corresponding external bug URLs. By default only open bugs will be returned, but an option could be used to retrieve closed ones as well.
Whenever a related external bug is closed as a duplicate of another one, the one still open will be saved and proposed instead of the one recorded initially.
The bts-link allowed to monitor a relation_type on a mantis instance will extract the previous state from the most recent entry notifying the status in its log. In case concurrent tools are running, the others will not use that log nor notify users through mantis, but they could run nevertheless, using usertags and separate notification mechanisms (described in another document).
Note : the following proposal is made in the frame of the Helios project working on the subject of bugtracker synchronisation.
Note that in waiting for this feature to be integrated in Mantis, we have devised a working version of bts-link anyway, see : http://permalink.gmane.org/gmane.comp.bug-tracking.mantis.devel/2457