[ImageJ-devel] JEX

Kevin W Eliceiri eliceiri at wisc.edu
Tue Apr 22 07:41:49 CDT 2014


this is great guys, glad to seek

On 04/17/14, Curtis Rueden  wrote:
> Hi Jay & Erwin,
> 
> > Erwin and I are exploring the idea of a new version of JEX that would
> > itself be a plugin of ImageJ.
> 
> 
> That would be fantastic.
> 
> > There are a few different ways this could be developed... Either as
> > part of the imagej managed code base (i.e. a package within a current
> > ImageJ2 project or as its own maven project that is updated and
> > managed like the rest of the ImageJ2 suite of projects like ij-app,
> > ij-core, etc.) or as a completely separate project that we jarify and
> > allow users to put into the plugin folder of ImageJ afterward.
> 
> 
> 
> The model we are targeting is "one Git repository per JAR file" with each being a Maven module with its own version. We have already completed this transition with the Fiji project [1], and ImageJ2 will be completely structured that way soon as well. This approach has many advantages:
> 
> 
> 1) Stable release version couplings between components, so that if an upstream component changes, downstream components are not affected/broken until they intentionally upgrade to the newer version.
> 
> 
> 2) Independent versioning of each component. When a bug is fixed in a particular component, we just release a new version of that component. No need to cut vacuous releases of the entire collection of ImageJ2 JARs.
> 
> 
> 3) Easier and less intimidating to contribute to an individual plugin: just fork that one repo, push your changes and file a PR. No need to clone an all-encompassing fiji.git or imagej.git repository.
> 
> 
> Further, in the Fiji project, each module is now what we call an "external plugin" that lives in its own repository, either in the github.com/fiji(http://github.com/fiji) namespace, or in some cases [2, 3] in the plugin developer's personal space (doesn't matter that much).
> 
> 
> ImageJ2 and Fiji support multiple update sites [4]. There is a core ImageJ2 update site [5], a core Fiji update site [6], and many others as well [7]. JEX would be a perfect fit for its own update site, giving you full control over every aspect of your releases while leveraging the power of ImageJ2 for deployment to your users.
> 
> 
> In short: I would suggest creating a personal update site for JEX and serving your releases from there. That way, anyone using ImageJ2 or Fiji can install JEX simply by checking a box. For details, see:
> 
> 
> http://fiji.sc/How_to_set_up_and_populate_an_update_site
> 
> 
> 
> And as you know I would certainly advise structuring JEX as a Maven project, though it is not required. Here is a template you can use as a starting point:
> 
> 
> https://github.com/imagej/minimal-ij1-plugin
> 
> 
> Very happy to answer any questions our issues you have on your journey. :-)
> 
> 
> Regards,
> Curtis
> 
> 
> [1] https://github.com/fiji
> [2] https://github.com/tferr/ASA
> 
> [3] git://repo.or.cz/trakem2.git(http://repo.or.cz/trakem2.git)
> [4] http://fiji.sc/Update_Sites
> [5] http://update.imagej.net/
> [6] http://fiji.sc/update/
> [7] http://fiji.sc/List_of_update_sites
> 
> 
> 
> On Thu, Apr 17, 2014 at 9:41 AM, Jay Warrick <warrick at wisc.edu(javascript:main.compose()> wrote:
> 
> > Sorry to clog your inbox. Evidently this didn't send last night and it got sent without closing the email... 
> > 
> > Any ideas or suggestions on a development approach would be welcome. You have sold me/us on your approach to application development. We want to integrate ourselves the best way possible but don't want to bring the project down by being less professional in our coding abilities and practices. We'll do our best but I'm not sure we'll ever be able to be on par with the rest of you guys :-)
> > 
> > 
> > I look forward to hearing from you. Thanks,
> > 
> > 
> > Jay (and Erwin)
> > 
> > 
> > Begin forwarded message:
> > 
> > 
> > > From: Jay Warrick <warrick at wisc.edu(javascript:main.compose()>
> > > 
> > > Subject: JEX
> > > 
> > > Date: April 17, 2014 at 9:35:04 AM CDT
> > > 
> > > To: Curtis Rueden <ctrueden at wisc.edu(javascript:main.compose()>
> > > 
> > > 
> > > Hi Curtis,
> > > 
> > > Erwin and I are exploring the idea of a new version of JEX that would itself be a plugin of ImageJ.
> > > 
> > > 
> > > There are a few different ways this could be developed... Either as part of the imagej managed code base (i.e. a package within a current ImageJ2 project or as its own maven project that is updated and managed like the rest of the ImageJ2 suite of projects like ij-app, ij-core, etc.) or as a completely separate project that we jarify and allow users to put into the plugin folder of ImageJ afterward. What might you recommend? We don't want to impose or muddy up your architecture but also really like the idea of being well-integrated with your current lifecycle management schemes (i.e. maven dependancies, compiling, versioning, and updating of jars (Jenkins etc).
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > 
> > 
> > 
> > 
> > 

--
Kevin W. Eliceiri
Director, Laboratory for Optical and Computational Instrumentation (LOCI)
Departments Cell and Molecular Biology and Biomedical Engineering
Affiliate Principal Investigator, Morgridge Institute for Research (MIR)
Room 271 Animal Sciences, 1675 Observatory Drive, Madison, WI 53706
Phone: 608-263-6288



More information about the ImageJ-devel mailing list