Hauptnavigation

Rapid Development of RapidMiner Extensions

OVERVIEW

The goal of this tool is to simplify the work of RapidMiner extension developers by establishing a connection between the executed RapidMiner and the IDE eclipse.

The tool consists of two components:

1. A RapidMiner extension that handles requests from the IDE (Eclipse) to redeploy changed RapidMiner extensions. It also can send requests to the IDE to open the source code of a selected operator.

2. An Eclipse plug-in that automatically searches for RapidMiner extensions in the workspace. Upon user request the extensions are built and redeployed in RapidMiner.

Note: Since version 2.0.0 the eclipse plug-in now detects both ant based and gradle based RapidMiner extension projects as well as gradle based RapidMiner projects.

Note: The RapidMiner extension does not work with the current RapidMiner version 7.2.

PREREQUISITES

1. You will need Java 1.7 or higher to use this extension. If you don't have it, please load and install the JDK 7 or higher from the Java website.

2. If you have eclipse already installed, skip this step. Otherwise, get it from eclipse.org.

3. As the last prerequisite, the source code version of RapidMiner is required. You can get the newest open core version (7.0) from the GIT repository or the older open source version 5.3 here. Load the RapidMiner project into eclipse. With RapidMiner 5.3 it's enough to simply import the project as an existing project. With RapidMiner 7 the eclipse project files have to be created first with gradle and the "eclipse" task.

If you want to use RapidMiner 5.3, please use the installation instructions on this site and follow the next step on this page after that.

INSTALLATION

1. Install the eclipse plug-in via "Install New Software" and using this update site. Rightclick the link and choose "Copy link location", then paste the link to the "Install New Software" window.

2. Download the RapidMiner extension into the "extensions" folder of your RapidMiner configuration directory, which can be found in the .RapidMiner folder of your user directory. The Linux user directory is located at "/home/user", while the Windows counterpart can be found at "C:\Users\user". Alternatively you can install it from the RapidMiner marketplace.

DEVELOPING EXTENSIONS

For general information on how to extend RapidMiner, please refer to the official RapidMiner guide addressing this topic.

Note that when developing a RapidMiner extension, besides implementing the various init-methods you now have to implemnt the methods tearDown() and tearDownGUI(MainFrame) to properly remove additions that were integrated into RapidMiner during the init-methods. Otherwise you will get duplicates of whatever enhancements you added during the startup of your extension after reloading at runtime.

Establishing a connection between eclipse and RapidMiner, the extensions provides a two-way communication.

RM -> eclipse: Select an operator and via pop-up menu or edit menu select "Edit operator source" to view the source code of that operator in eclipse.

eclipse -> RM: Select "Redeploy RM Plugin" from the RapidMiner menu to build any modified RapidMiner extension from the workspace. After building, the extensions will be reloaded in RapidMiner.

With version 1.1 comes a new feature to (re)load extensions from the help menu. You can either specify the extension file from your computer or through an URL.

Change Log

rm2eclipse Version 2.0.3

* Bugfix for parsing gradle build file.

ide2rm Version 1.1.3 ide2rm Interface Version 1.2.0 rm2eclipse Version 2.0.1

* Small bugfixes for the communication between RapidMiner 6.5/7 and eclipse.

* Changes due to compatibility for RapidMiner 5.3 and above.

* More constants for gradle and ant builds.

* Added gradle integration to detect RapidMiner versions
    and extensions that rely on the new gradle build system.

Version 1.1.2

Reworked initialization to comply to API changes in 7.0

Fixed a problem with native library

Added 16x16 icon for replace action

Version 1.1.1

* Fixed a problem with the success message after reloading.

* Added a button and tool bar for the (re)load action.

* Changed file handling during reload to minimize actual reload processes and downloads.

* Added functionality to reload a changed extension at process start.

* Fixed an issue with extensions whose names may not be generic

* Changed dialog message in case of loading a new extension

* Reworked parts of the reload mechanism to comply to 5.3 as well as 6.5

Version 1.1.

* (Re)Loading a RapidMiner extension is now made available from within RapidMiner. This functionality can be found in the help menu.

* In eclipse, besides the "build.xml" file the "build.properties" file is considered for project checking.

* When editing the source code of an operator, the extension ID is considered to get the corresponding class in eclipse.

* Minor bug fixes

Version 1.0.

First release

SOURCE CODE

The source code for both the RapidMiner extension and eclipse plug-in is available via bitbucket.

A documentation of the development of these extensions and more information can be found in this paper.

For bug reports, suggestions and further questions, please send an E-Mail to Jan Czogalla.

FAQ

Q: Eclipse has no RapidMiner menu. What should I do?

A: Check if Java 7 is installed and is used to run eclipse. Especially Windows sometimes uses an old 32-bit version of Java 6.

Q: If I try to apply the patch to RapidMiner in Eclipse, the dialog shows me a red X. Why is that?

A: Due to some changes in the git repository (namely releasing version 5.3.015 to git) the patch had to be redone. Make sure RapidMiner is updated and try again with the patch from this side.

Q: Why does the GIT patch not apply on Windows?

A: Apparently there is a problem with the encoding of whitespaces. The patch can be applied in the git bash from the project folder with git apply --ignore-space-change --ignore-whitespace Plugin_GIT.patch.

Q: RapidMiner Studio version 7 can not be started from within eclipse and throws the following exception:

Exception in thread "main" java.lang.ExceptionInInitializerError Caused by: java.lang.IllegalStateException: Could not initialize RapidMiner Studio version from properties file

What can I do?

A: There are two solutions:

1.) The "rapidminer.home" environment variable is not properly set. The solution can be found in the RapidMiner Forum

2.) It seems there is a file missing in the git project. In the folder "src/main/resources" of the RapidMiner project, create a new package with the name "com.rapidminer.tools". Copy the "gradle.properties" file from the project root in this new package and rename the copy to zu "version.properties". This should solve the problem.