Blog

Cyberintegrator 2.0 Beta 4

The Cyberintegrator executor has undergone some major work. It is NOT compatible with the older version. You will need to download the latest version of the cyberintegratortool jarfile and recompile your source code with the new jarfile.

Bug

  • [CBI-329] - matlab tool wizard input/output has two places for filename
  • [CBI-343] - can not create postgresql context
  • [CBI-344] - server is missing service folder
  • [CBI-346] - new CyberintegratorTool is not compatible with old one
  • [CBI-348] - MIME type / is treated as a MIME type literally, not a wildcard that can match to any other MIME type
  • [CBI-349] - When the tool has multiple pre-populated values for a parameter, they don't show up in the Cyberintegrator for the users to select
  • [CBI-350] - tool versioning does not work

Improvement

  • [CBI-345] - Ability to edit context definitions

New Feature

  • [CBI-347] - Adding a Submit to Cron Service Feature to cyberintegrator would be nice

Requirement

  • [CBI-338] - How to create a java tool in cyberontegrator?
  • [CBI-339] - how to create xml script in cyberintegrator

Task

  • [CBI-76] - Document predicates used in the Cyberintegrator
  • [CBI-340] - java executor that takes xml data input from dataset and has to generatehtml file

Sub-task

  • [CBI-312] - multiple inputs cyberintegrator executor
  • [CBI-313] - multiple outputs cyberintegrator executor
Combo box abilities

I'm currently working on making parameters have options you have to select from. Currently the only executor that understands this is CyberintegratorTool. If you grab the latest version of the jar file cyberintegratortool_20090925 you can now create a Parameter that has a list of options the user can select from. public Parameter(String id, String name, String description, String value, String... options);

I'm slowly in the process of adding this to the matlab and command-line executor as well.

Matlab Executor

If the matlab executor does not work for you, please check the following two requirements:

LINUX:

  • Make sure you have csh installed on your system
  • the .so file is compiled assuming matlab installed/symlinked to /usr/local/matlab

WINDOWS:

  • Make sure that the matlab bin folder is on your path.

In my previous post I spoke about a new version of the CyberintegratorTool. As it turned out there is no easy way for me to maintain backwards compatibility. I was hoping not to have done this. So from today's build onwards you will need to use the new version of cyberintegratortool.jar file and the new CyberintegratorTool{File,Tupelo} interface.

Since I was breaking backwards compatibility I figured this was a good time to introduce multiple input and outputs. setInput now has as second argument a list of files/resources. void setInput(String id, List<File|Resource> input); The files/resources are in order in which the user selected them. The same goes for getOutput. List<File|Resource> getOutput(String id); It will return a list files/resources in order that they will be associated with the output.

To reflect this change in getInputs and getOutputs the Dataset definition now has a min and max value, which by default are 1. To make the number unlimited use max as 0.

Finally Parameter now has an enumeration as type which can be STRING, NUMBER, BOOLEAN.

Here is the link to the cyberintegratortool.jar jar file again.

An example of the interface can be found by looking at WordFinder

Cyberintegrator Tool

In my previous post I spoke about a new version of the CyberintegratorTool. As it turned out there is no easy way for me to maintain backwards compatibility. I was hoping not to have done this. So from today's build onwards you will need to use the new version of cyberintegratortool.jar file and the new CyberintegratorTool{File,Tupelo} interface.

Since I was breaking backwards compatibility I figured this was a good time to introduce multiple input and outputs. setInput now has as second argument a list of files. The files are in order in which the user selected them. The same goes for getOutput it will return a list files in order that they will be associated with the output. For CyberintegratorToolTupelo it is the same instead of list of files they will get a list of resources.

To reflect this change in getInputs and getOutputs the Dataset definition now has a min and max value, which by default are 1. To make the number unlimited use max as 0.

Here is the link to the cyberintegratortool.jar jar file again.

Current work in progress is an update to the CyberintegratorTool interface. Use of CyberintegratorTool interface is now deprecated and tool developers should switch to use the CyberintegratorToolFile interface. The interface is exactly the same as before so no changes to are needed.

The CyberintegratorToolTupelo interface is almost the same as before. The only change is that the functions void setInput(String id, File input); and File getOutput(String id); are no longer part of the interface since they should not have been used.

The Parameter class now uses an enumerated list for types supported by Cyberintegrator. The string version for type can still be used but is deprecated.

The Dataset class still allows to pass in filename to the constructor but this is deprecated since it is not used.

To start working with the new interface you will need an updated version of cyberintegratortool.jar.

If you want the latest version of cyberintegrator you can add the following URL to the list of update sites. http://isda.ncsa.uiuc.edu/unstable/cyberintegrator

Cyberintegrator 2.0 Beta 3

This is the first version of Cyberintegrator that is able to update itself. Starting with this version you can now do an update under Help-Check for updates. The old java tool executor is now removed please use the new Cyberintegrator tool executor.

There was a major bug on the Mac that would prevent the Cyberintegrator from running, hopefully this is now fixed.

Bug

  • [CBI-324] - Warning when starting Cyberintegrator about p2 not found
  • [CBI-334] - Drag from data to input of tool generates null pointer
  • [CBI-336] - Exception when starting Cyberintegrator
  • [CBI-341] - dataview does not update if step is modified

Improvement

  • [CBI-117] - add email/password to context page to allow auto sign in in context

New Feature

  • [CBI-86] - Import / Export local contexts
  • [CBI-94] - move from product to features to allow for eclipse update mechanism

Task

  • [CBI-318] - Working directory should be home directory of application by default
Cyberintegrator 2.0 Beta 2

A few major changes behind the scenes. First the dataview, toolsview and contextview should feel significantly faster. Please let us know if you find any regression bugs that have crept into the Cyberintegrator. Secondly we have switched to Tupelo 2.4.2 which will hopefully make things more stable since we are no longer building of the latest version of Tupelo.

Bug

  • [CBI-320] - No latest version of tool set
  • [CBI-333] - need quit button on splash screen

Improvement

  • [CBI-321] - Show all datasets not filtered by workflow
  • [CBI-325] - Show all tools in Tools View
  • [CBI-327] - add files in matlab wizard should list .m files
  • [CBI-328] - automatically select first .m file in wizard

New Feature

  • [CBI-319] - Ability to create a file array and pass it to a CyberIntegrator tool.

Task

  • [CBI-323] - use tupelo contexts.dump/load for import/export of context

I think I am getting close to finding the last few bugs that make the unstable build really unstable. Hopefully next week I can push out a new release (beta 2).

Tools View is updated

I spend some time to update tools view. It has gotten the same speed up improvements that dataview received earlier. Depending on the number of tools you might or might not notice this. I did add a check box to the data and tools menu allowing you to choose to see all data or all tools in the context.

I also updated the context view to have the work of fetching information from the repositories done in separate threads, hopefully speeding this up. I also look at the matlab wizar

Finally I added a quit button to the splash screen allowing you to quit the c

Unstable build is broken

I'm in the process of doing some refactoring in the code. There will not be any visible new things for the Cyberintegrator but this should hopefully make things easier to maintain in the future. This refactoring means that the current unstable build is really unstable and should probably not be used. Hopefully later this week I'll post an

compiling cyberintegrator

To compile cyberintegrator from source code you can use the following:

1) check out from svn the automatic build project
svn co https://svn.ncsa.uiuc.edu/svn/cyberintegrator/trunk/hudson.build
2) copy the following as a script which should enable building of cyberintegrator. You might have to edit build.sh to point to your eclipse location.

export SVNPRODUCT="edu.uiuc.ncsa.cyberintegrator.rcp"
export PRODUCT="Cyberintegrator.product"
export FEATURELIST="edu.uiuc.ncsa.cyberintegrator.samplecontext"
#export CONFIGS="win32,win32,x86"
export CONFIGS="linux,gtk,x86_64"

sh ./build.sh

3) make sure you have zest installed in eclipse (help-software updates search for zest)
4) install svn pde build from http://sourceforge.net/projects/svn-pde-build/

Cyberintegrator Server

You can now set properties for the engine used inside the Cyberintegrator server. Create a file called server.properties in the Cyberintegrator server folder. In this properties file you can set the following properties (same as a ThreadedEngine):

queue the file that contains the queue.
workers the number of worker threads (parallel s.
onejvm should same JVM be used for the executors.