Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Best practise for developing a "universal plugin"

Alexander Kueken January 18, 2016

Hi,

at the moment we are working on a plugin, that should work for JIRA and Confluence. It is a plugin system 2 plugin. The first idea was, to develop a ref-app plugin, and depending on the SAL functionality. The challenge now is, some parts of the functionality can not be developed with ref-app. As far as it looks like, round about 80% of the plugin is generic and the rest have to be developed individual for Confluence and JIRA (and perhaps other Atlassian products later on).

I see three possible ways to do this, but perhaps I am missing something:

1) The core functionality is developed in a ref-app plugin. And the plugin defines his own module-type. In addition there is a special plugin for JIRA and Confluence each, which extends the ref-app plugin, by implementing the module-type. But with this solution the customer would have to install two plugins.

2) The core functionality is developed in a ref-app plugin, but will not be deployed on its own. Instead it is included as maven dependency in the application specific plugins and get extended there. The advantage is, the core plugin is testable as ref-app plugin. But I am not sure what happens, when a ref-app plugin is included as dependency. Especially if there could be version conflicts.

3) The core functionality of the core plugin have to be totally decoupled from the Atlassian Plugin system, not using any Atlassian libraries. So it can be included as a plain java library into the product specific plugins. In  taht case we would need to write some kind of wrappers, as the core plugin uses a lot of SAL functions.

Is there any best practise for developing such kind of "universal plugins"? I am missing something? Your help would really be appreciated.

Regrads,
Alexander

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

1 vote
Timothy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 18, 2016

Option 2 will be your best bet. There should not be any issues with that.

Alexander Kueken January 19, 2016

Thank you Timothy for your answer. I will give it a try and se where it will lead. I am wondering there is so less information about this topic.

TAGS
AUG Leaders

Atlassian Community Events