<?xml version="1.0" encoding="UTF-8"?>
<chapter id="ch.eclipse-bpmn-plugin" version="5.0"
         xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd http://www.w3.org/1999/xlink http://www.docbook.org/xml/5.0/xsd/xlink.xsd"
         xml:base="../" xmlns="http://docbook.org/ns/docbook"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:xs="http://www.w3.org/2001/XMLSchema"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:ns="http://docbook.org/ns/docbook">
  <title>Eclipse BPMN 2.0 Plugin</title>

  <para>We are working on a new BPMN 2.0 Eclipse editor that allows you to
  specify business processes, choreographies, etc. using the BPMN 2.0 XML
  syntax (including BPMNDI for the graphical information). The editor itself
  is based on the Eclipse Graphiti framework and the Eclipse BPMN 2.0 EMF
  meta-model.</para>

  <para>Features:</para>

  <itemizedlist>
    <listitem>It supports almost all BPMN 2.0 process constructs and
    attributes (including lanes and pools, annotations and all the BPMN2 node
    types).</listitem>

    <listitem>Support for the few custom attributes that jBPM5
    introduces.</listitem>

    <listitem>Allows you to configure which elements and attributes you want
    use when modeling processes (so we can limit the constructs for example to
    the subset currently supported by jBPM5, which is a profile we will
    support by default, or even more if you like).</listitem>
  </itemizedlist>

  <para>Many thanks go out to the people at Codehoop that did a great job in
  creating a first version of this editor.</para>

  <section>
    <title>Installation</title>

    <para>Requirements</para>

    <itemizedlist>
      <listitem>Eclipse 3.6 (Helios) or newer</listitem>
    </itemizedlist>

    <para>To install, startup Eclipse and install the Eclipse BPMN2 Modeler
    from the following update site (from menu Help -&gt; Install new software
    and then add the update site in question by clicking the Add button,
    filling in a name and the correct URL as shown below). It will
    automatically download all other dependencies as well (e.g. Graphiti
    etc.)</para>

    <para>Eclipse 3.6 (Helios): <ulink
    url="http://download.eclipse.org/bpmn2-modeler/site-helios/">http://download.eclipse.org/bpmn2-modeler/site-helios/</ulink></para>

    <para>Eclipse 3.7 (Indigo): <ulink
    url="http://download.eclipse.org/bpmn2-modeler/site/">http://download.eclipse.org/bpmn2-modeler/site/</ulink></para>

    <para>The project is hosted at eclipse.org and open for anyone to
    contribute. The project home page can he found <ulink
    url="http://eclipse.org/projects/project.php?id=soa.bpmn2-modeler">here</ulink>.
    Sources are available <ulink
    url="http://git.eclipse.org/c/bpmn2-modeler/org.eclipse.bpmn2-modeler.git">here</ulink></para>
  </section>

  <section>
    <title>Creating your BPMN 2.0 processes</title>

    <para>You can use a simple wizard to create a new BPMN 2.0 process (under
    File -&gt; New - Other ... select BPMN - BPMN2 Diagram).</para>

    <para>A video that shows some sample BPMN 2.0 processes from the examples
    that are part of the BPMN 2.0 specification:</para>

    <ulink url="http://vimeo.com/22021856">
      <figure>
        <mediaobject>
          <imageobject>
            <imagedata align="center"
                       fileref="images/Chapter-Eclipse/BPMN2examples.png"
                       format="PNG" role=""/>
          </imageobject>
        </mediaobject>
      </figure>
    </ulink>

    <para>Here are some screenshots of the editor in action.</para>

    <figure>
      <mediaobject>
        <imageobject>
          <imagedata align="center"
                     fileref="images/Chapter-Eclipse/EclipseJBPM.png"
                     format="PNG" role=""/>
        </imageobject>
      </mediaobject>
    </figure>

    <figure>
      <mediaobject>
        <imageobject>
          <imagedata align="center"
                     fileref="images/Chapter-Eclipse/properties.png"
                     format="PNG" role=""/>
        </imageobject>
      </mediaobject>
    </figure>

    <figure>
      <mediaobject>
        <imageobject>
          <imagedata align="center"
                     fileref="images/Chapter-Eclipse/bpmn2-1-thumb.png"
                     format="PNG" role=""/>
        </imageobject>
      </mediaobject>
    </figure>

    <figure>
      <mediaobject>
        <imageobject>
          <imagedata align="center"
                     fileref="images/Chapter-Eclipse/bpmn2-2-thumb.png"
                     format="PNG" role=""/>
        </imageobject>
      </mediaobject>
    </figure>
  </section>

  <section>
    <title>Filtering elements and attributes</title>

    <para>You can define which of the BPMN 2.0 elements and attributes you
    want to use when describing your BPMN 2.0 diagrams. Since the BPMN 2.0
    specification is rather complex and includes a very large set of different
    node types and attributes for each of those nodes, you may not want to use
    all of these elements and attributes in your project. Elements and
    attributes can be enablement / disabled at the project level using the
    BPMN2 preferences category (right-click your project folder and select
    Properties ... which will open up a new dialog). The BPMN2 preferences
    contain an entry for all supported elements and attributes (per node type)
    and you can enable or disable each of those by (un)checking the box for
    each of those elements and attributes.</para>

    <figure>
      <mediaobject>
        <imageobject>
          <imagedata align="center"
                     fileref="images/Chapter-Eclipse/prop-page-tools.png"
                     format="PNG" role=""/>
        </imageobject>
      </mediaobject>
    </figure>
  </section>

  <section>
    <title>Changing editor behavior</title>

    <para>The "General settings" tab in the User Preferences lets you specify
    a "Target Runtime" which customizes the editor's behavior for a specific BPMN
    execution environment. Currently only jBPM5 and a generic runtime are defined
    for the editor, but others are in the works.
    </para>
    
    <para>This preference page (shown below) also lets you configure default
    values for BPMN Diagram Interchange (or "DI") attributes.</para>

    <figure>
      <title/>

      <mediaobject>
        <imageobject>
          <imagedata align="center"
          			 fileref="images/Chapter-Eclipse/pref-page-general.png"
          			 format="PNG" role=""/>
        </imageobject>
      </mediaobject>
    </figure>
  </section>

  <section>
    <title>Changing editor appearance</title>

    <para>The preference page shown below lets you customize the appearance (colors and fonts)
    for all of the different elements that can be placed on the diagram canvas.
    </para>

    <figure>
      <title/>

      <mediaobject>
        <imageobject>
          <imagedata align="center"
          			 fileref="images/Chapter-Eclipse/pref-page-editor.png"
          			 format="PNG" role=""/>
        </imageobject>
      </mediaobject>
    </figure>
  </section>
</chapter>
