To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

Deploying a Plugin in ProM6

Hello all,

As I have to build an own Plugin in ProM/modify an existing one I thought I would first try to build an example Plugin.

So I set up my infrastructure using eclipse and subclipse and tried to follow the tutorial on the wiki: https://svn.win.tue.nl/trac/prom/wiki/setup/SimplePlugIn/Defining

But when I started ProM the Hello-World-Plugin could not be seen, neither in ProMPM nor in ProM itself.
No wonder as I probably have not told ProM where the new Plugin is located. I tried moving it into the Plugin folder, where alle other plugins are located, but that did not seem to work (is this even encouraged or does this have any effect? Does changing a jar in there have an effect? Or do the sources get fetched everytime ProM starts?).

At https://svn.win.tue.nl/trac/prom/wiki/GettingStarted I got the clue that I would have to modify the ProM.ini file so that ProM recognizes my Plugin, but I do not know what I have to modify.
What exactly do I have to change so that my Plugin can be used? Sadly I could not find that information anywhere.
And on a related sidenote, is it possible to test and deploy my plugins locally without submitting them to a website that ProM has to fetch it from while starting?


Comments

  • Dear Martin,

    ProMPM is irrelevant. You only need that if you want to deploy released packages containing plugins, which is not the case.

    No, you do not need to tell ProM that you have created a new plugin. When starting, ProM scans all class files for plugins.

    Changing ProM.ini should not be necessary. I assume you have checked out the Framework/trunk folder from our repository? This works for me, I've just tried it.

    Where (which folder in your ProM project) did you create this new HelloWorld.java file? Does Eclipse show any errors (see the Problems tab)?

    Kind regards,

    Eric.


  • Dear Eric,

    Thank you for the answer.

    Glad to know that it should be easier than expected - I was ab it overwhelmed by all the different answers.
    I tried it on another computer with ubuntu and it worked without problems, so it seemed to be a setup/os problem with my own computer. I will be looking into this again now that I managed to solve it once.

    I checked out the Framework/trunk folder, and created my HelloWorld-File in the src-plugin-folder and it worked. Eclipse did not show any errors, at least I could not find any.

    As a related question, I said I would like to modify an existing package. The package I have in mind is the Inductive Miner package. How would I proceed if I wanted to modify it. Should I import the jar-file into src-plugins. I think that I would have to rename the package of every subpackage and file, so this seems a little messy. Is there a simpler solution?

  • Dear Martin,

    Yes, indeed, that would be messy.

    Preferably, you would create a dependency on the InductiveMiner package, and then subclass any class that you would like to change, but I do not know by heart whether you can achieve your goal by only subclassing. If not, you indeed might have to change the package names.

    Creating the dependency on InductiveMiner can be done in two ways: The old way or the new way. Which way to follow depends on whether you have an ivy.xml file in your project.

    If not, then you have to do it the old way, by first creating the following SVN external in the packagelib folder:

    InductiveMiner.jar https://svn.win.tue.nl/repos/prom/Releases/Packages/InductiveMiner/InductiveMiner.jar

    Second, you add packagelib/InductiveMiner.jar to the build path. That should be sufficient for development.

    If you do have ivy.xml (and Ivy support in your Eclipse, of course), you can simply add the following line to the dependencies in the ivy.xml file:
          <dependency org="prom" name="InductiveMiner" rev="latest" changing="true" transitive="true" />
    Ivy then takes care of the rest.

    If you want, I can create you your own sandbox package in our repository, and set up things for you. The package will use Ivy, so you will need Ivy support (by installing the IvyDE add-on in Eclipse).





  • Dear Eric,

    I will try to do it manually to get a grasp of it, but maybe it would be better to have a working version lying in the background. So if you would be willing to set up a sandbox project for me I would be very glad.

    Thank you very much for your help.
Sign In or Register to comment.