You can contribute to ProM by creating your own ProM packages. To ease the development and distribution of your packages we offer:
- to store your packages in our SVN repository, which comes with this trac site,
- to automatically build your package after you have committed changes to it,
- to allow you to promote the latest successful automatic build of your package to a new release of that package, and
- to distribute the latest release of your package through our package repository.
Nevertheless, if you want, you can do this all by yourself. Simply check out any existing package from our SVN repository, and take it from there.
- Install some Java IDE with SVN functionality, like Eclipse with Subclipse and IvyDE.
- We strongly recommend to use Java 8 (or older) to develop plugins in ProM, as our build server (Hudson) is using Java 8.
- When using Java 9 or later, please make sure to use version 6.10.110 of the ProM framework (available in the ProM Nightly Builds from March 31, 2020). This version of the ProM framework is able to scan your current package for the plugin annotations. If you are using an earlier version of the ProM framework, you can only work on existing plugins, but you cannot add new plugins or rename existing ones.
- To install IvyDE, use the following steps:
- In Eclipse, choose Help -> Install New Software -> Add … -> http://www.apache.org/dist/ant/ivyde/updatesite
- Select the IvyDE plugin and install.
- You may have to restart Eclipse after install.
- To install Subclipse, use the following steps:
- In Eclipse, choose Help -> Install New Software -> Add … -> https://subclipse.github.io/updates/ (used to be https://dl.bintray.com/subclipse/releases/subclipse/latest/)
- Choose Core SVNKit Library and Subclipse and install.
- You may have to restart Eclipse after install.
- Select “File / New / Other…” in the Eclipse menu bar.
- Select “SVN / Checkout Projects from SVN” and “Next>”.
- Select “Create a new repository location” and “Next>”.
- Enter “https://svn.win.tue.nl/repos/prom/Packages/Workshop” in the URL field and “Next>”.
- Select “Trunk” and “Finish”.
This will create a new project in Eclipse from our SVN repository. To run the project for the first time, please do the following:
- Right-click the “ProM Package Manager (Workshop).launch” file and select “RunAs / ProM Package Manager (Workshop)”. This start the ProM 6 Package Manager.
- Go to the “Not installed” tab (left-hand side).
- Select “RunnerUpPackages” in the list, and select “Install” at the right-hand side. This will install the typical set of packages (which contain most of the plug-ins).
- Close the Package Manager.
- Right-click the “ProM with UITopia (Workshop).launch” file and select “RunAs / ProM with UITopia (Workshop)”. This starts ProM 6.
For later runs, you only need to perform step 5.
If you want to add plug-ins to your local version of ProM 6, you can add them to the Workshop project. If you have done this correctly and if you run ProM 6 by using step 5 as mentioned above, your plug-in should show in ProM 6. Note that thses plug-in swill not be available to tohers, they can only be run on your computer.
In case you want to develop plug-ins that can also be used by others, we need to create you your own package, which will be added to the nightly Build.
- Ask Eric Verbeek for an account in our SVN repository and for a package. Please think of some suitable name for your package. See, for example, the current list of packages.
- Sign yourself up to our automatic build server. This allows this build server to reach you by e-mail in case the build fails, and allows you tot release your package(s). If you do not sign up, you will be signed up after the first failed build. As a result, you will have problems releasing your package(s).
- Wait until your SVN account and your package have been created. Once they have, you’re ready to go.
Contributing to a package
- Check out the Trunk folder of the package you want to work on from our package repository
- Make your changes to the package.
- If your package compiles OK locally, commit the changes to our repository (for this, you need your SVN account and write access to the package, contact Eric Verbeek if necessary).
- In case the automatic build reports error: Fix them as soon as possible! The goal is that the automatic build of a package does not fail. If the automatic build fails too often, it will be disabled.
Releasing a package
- Build the corresponding Release project on the automatic build server. To do so, log in using the account you created when you signed up. If you were signed up, contact Eric Verbeek.
- If this was the first release of the package, ask Eric Verbeek to add your package to the master package file. Otherwise, it will already be there.
- Your released package will be available for download the next day. If you really need it to be available earlier, contact Eric Verbeek.
It is good practice to write some documentation for your package. However, we acknowledge that it may take you some time to write this documentation. For this reason, we differentiate between established and runner-up packages. Established packages must come with proper documentation, runner-up packages may come without any documentation. However, a package that was included in a ProM release as runner-up package, must be an established package to be included in a next ProM release. Typically, there will a ProM release every year, so this gives you a year to write your documentation.