Operator not visible after installing extension

surabhi
surabhi New Altair Community Member
edited November 5 in Community Q&A

Hi,

I want to make my own operator in rapidminer. I am using extension template provided on git. I am editing it as per instructions. But after installing it I am not able to see it in operator tree although its there in manage extensions. 

Please help me.

Best Answer

  • surabhi
    surabhi New Altair Community Member
    Answer ✓

    Hi,

     

    I got solution.

    The problem was with tutorial documentation. In documentation, it is specified that package for operator should be named *com.rapidminer.extension.operator*. 

    But the case is this should be named as com.rapidminer.extension.YourOperatorName.

    And this *YourOperatorName* should be specified in OperatorsNAME.xml.

    I am sharing screenshots from manual/documentaion. 

    rm1.JPGrm2.JPG

     

     

Answers

  • pschlunder
    pschlunder New Altair Community Member

    Hi,

    please check your src/main/resources folder. There you need a xml file named "OperatorsNameOfYourExtension.xml". In it you define a key which is linked to the operator class that should be used and an icon. A possible file could look like this:

     

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <operators name="nameofyourextension" version="6.0" docbundle="com/rapidminer/extension/resources/i18n/OperatorsDocNameOfYourExtension">
    <group key="">
    <!-- This is an example how to specify Operators and Operator groups. The Operator groups define
    where Operators will be located in the Operator tree. -->

    <group key="sample_key">
    <operator>
    <key>name_of_the_key</key>
    <class>com.rapidminer.extension.nameofyourextension.MyClassName</class>
    <icon>cloud_data.png</icon>
    </operator>
    </group>

    </group>
    </operators>

    One option is, that you linked the class incorrectly. For the given example the class file MyClassName.class is located in a package named 'com.rapidminer.extension.nameofyourextension' in the src/main/java folder.

     

    Best regards,

    Philipp

  • surabhi
    surabhi New Altair Community Member

    Hi,

     

    I did as you said. But it is still not working. I am posting snapshots for your reference. 

     

    Regards

    Surabhi

     

     

  • pschlunder
    pschlunder New Altair Community Member

    Looks fine so far. 

     

    Please check again, if you followed along all steps provided in the documentation, esp. steps 2 and 3. If it still fails, could you provide your build.gradle as well as your operator class, please?

     

    Best regards,

    Philipp

  • surabhi
    surabhi New Altair Community Member

    Hi,

     

    I am attaching archived project *demo*. Please reply soon.

     

    Regards

    Surabhi

    demo.zip 113.2K
  • pschlunder
    pschlunder New Altair Community Member

    Please follow along the tutorial in the documentation I linked a post ago. You'll find step-by-step instructions, that will help you in creating your first operator covering the things I hinted before and in this post.

     

    E.g., you need to uncomment the tags in the xml files (e.g. in OperatorsDemo.xml and OperatorsDocDemo.xml) and provide a java class file with your operator code. I couldn't find one in the files you provided. The class file is supposed to be in src/main/java in a package called com.rapidminer.extension.youroperatorname as e.g. YourClassName.java.

     

    Best regards,

    Philipp

  • surabhi
    surabhi New Altair Community Member

    Hi,

    The class file is in src/main/java in a package called com.rapidminer.extension.operator as e.g. myownoperator.java. Please check.

    Thanks.

  • surabhi
    surabhi New Altair Community Member
    Answer ✓

    Hi,

     

    I got solution.

    The problem was with tutorial documentation. In documentation, it is specified that package for operator should be named *com.rapidminer.extension.operator*. 

    But the case is this should be named as com.rapidminer.extension.YourOperatorName.

    And this *YourOperatorName* should be specified in OperatorsNAME.xml.

    I am sharing screenshots from manual/documentaion. 

    rm1.JPGrm2.JPG