You can now download Cyberintegrator 2.0 alpha 4. The main new feature in this version of the Cyberintegrator is the inclusion of a new executor, Cyberintegrator executor. This executor will eventually replace the java executor. Another new feature that was added was the capability to create parameters for the Matlab executor. The parameter is set as a variable before the matlab code is executed.

Following is a list of all issues resolved in alpha 4.

Bug

  • [CBI-125] - link from step to tool should use id and refid, not matching name
  • [CBI-184] - matlab tool wizard does not work correctly with file
  • [CBI-206] - Unable to edit tools once created
  • [CBI-209] - Memory dumps when attempting to open large data sets
  • [CBI-211] - Cannot re-run tools without RDF getting screwed up
  • [CBI-215] - Editing Java Tools removes previous scripts
  • [CBI-218] - Cannot add options to External tool flags
  • [CBI-219] - Cyberintegrator Tools Input/Output list
  • [CBI-221] - CLONE -Cyberintegrator Tools Input/Output list

Comment

  • [CBI-213] - Symbolically linking matlab working directory

Improvement

  • [CBI-107] - Ability to set parameters on matlab executor

New Feature

Sub-task

  • [CBI-199] - parameters should use refid
  • [CBI-200] - inputs should use refid
  • [CBI-201] - outputs should use refid

Posted on June 20th, 2008 | Filed under releases | No Comments »

This executor will eventually replace the java executor. Tools are now simple created implementing a specific interface. Next the user can create the tools inside the Cyberintegrator using a simple wizard. The wizard will ask for the location of the jar file(s) needed and will create the tool based on the interface implemented. The interface can be found in cyberintegratortool.jar.

Following is an example of a class implementing this interface.

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.PrintStream;
import java.util.Collection;
import java.util.HashSet;

import edu.uiuc.ncsa.cyberintegrator.executor.cyberintegrator.tool.CyberintegratorTool;
import edu.uiuc.ncsa.cyberintegrator.executor.cyberintegrator.tool.Dataset;
import edu.uiuc.ncsa.cyberintegrator.executor.cyberintegrator.tool.Parameter;

/**
 * Find a word in a sentence. This will only return those sentences that contain
 * the specified word.
 *
 * @author Rob Kooper
 *
 */
public class WordFinder implements CyberintegratorTool {
    private File   input;
    private File   output;
    private String word;

    /**
     * Return the name of the tool.
     *
     * @return name of the tool.
     */
    public String getName() {
        return "Find word";
    }

    /**
     * Return the version number of the tool.
     *
     * @return version of the tool.
     */
    public int getVersion() {
        return 3;
    }

    /**
     * Return a long description of the tool. This description is used to help
     * the user understand what the tool does, and what the inputs, outputs and
     * parameters mean. This can also contain links to papers published,
     * references to algorithms etc.
     *
     * @return description of the tool.
     */
    public String getDescription() {
        return "Search through the input file and find the word specified as parameter."
                + " Only those lines that contain the word will be put in the output.";
    }

    /**
     * Return a list of inputs needed by the tool. In this particular case we
     * need a text file that will be examined.
     *
     * @return list of inputs needed by the tool.
     */
    public Collection getInputs() {
        HashSet result = new HashSet();
        result.add(new Dataset("1", "input", "", "text/plain", "filename.txt"));
        return result;
    }

    /**
     * Set the input for the tool. In this case it will set the name of the
     * input file.
     *
     * @param id
     *            the id of the input.
     * @param input
     *            a pointer to a file on disk with the input data.
     */
    public void setInput(String id, File input) {
        if ("1".equals(id)) {
            this.input = input;
        }
    }

    /**
     * Return a list of outputs generated by the tool. In this particular case
     * we return a text file with only those lines that contain the word
     * specified as a parameter.
     *
     * @return list of outputs generated by the tool.
     */
    public Collection getOutputs() {
        HashSet result = new HashSet();
        result.add(new Dataset("1", "output", "", "text/plain", null));
        return result;
    }

    /**
     * Retrieve the output of the tool.
     *
     * @param id
     *            the id of the output.
     * @return a pointer to a file on disk with the output data.
     */
    public File getOutput(String id) {
        if ("1".equals(id)) {
            return output;
        }
        return null;
    }

    /**
     * Return a list of parameters needed by the tool. In this particular case
     * we need a single word that will be checked for.
     *
     * @return list of parameters needed by the tool.
     */
    public Collection getParameters() {
        HashSet result = new HashSet();
        result.add(new Parameter("1", "output", "", "string", "test", false));
        return result;
    }

    /**
     * Set the parameter for the tool. In this case it will set the word that
     * will be searched for in the input file.
     *
     * @param id
     *            the id of the parameter.
     * @param value
     *            the value for the parameter
     */
    public void setParameter(String id, String value) {
        if ("1".equals(id)) {
            word = value;
        }
    }

    /**
     * Execute the tool. In this case it will load the input file, read the
     * input file, check each line for the presence of the word and create the
     * output file with only those lines that contain the word.
     *
     * @throws an
     *             exception is thrown if the function fails to execute
     *             properly.
     */
    public void execute() throws Exception {
        BufferedReader br = new BufferedReader(new FileReader(input));
        output = File.createTempFile("output", ".txt");
        PrintStream ps = new PrintStream(output);
        String line;
        while ((line = br.readLine()) != null) {
            if (line.contains(word)) {
                ps.println(line);
            }
        }
        ps.close();
    }
}

Posted on June 20th, 2008 | Filed under Uncategorized | 1 Comment »

We have a Cyberintegrator mailing list to which you can subscribe. Send email to majordomo@ncsa.uiuc.edu and send subscribe cyberintegrator in the body.

I plan on using this mailing list to send email of new releases as well as answer any questions people might have. Feel free to use this list to send questions about the Cyberintegrator.

Posted on April 21st, 2008 | Filed under Uncategorized | No Comments »

You can now download Cyberintegrator 2.0 alpha 3. The major addition in this release is the ability to edit tools. You can now right click on a tool and edit the tool definition. Cyberintegrator should now work on a Apple MAC (tested on OSx 10.5). One other major change is the switch of CET namespace used in Cyberintegrtor from tag:cet.ncsa.uiuc.edu,2007: to http://cet.ncsa.uiuc.edu/2007. The Cyberintegrator should take of this switch automatically.

Following is a list of all issues resolved in alpha 3.

Release Notes - Cyberintegrator - Version 2.0.alpha3

Bug

  • [CBI-72] - Steps are not re-executed if system crashes (or in case of remote executor reconnected)
  • [CBI-90] - drag and drop to same view, duplicates item
  • [CBI-123] - export workflow from right click does not work in context view
  • [CBI-175] - when exporting tools using drag and drop, use name tool instead of random name
  • [CBI-176] - when exporting multiple data/drag data/tool make sure not to overwrite
  • [CBI-181] - Cannot add WINWORD.exe to the list of tools (neither by dragging nor via File/Import/XML tool). There is no option for adding an executable as a tool
  • [CBI-182] - When a data file is inserted that cannot be recognized then an error message will always pop for every data file double clicked (in known and unknown file format)
  • [CBI-183] - Matlab execution fails because of linking issues on linux
  • [CBI-190] - data is missing in demo context
  • [CBI-194] - switch from tag to http for CET vocabulary
  • [CBI-195] - HAS_PREVIOUS_VERSION should point to previous version of tool, not previous version number

Improvement

  • [CBI-131] - Group data by created on (date)
  • [CBI-132] - Allow grouping by creator

New Feature

Sub-task

  • [CBI-185] - Ability to edit matlab tools
  • [CBI-186] - Ability to edit external tools
  • [CBI-187] - Ability to edit java tools
  • [CBI-188] - Show latest version of the tool in the workflow/context
  • [CBI-193] - when editing tools make sure contributor is added

Posted on April 16th, 2008 | Filed under releases | No Comments »

Cyberintegrator 2.0 alpha 2 has been released. We have fixed many bugs in Cyberintegrator and have released a new version. You can find this at http://isda.ncsa.uiuc.edu/download/. Following is a list of issues resolved in this release:

Release Notes - Cyberintegrator - Version 2.0.alpha2

Bug

  • [CBI-83] - Add attribute does not work
  • [CBI-138] - All files *.* is not all files under linux
  • [CBI-150] - Remove visualize button in workflow view
  • [CBI-153] - Add way to add parameters to Java Executor wizard
  • [CBI-154] - Export Tool/Data/Workflow currently need .zip extension to work.
  • [CBI-156] - Import tool not working
  • [CBI-157] - Export tool not exporting type of parameter
  • [CBI-158] - Import tool does not import implementation
  • [CBI-160] - Files embedded with the external executor tools loose execution permission when zipped and added to the context
  • [CBI-161] - Matlab wizard does not come up
  • [CBI-162] - Step info shows parameters values for the tool associated with the step and not the step itself
  • [CBI-163] - preferences for logging does not reflect global setting
  • [CBI-164] - looping logging
  • [CBI-168] - path for derby is strange "."
  • [CBI-169] - clicking OK/Apply in preferences destroys local context
  • [CBI-172] - InfoView does not delete old content if new workflow is started, context is changed, etc.
  • [CBI-173] - Hitting cancel when importing a data set
  • [CBI-178] - Clicking OK in the preferences drops the current context and creates a new one

Comment

  • [CBI-165] - running step with local engine

Improvement

  • [CBI-115] - when tif image is exported its name is changed to .tif.unknown. it is not clear why.
  • [CBI-134] - Simpler interface to list and find a mime type
  • [CBI-135] - Change name of new tools wizards to new tools "Matlab tool" "Command line tool"…
  • [CBI-136] - Change from "Help" to "Description" in new tool wizards
  • [CBI-137] - List of mime types in tool wizard should be the full list
  • [CBI-139] - Default to Group by Name in Data view
  • [CBI-155] - Add right click menu entry to export data/tools/workflows crom context view
  • [CBI-166] - ship example context
  • [CBI-167] - Uncheck show user interactions by default
  • [CBI-171] - csv files are missing mime type
  • [CBI-180] - cyberintegrator is sluggish with local context

New Feature

  • [CBI-55] - export tool using drag and drop

Posted on March 19th, 2008 | Filed under releases | No Comments »

If any bugs are found in Cyberintegrator please file those bugs at http://jira.ncsa.uiuc.edu/browse/CBI. You can also see any bugs/features we are currently working on there.

Posted on March 19th, 2008 | Filed under Uncategorized | No Comments »