<?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 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 or newer</listitem>
    <listitem>Graphiti framework, using update site <ulink url="http://download.eclipse.org/graphiti/updates/0.7.1/">http://download.eclipse.org/graphiti/updates/0.7.1/</ulink></listitem>
  </itemizedlist>

  <para>To install, startup Eclipse and install Graphiti from the update site above
  (from menu Help -> Install new software and then add the update site in question and 
  select and install the Graphiti runtime) and then use the following update site 
  <ulink url="http://codehoop.com/bpmn2">http://codehoop.com/bpmn2</ulink> to 
  install the latest version of the BPMN 2.0 editor in Eclipse. A screencast that shows
  all this in action can be found <ulink url="http://vimeo.com/22022128">here</ulink>.</para>

  <para>Sources can be found here: <ulink url="https://github.com/droolsjbpm/bpmn2-eclipse-editor">https://github.com/droolsjbpm/bpmn2-eclipse-editor</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 -> 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/properties_editor.png" format="PNG" role="" />
          </imageobject>
        </mediaobject>
      </figure>

  </section>

</chapter>
