Friday, January 15, 2010

Mizura Jira Connector Plugin Growing

In the last two days, I've been working on the architecture of mappers and elements of Mizura's connector plugin.

Mappers

The mappers are responsible for obtaining the configuration mapping, for example, notifying that one use case is mapped to one issue task in Jira or that one UML package is mapped to one Jira component.

In practice, the mappers are extensible and configurable, allowing any type of connection between elements.

In default implemention, Mizura comes with a simple PropertyFile mapper.

Elements

The elements are the artifacts to be synchronized, such as use cases, tasks, components, versions, relationships and so.

The elements are configurable using type and synchronization options, and are linked one to the other in configuration mapper.

Synchronization

The architecture of the mappers and elements seems to be good.

What will be tricky now is the synchronization itself. See the class:

public enum SynchronizationOptions {
 ADD,
 UPDATE,
 UPDATEIFNEW,
 DELETE,
 DELETEWITHPURGE,
 ADD_UPDATE,
 ADD_UPDATEIFNEW,
 ADD_DELETE,
 ADD_DELETEWITHPURGE,
 ADD_UPDATE_DELETE,
 ADD_UPDATE_DELETEWITHPURGE,
 ADD_UPDATEIFNEW_DELETE,
 ADD_UPDATEIFNEW_DELETEWITHPURGE,
 UPDATE_DELETE,
 UPDATE_DELETEWITHPURGE,
 UPDATEIFNEW_DELETE,
 UPDATEIFNEW_DELETEWITHPURGE;
}

Powered Synchronization

This list shows the 17 (there are some mistake?) possible synchronization options available for mappable elements.

I'll be working on it in the next few days and I believe that in two or three(layer) weeks an alpha version of the Mizura connector will be available.

Extensible Architecture

After some refactors, now it is relatively easy to create new connectors to other tools, like Rose, Excel, Trac, etc.

In short, the Mizura platform should be open to various synchronization possibilities, like as Ea to Jira, Jira to Jira, Jira to Rose, Rose to EA, Excel to Jira or ... any combination form.

Again, I hope ;)

No comments:

Post a Comment