Skip to end of metadata
Go to start of metadata

This page describes how to get started if you want to build Activiti Designer yourself or if you want to extend Activiti Designer's features. It assumes you have a working knowledge of Eclipse, Maven and RCP development.

As you can see, there are quite a number of projects in this tree. You will need to have all of them in your Eclipse workspace to build Designer yourself. It's important that you perform a checkout of all of these projects as top level projects in your workspace. Obviously, you can do without the examples folder, but you need the other projects.

  • Checkout all of the folders in the source control location as top level Eclipse projects.
  • Open a console and navigate to the directory of your Eclipse workspace and then into the org.activiti.designer.parent directory, which is of course the directory of the project with the same name. Now perform the following Maven commands:

This might take a while because Maven will now download a lot of dependencies to your local repository and setup the projects. Make sure the command ends with a Build Successful so you know everything's OK as far as Maven is concerned.

  • Go back to Eclipse, select all of the projects, right click and choose Refresh. The information set by Maven will now be picked up by Eclipse. If you like being thorough, you can perform a Project > Clean command as well.
  • Now you have a environment for working with Activiti Designer. To run Designer, right click the org.activiti.designer.eclipse project and choose Run as > Eclipse application.

The projects

This section briefly describes the different projects used in Activiti Designer.

  • org.activiti.designer.eclipse: contains the main extensions of Eclipse extension points and a lot of shared code for working with the model, saving resources and utilities.
  • org.activiti.designer.gui: contains most of the UI code, mainly functionality that utilizes Graphiti for drawing diagrams.
  • org.activiti.designer.help: help files for end users.
  • org.activiti.designer.export.bpmn20: provides an extension of the ExportMarshaller extension point to generate BPMN 2.0 xml files.
  • org.activiti.designer.validation.bpmn20: provides an extension of the ProcessValidator extension point to validate diagrams according to BPMN 2.0 rules.
  • org.activiti.designer.integration: provides APIs to developers creating CustomServiceTask extensions.
  • org.activiti.designer.parent: Maven parent project, used mainly for building the project.
  • org.activiti.designer.feature: contains an Eclipse feature definition, which groups the various projects into the installable Activiti Designer feature.
  • org.activiti.designer.updatesite: contains an Eclipse update site definition, which allows you to build a website that can be used as an Eclipse update site.
  • No labels

13 Comments

  1. Hi,

    Could you change the source code location to the GitHub repository?

    Thanks.
    Cheers

    m

  2. Sorry about that, updated to the right location

  3. Hi,

    I've followed the instructions above but I am getting errors. I'm just wondering which version of the source I should be using from github? I am using Juno and the only tag I could see that I thought would match was the Helios 5.8.1 branch but I am getting errors during the mvn clean process.

     

    Regards

    Ken

  4. I am using Indigo and, after checking out all 14 projects (they do not match the summary above), my mvn clean request fails as follows:

    [INFO] Resolving dependencies of MavenProject: org.activiti.designer:org.activiti.designer.kickstart.eclipse:5.12.1-SNAPSHOT @ C:\ws\design\org.activiti.designer.kickstart.eclipse\pom.xml
    [INFO] Cannot complete the request.  Generating details.
    [INFO] Cannot complete the request.  Generating details.
    [INFO] {osgi.ws=cocoa, osgi.os=macosx, osgi.arch=x86_64, org.eclipse.update.install.features=true}
    [ERROR] Cannot resolve project dependencies:
    [ERROR]   Software being installed: org.activiti.designer.kickstart.eclipse 5.12.1.qualifier
    [ERROR]   Missing requirement: org.activiti.designer.kickstart.eclipse 5.12.1.qualifier requires 'bundle org.activiti.kickstart.util 5.12.1' but it could not be found
    [ERROR]
    [ERROR] Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unableto satisfy dependency from org.activiti.designer.kickstart.eclipse 5.12.1.qualifier to bundle org.activiti.kickstart.util 5.12.1.", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.0.v_OTDT_r200_201106070730 to bundle org.eclipse.jdt.ui [3.7.0.v20110531-1200,3.7.0.v20110531-1201).", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.0.v_OTDT_r200_201106070730 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.1.v_OTDT_r201_201109101025 to org.eclipse.objectteams.otdt.core.patch.feature.group[2.0.0,3.0.0).", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.3.v_OTDT_r202_201202051448 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).", "No solution found because the problem is unsatisfiable."] ->
    [Help 1]
    org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from org.activiti.designer.kickstart.eclipse 5.12.1.qualifier tobundle org.activiti.kickstart.util 5.12.1.", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.0.v_OTDT_r200_201106070730 to bundle org.eclipse.jdt.ui [3.7.0.v20110531-1200,3.7.0.v20110531-1201).", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.0.v_OTDT_r200_201106070730 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.1.v_OTDT_r201_201109101025 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).", "Unable to satisfy dependency from org.eclipse.jdt.core 3.7.3.v_OTDT_r202_201202051448 to org.eclipse.objectteams.otdt.core.patch.feature.group [2.0.0,3.0.0).", "No solution found because the problem is unsatisfiable."]

    Did I miss something?

  5. I see some comments about using it with Kepler. Has anyone successfully built it using Kepler and the relevant updated dependencies?

  6. Lori,

    I initially tried Kepler and it didn't work - when I re-read this page I realised that it specifically said only Indigo and Juno were supported. However I tried Kepler with Graphiti 9.1 so it might work with a later version. To be honest I am finding this a bit frustrating - I can't find any page other than this that explains how to create the development environment and this seems to be out of date. The only named branch on Github is the Helios one.

    I'm not sure if there is a better place to look for information - have you found one?

     

    Regards

    Ken

     

     

  7. No, I did not find any other information on the forums or elsewhere. I started with Designer because I thought it would be easier to extend than Modeler. Our team prefers a web-based tool, so I am exploring extending Modeler now.

  8. Yes, I'm heading in the same direction - following the instructions here - http://eclipse.org/bpmn2-modeler/documentation.php and the link

    However despite following the instructions I'm getting problems with the compilation of a number of the classes in the org.eclipse.bpmn2.modeler.ui package.It looks like a Graphiti issue but the instructions say nothing about the version of Graphiti to be used. I'm going to try with 9.1 and see what happens

     

  9. I have a prototype for extending Modeler to support Data Objects and have submitted it for consideration as a seed for extended support in the future. I cloned ACT-620 which was closed and posted the details here:


    ACT-1847

  10. I was able to build and run the Kepler version, but I found that I had to update the org.activiti.designer.libs module manifest file to explicitly include all the root level jars to get this far. I am trying to build the latest level, but I am getting the following new errors:

    org.activiti.designer.eclipse

    The constructor DefaultUpdateBehavior(DiagramBehavior) is undefined    ActivitiEditorUpdateBehavior.java    /org.activiti.designer.eclipse/src/main/java/org/activiti/designer/eclipse/editor    line 17    Java Problem
    The method getDiagramBehavior() is undefined for the type ActivitiDiagramEditor    FileService.java    /org.activiti.designer.eclipse/src/main/java/org/activiti/designer/eclipse/util    line 242    Java Problem
    The method getDiagramBehavior() is undefined for the type ActivitiDiagramEditor    FileService.java    /org.activiti.designer.eclipse/src/main/java/org/activiti/designer/eclipse/util    line 243    Java Problem
    The method getDiagramBehavior() is undefined for the type IDiagramTypeProvider    ActivitiBpmnModelChangeListener.java    /org.activiti.designer.eclipse/src/main/java/org/activiti/designer/eclipse/editor    line 84    Java Problem
    The method getDiagramBehavior() is undefined for the type ActivitiDiagramEditor    FileService.java    /org.activiti.designer.eclipse/src/main/java/org/activiti/designer/eclipse/util    line 257    Java Problem
    The method getDiagramBehavior() is undefined for the type IDiagramTypeProvider    ActivitiBpmnModelChangeListener.java    /org.activiti.designer.eclipse/src/main/java/org/activiti/designer/eclipse/editor    line 88    Java Problem
    The constructor DiagramEditorContextMenuProvider(EditPartViewer, ActionRegistry, IConfigurationProvider) is undefined    ActivitiEditorContextMenuProvider.java    /org.activiti.designer.eclipse/src/main/java/org/activiti/designer/eclipse/ui    line 14    Java Problem

    org.activiti.designer.gui

    The method getDiagramContainer() is undefined for the type BaseActivitiPropertySection    BaseActivitiPropertySection.java    /org.activiti.designer.gui/src/main/java/org/activiti/designer/property    line 66    Java Problem
    The method getDiagramContainer() is undefined for the type PropertyServiceTaskSection    PropertyServiceTaskSection.java    /org.activiti.designer.gui/src/main/java/org/activiti/designer/property    line 142    Java Problem

    org.activiti.designer.kickstart.eclipse

    The method getDiagramBehavior() is undefined for the type DiagramEditor    FileService.java    /org.activiti.designer.kickstart.eclipse/src/main/java/org/activiti/designer/kickstart/eclipse/util    line 257    Java Problem
    The method getDiagramBehavior() is undefined for the type DiagramEditor    FileService.java    /org.activiti.designer.kickstart.eclipse/src/main/java/org/activiti/designer/kickstart/eclipse/util    line 243    Java Problem
    The method getDiagramBehavior() is undefined for the type DiagramEditor    FileService.java    /org.activiti.designer.kickstart.eclipse/src/main/java/org/activiti/designer/kickstart/eclipse/util    line 242    Java Problem
    The constructor DefaultUpdateBehavior(DiagramBehavior) is undefined    KickstartProcessEditorUpdateBehavior.java    /org.activiti.designer.kickstart.eclipse/src/main/java/org/activiti/designer/kickstart/eclipse/editor    line 17    Java Problem
    The method getDiagramBehavior() is undefined for the type IDiagramTypeProvider    KickstartProcessChangeListener.java    /org.activiti.designer.kickstart.eclipse/src/main/java/org/activiti/designer/kickstart/eclipse/editor    line 85    Java Problem
    The constructor DiagramEditorContextMenuProvider(EditPartViewer, ActionRegistry, IConfigurationProvider) is undefined    ActivitiEditorContextMenuProvider.java    /org.activiti.designer.kickstart.eclipse/src/main/java/org/activiti/designer/kickstart/eclipse/ui    line 14    Java Problem

    Did the graphiti level change? I am using 9.2, but I see 10.1 jars in the generated classpath.

    I do not see any real activity here, so I also posted this to another thread (

    Error rendering macro 'jira' : Unable to locate JIRA server for this macro. It may be due to Application Link configuration.
    ) that I am trying to verify.

  11. I also had to update the org.activiti.designer.parent to reference Kepler instead of Juno:

        <repositories>
            <repository>
                <id>eclipse-kepler</id>
                <layout>p2</layout>
                <url>http://download.eclipse.org/releases/kepler</url>
            </repository>

  12. Everything seems to build on the command line, but I get errors when I bring them into eclipse with the aforementioned updates. Once I updated the Graphiti plug-in versions, the errors disappeared. So, even though I had the 10.1 jars were referenced, I still had the 9.2 jars in the plug-in dependency.

  13. Okay thanks, updated the version to 0.10.1 and changed Eclipse version to Juno and Kepler