User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:issue:7970

This is an old revision of the document!


Synchronization between different Mantis Instances

Author: Martin Fuchs

Introduction

There has been a recent discussion on the mailing list about synchronization between different mantis instances and “bug replication”. There seem exist alreafy a few home brewn tools to full fill the main requirements, but there is still missing a generalized solution. I have also written some utilities for our special environment, but they ae implemented in C++ and Java, as I am not a PHP programmer. They are also using a Web service, but are independent from MantisConnect. This are the reasons why I guess you are not willing to take my code as starting point. ;-) So let's start again with the design phase and write down the requirements for a synchronization solution between different Mantis instances in this Wiki page.

Requirements

  • A common setup is the installation of one Mantis instance (let's call it “extern”) with customer access and another instance with access for developers also containing some entries hidden from the customer (let's call it “intern”), may be also containing notes generated by CVS/SVN commits. The entries of this two Mantis instances should be synchronized. The relationship between the two instances is a master/slave relation: The external instance can be used to enter new issues from the outer side. This should become immediately visible in the internal instance. But the master for the entry status is located in the internal instance. (May it would be useful to be able to configure a master detail chain with more than two instances.)
  • It should be possible to host the two instances on two different machines to separate internal and external networks.
  • The configuration of replication features should be on a per project base, so it's possible for example to activate synchronization only for part of the existing projects.
  • There should be the possibility to configure a mapping for different attributes between the two instances like category, assignees and may be status.
  • Configuration should be available via web forms for users with administrator access.
  • There should be an user interface to synchronize entries in both directions.
  • When duplicating entries from the external to the internal instance, it is sufficient to insert HTML links to attached files instead of copying the whole data.
  • The following things should be synchronized automatically when altering an entry:
 . new entries from slave to master
 . newly attached notes from slave to master
 . status changes from master to slave
  • The connection between entries of the two instances can be implemented by using user defined fields: (This is our current implementation without any need to change the Mantis code. Of course it would be possible for example only to store the IDs of the other instance in any of the two instances and generate the URLs on the fly in the Mantis PHP code.)
 . In the external instance there are stored the IDs of internal entries.
 . In the internal instance there are stored the URLs to immediately jump to the external entries.
  • There should be an overview page (Report) in the master instance showing the list of related entries of both instances side by side:
. Following Attributes should be displayed on both sides: ID, Status, Severity, Summary. Other columns to display could be configured optionally.
. The list items should contain HTML links to go directly to the related Mantis entries.
. Filtering functionality at least for the status is very useful in this list, for example to get a quick overview of open issues.

Implementation

  • As Mantis is a PHP application, I think it would be best to implement the synchronisation features also using the same technique. Posting change messages from one instance to another should be possible by issuing HTML requests.
  • FIXME more details…

Feedback

Please add your comments and feedback in this section.

mantisbt/issue/7970.1179263347.txt.gz · Last modified: 2008/10/29 04:36 (external edit)

CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki