The Uno-choice plugin: Strengthening Jenkins UI support for bioinformatics (proposal)

257 views
Skip to first unread message

Ioannis Moutsatsos

unread,
Mar 10, 2014, 10:56:45 AM3/10/14
to biouno-d...@googlegroups.com
The default Jenkins UI and UI related plugins leave much to be desired if they are going to be used for bioinformatic analysis.

In my work with adapting Jenkins for use in biological image analysis and data processing, I have found the lack of any meaningful dynamic behavior and interactivity between UI components quite limiting.

Two points are especially painful. 
  1. The ability to create cascaded dynamic choices, and 
  2. The ability to multi-select options from a selection list
Now, if one spends enough time digging around the Jenkins plugin ecosystem you may find bits and pieces of this functionality but never completely standardized or functional.

Having spend over a week now dealing with the Jenkins dynamic parameter plugin I have discovered that although it is full of good intentions, it can't yet deliver its promise (cascading parameters and multi-select are both features of several snapshots, but not the main code, and the snapshots do not seem to work for me)

On the other hand the extended choice plugin has been one of my favorites for its ability to multi-select. 
However, it does not support any tokenexpansion and the addition of MultiLevel (Cascading), Multi-Select in the newest plugin release is so cumbersome that basically multi-select is impractical for  fewer than a few selections.

So if we will be building bioinformatic and computational analysis using Jenkins we need to address this U issues.

Essentially, we need a new, single, supercharged choice plugin (named Uno-choice if it originates from the BioUno project) to deliver on the following requirements:
  • Ability to mutli-select (standard functionality) with selections generating parameter value as a comma delimited string of the selected choices
  • Ability to use basic token/global and default parameter expansion
  • Cascading, dynamic generation of content based on a parent parameter including support for 'Run Parameter' Type and another cascading parameter as parent
  • Ability to generate choice options from property files similar to extended choice plugin (but with support for token expansion)
  • Ability to generate choice options from groovy custom scripts or scriptlet
Having the Uno-choice plugin would greatly facilitate the R-plugin in support of more dynamic user driven analysis. 

Here is a simple use case to illustrate this.
Selecting columns to plot in the R-Plugin requires that the user is able to multi-select one or more numeric columns. However, the diversity of bioinformatic data makes selection from a static list impractical. Each data set has its own set of numeric columns.

Thus the need of a dynamic, multi-select Uno-choice plugin!

Other ideas, comments?

Best regards
--Ioannis--

Bruno P. Kinoshita

unread,
Mar 10, 2014, 1:30:30 PM3/10/14
to biouno-d...@googlegroups.com
Hi Ioannis!

I had similar need while developing the testlink-plugin [1]. I thought it 
doable, but didn't have time to invest on this at the time and closed 
the issue as won't fix.

I'm currently fixing some issues in the tap-plugin to cut a new release, 
but I'd like to help with this plug-in. I liked the name too btw (cough 
cough) :-)

We can create a GitHub repository (e.g. uno-choice) and create separate issues 
for each task. 

What do you think? If you could create the repository I'll fork and 
start sending code.
 
Bruno


From: Ioannis Moutsatsos <imout...@gmail.com>
To: biouno-d...@googlegroups.com
Sent: Monday, March 10, 2014 11:56 AM
Subject: The Uno-choice plugin: Strengthening Jenkins UI support for bioinformatics (proposal)

--
You received this message because you are subscribed to the Google Groups "BioUno Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to biouno-develop...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Ioannis Moutsatsos

unread,
Mar 12, 2014, 11:13:26 AM3/12/14
to biouno-d...@googlegroups.com, Bruno P. Kinoshita
Thanks Bruno! Sounds good!;

Here is the link to the repository. 

I will be adding the requirements I've listed as enhancement requests. 
Best regards
--Ioannis--

Bruno P. Kinoshita

unread,
Mar 12, 2014, 11:27:36 AM3/12/14
to biouno-d...@googlegroups.com
Hi Ioannis!

Already forked to github.com/kinow. I'll wait for you to file the issues 
to start working on them.
 
Looking forward to this new plug-in!

Thanks
Bruno


From: Ioannis Moutsatsos <imout...@gmail.com>
To: biouno-d...@googlegroups.com
Cc: Bruno P. Kinoshita <brunod...@yahoo.com.br>
Sent: Wednesday, March 12, 2014 12:13 PM
Subject: Re: The Uno-choice plugin: Strengthening Jenkins UI support for bioinformatics (proposal)

Ioannis Moutsatsos

unread,
Mar 12, 2014, 12:36:04 PM3/12/14
to biouno-d...@googlegroups.com, Bruno P. Kinoshita
Thanks Bruno.

I think I have the basic requirements documented, including some with screenshots for hopefully clarifying the requirements.
I'm excited to see this developing!

Hopefully I'll be able to learn something about Jenkins plugin development working with you ;-)

Best regards
--Ioannis--

Bruno P. Kinoshita

unread,
Mar 15, 2014, 1:41:08 AM3/15/14
to Ioannis Moutsatsos, biouno-d...@googlegroups.com
I think I have the basic requirements documented, including some with screenshots for hopefully clarifying the requirements. 

Thank you for documenting all the issues Ioannis!

This week I had to work on other plug-ins and couldn't really work on your 
issues. I've started to learn more about similar plug-ins and created the 
basic plug-in structure in my fork. 

I'll send a pull request to your repo once I have a fix for one of the issues.

Hopefully I'll be able to learn something about Jenkins plugin development working with you ;-)
 
Likewise! The Java part is quite simple. Just have to find something similar already 
done or read Jenkins API javadocs. You are doing all the hard work that is model the 
solution.

Looking forward to working with you Ioannis!

Have a great weekend
Bruno


From: Ioannis Moutsatsos <imout...@gmail.com>
To: biouno-d...@googlegroups.com
Cc: Bruno P. Kinoshita <brunod...@yahoo.com.br>
Sent: Wednesday, March 12, 2014 1:36 PM

Subject: Re: The Uno-choice plugin: Strengthening Jenkins UI support for bioinformatics (proposal)

Bruno P. Kinoshita

unread,
Mar 20, 2014, 1:35:04 PM3/20/14
to Ioannis Moutsatsos, biouno-d...@googlegroups.com
Hello Ioannis

I have forked your repo to github.com/biouno and added you to to the biouno 
team with write access. It means that you can have full control over the 
uno-choice plug-in repository (including answer questions of users, merge 
pull requests and send commits). 

I'm working to have a documentation on what you would need to do in order to 
release a plug-in to the biouno update center, but in the meantime I'll cut a 
release of the uno-choice plug-in myself.

Let me know if you have any trouble using the repository, and thanks for sharing 
the idea and for writing the issues and requirements.

Cheers
 


From: Ioannis Moutsatsos <imout...@gmail.com>
To: biouno-d...@googlegroups.com
Cc: Bruno P. Kinoshita <brunod...@yahoo.com.br>
Sent: Wednesday, March 12, 2014 1:36 PM

Subject: Re: The Uno-choice plugin: Strengthening Jenkins UI support for bioinformatics (proposal)

Ioannis Moutsatsos

unread,
Mar 21, 2014, 1:45:47 PM3/21/14
to biouno-d...@googlegroups.com, Ioannis Moutsatsos, Bruno P. Kinoshita
Thanks Bruno. I feel honored!
Looking froward to our collaboration!

Best regards
--Ioannis--
Reply all
Reply to author
Forward
0 new messages