Categories

Versions

Extension Project Folder Structure

The folder structure of the extension project looks like this:

../img/folder-structure.png

In the section on individualizing settings, you learned how to change the build.gradle file to make your individual extension. Statements like the extension name and the groupId are used to create the folder structure of your extension project. The groupId, for example, is the root path of your Java packages. The extension name is used to name the files of your project. The name of the example extension is MyTest.

The folder src/main/java contains your Java code, while src/main/resources contains configurations, documentation and the extension icon.

The following table describes the different generated files in your extension project (replace 'NAME' with the name of your extension):

File name Description
PluginInitNAME.java The Java class PluginInitNAME.java loads the extension into Altair AI Studio. It contains certain methods that you can specify to add actions (for example, during the extension start-up or before closing the application). When using the extension on your RapidMiner Server, only the method initPlugin() is called.
groupsNAME.properties Specifies operator or data object colors.
ioobjectsNAME.xml Defines IOObjects (data objects), how they are called, their implementation class, and the renderer that renders the data object in the Results perspective.
OperatorsNAME.xml Specifies operators and operator groups, as well as their location in the Operator Tree of the Operators view.
parserulesNAME.xml Automatically updates operator parameters (not frequently used).
settingsNAME.xml Specifies settings in the Preferences dialog.
ErrorsNAME.properties Stores I18N error messages. You can load an error message in your code with I18N.getErrorMessage(key, arguments);.
GUINAME.properties Stores I18N GUI messages. You can load a message in your code with I18N.getGUIMessage(key, arguments);.
OperatorsDocNAME.xml Contains translations from operator group keys to names as well as tags for the operators. This is explained in more detail here.
SettingsNAME.properties Contains user-friendly setting names and descriptions for setting keys defined in settingsNAME.xml. The names and descriptions are shown in the Preferences dialog.
UserErrorMessagesNAME.properties Contains user error messages for operators. They are displayed, when the code in an operator detects wrong parameter settings or otherwise encounters a problem. For each error name, you must define the properties error.error_name.name (name of the error), error.error_name.short (short error message) and error.error_name.long (long error message). Example use of an user error in your code: throw new UserError(this, exception.getMessage(), "error_name");.
example_operator_key.xml Provides an example of operator documentation. The file is placed in the folder mytest.example_group. Create one folder, called NAME.group_name, per operator group and add one XML file per operator to the respective group folder.

Now, you know how the project is structured. It's time to build your first operator class.