Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 31 Next »


For JIRA Freeze and Code Freeze dates for the next release, see the Calendar

August 1st: 5.0.alpha4

  • BPMN Parallel gateway
  • BPMN Embedded subprocess
  • BPMN External subprocess
  • PVM concurrency and scoping
  • Discuss and decide on history architecture

September 1st: 5.0.beta1

  • Spring configuration support
  • BPMN Email task
  • CI driver scripts (Tom, Next Level Integration)
    • DB (in progress)
    • TX * Server * DB environment
  • BPMN Web service task (MuleSoft ?)
  • History data storage  (Tom)
  • Explorer threaded discussions in task forms (Alfresco)
    • Configure a process variable in task form
    • Store threaded discussion in a variable
  • Probe: Manage deployments
  • Probe: Manage jobs

Strategic goals for 5.0.GA

  1. Stability (API,DB,BPMN extensions, cfg file) and reliability
  2. Embeddability
  3. Features

Level 1

ACT-108 Define strategy for testing different configurations
ACT-106 Add testing for optimistic locking
ACT-78 move sortorder out of the interface package
ACT-103 Consider removing Page from engine interface
ACT-104 Replace findXxx methods returning lists with query API
ACT-30 Finish the basic history data model

Level 2

ACT-45 Make Spring integration work in a JTA and appserver environment

Level 3

ACT-112 Decide on JSON strategy

Level 4

ACT-34 Refactor JobExecutor threading
ACT-32 Task notifications and reminders
ACT-87 Fill exception field when job fails
ACT-95 fix testTwoNestedSubProcessesInParallelWithTimer
ACT-97 Expose spring beans in Scripts
ACT-1 Revisit responsibilities of ProcessEngines
ACT-109 BPMN: Finish receive task
ACT-84 move parsing of value expression to bpmn parser
ACT-70 Make exceptions and return values consistent in the API
ACT-44 Verify exception and rollback behavior in Spring context
ACT-111 Make Activiti OSGi compatible
ACT-50 review tomcat users in setup scripts
ACT-83 Capture the initiator
ACT-88 Reactivate PropertyTest
ACT-100 Unify firstResults and fix the Rest API
ACT-115 Table ACT_GE_PROPERTY cannot be created on MySQL with UTF-8 encoding due to limitation of key index length
ACT-116 Add LDAP support for the identity component
ACT-117 Dynamic sub tasks
ACT-54 Runtime Linked sub-process
ACT-92 Limit visibility of Spring beans in Activiti expressions
ACT-81 Server error when entering incorrect authentication details
ACT-20 Task forms user picker
ACT-35 Provide external URL for navigating task forms
ACT-18 Show process definition diagram
ACT-76 JSON Response contains unescaped control caharcters
ACT-23 Add no-wrap to task list menu navigation
ACT-62 Add more examples to demo setup
ACT-42 Explorer: Unable to login using Firefox 4beta
ACT-57 Condition on sequence flow is not saved to bpmn20.xml file after reopening an existing process
ACT-71 Activiti Modeler doesn_t work on windows
ACT-105 Add auto redirect to Activiti Modeler
ACT-113 Modeler "Save" does not regenerate bpmn20.xml file
ACT-114 Unable to save newly created diagram twice
ACT-21 Manage list of deployments
ACT-22 Manage list of jobs
ACT-49 make activiti compatible with jdk 5
ACT-15 Implement BPMN boundary error event
ACT-89 Review test support
ACT-66 Revisit task forms
ACT-107 Review Cycle setup config parameters
ACT-65 Investigate permgen error when using webapps
ACT-4 Introduce CI build
ACT-7 Move process activiti-engines-init to tomcat installation
ACT-9 Add auto open of explorer after setup
ACT-67 Rename modules activiti-probe to activiti-webapp-probe, similar for activiti-explorer
ACT-94 java.util.logging.ErrorManager/ NullPointerException in catalina.out at startup of tomcat
ACT-102 java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;
ACT-110 Move Chapter 11. Running QA tests to wiki
ACT-52 Remove BPMN 2.0 Beta compatibility
ACT-47 Multiple parallel paths out of boundary event doesn't work
ACT-77 Remove URL Rewrite
ACT-73 Document usage of activiti prefix
ACT-69 Add ant target to start up h2 console
ACT-56 Activiti Modeler is bound to localhost instead of the actual servername
ACT-63 Documentation: enhance task form example (vacation request)
ACT-64 Configure Tomcat in demo setup to have more memory
ACT-68 Make demo.setup run on MySQL
ACT-72 Creating tables in MySQL via Ant target fails due to error in activiti.mysql.create.sql
ACT-93 Use CompiledScript to improve performance

October 1st: 5.0.rc1

  • Controlled optimistic locking test (Tom)
  • Work out audit trail example
  • BIRT Reports (Next level integration and mimacom)
    • Process definition report
      • Average times per activity in a process instance
      • # Processes started - # Finished processes in last 12 months
    • Overview report
      • # instances per process definition
        • In progress
        • Completed
      • Pie chart # process definitions started in the last 3 months

November 1st: 5.0

  • Party
  • or
  • Bugfixes

Delegatable tasks

Task audit logging (==> variable declarations + forms in example) (mimacom)

Deployment option matrix

Productization requirements

  • Explicit
  • Docced
  • Example
  • CI covered (muodules examples and test-api)

Transaction demarcation technology

  • myBatis
  • user provided JDBC connection
  • JTA
  • JPA
  • Spring
    • Standalone (datasource + spring managing tx on jdbc connections)
    • JTA
    • ... ?

Server environment

  • Standalone JVM
  • Tomcat


  • Serverwide
  • Activiti inside war


  • MySQL
  • Oracle
  • PostgreSQL

Requirements Ideas

Business Analyst

  • Save abstract business process in a model repository
    • File based repository
    • Document repository
  • Author BPMN 2.0 processes
    • BPMN 2.0 spec compliant xml serialization (5.0) 
    • Browse process repository
    • Open existing BPMN 2.0 process (5.0)
    • Create new BPMN 2.0 process
    • Author abstract business process
  • Reporting
    • History data in DB (5.0)
    • BIRT reports
  • Process model collaboration
    • Involve people with a process
    • Discuss a process
    • Link process to other artifacts in the BPM cycle
  • Define task forms in a web browser
  • Simulation
    • Specify bell shaped probability curves
    • Specify scenarios
    • Produce report of execution run
  • Zero code approach
    • Produce executable models in web browser
    • Deployment from web browser
    • UDDI browser
    • Schema mapper
    • (Web) Service production.  Result of deployment is a new (web) service


  • Easy setup (installer)
  • Online demo


  • Java API
    • Stable PVM API
    • Stable Persistent API (5.0)
    • Query API (5.0)
  • Database persistence
    • Easy DB pluggability (5.0)
    • MySQL (5.0)
    • Oracle (5.0)
    • PostgreSQL (5.0)
    • DB2
    • MSSQL
    • MaxDB
    • Sybase
  • Limited number of tables
  • Very little external dependencies
    • Object API: only JVM
    • Persistence API: only ibatis
    • Other dependencies only introduced when the feature is actually used
  • Event listeners (5.0)
  • Timers (5.0)
  • Asynchronous continuations 
  • Process instance migration
  • Variables
    • Variable type system customization (5.0)
    • Transient variables 
    • System variables
      • Might be useful for complex gateways
    • Pluggable mechanism for variables referencing external entities (5.0)
      • JPA (5.0)
      • JCR Node
      • Hibernate
      • Out of scope: flushing updates to the referenced entity to the external persistence system
      • Others?
    • Process domain object ${this.customer.address.street}
      • external jpa references is enough for 5.0
  • Query for process instances based on variable values
    • Limited capabilities (5.0)
  • User provided process instance id (jbpm 4 business key) 
    • Can be replaced by searchable variable
  • Spring integration
    • Configure a ProcessEngine in spring bean xml
      • Allow ProcessEngine injection
      • Close ProcessEngine on ApplicationContext close
    • Transaction integration
      • User bean method defining the tx
      • Activiti service method defining the tx
      • Combine user domain object updates with process updates in a single transaction
    • Expression naming resolution includes spring beans
    • Spring bean xml resource as part of the deployment.  Resulting in a deployment scoped spring bean cache
    • Namespace handler
    • Process scope
  • Rules integration
    • See jBPM 4 example
  • LDAP integration
    •  Identity component pluggability (5.0)
    • Configure an LDAP store
    • How do we know which schema the data is stored?
  • Remote access through service API over REST
  • Async access to service API
  • Easy to add new activity type to the Activiti Engine
  • Easy to add new activity type to the Activiti Modeler
  • Task lifecycle pluggability
  • Eclipse tooling support
    • Create a new process project (or should we aim for SpringRoo only)
    • Create a new BPMN process file
    • Model the graphical part graphically.  Details in XML
    • Extended XML code completion
    • Auto create stub for non existent
  • High scalability and throughput

End user

  • Web based task inbox
    • Process defined tasks
    • Claiming tasks
    • Task forms
    • Internationalization for task forms
    • User defined tasks
    • Dynamic subtasks
    • Associating people
    • Discussions on a single task
    • Discussions on a process instance
    • Associating documents
  • Android task inbox
  • Mail forms: Complete a task by replying to a mail
    • Similar for SMS, IM, ...
    • Pluggable task interaction handler


  • View reports
  • Viewing other people’s tasks
  • Audit trails
    • Who submitted what data in certain task forms
  • Delegation when a user goes on holiday
    • Existing tasks
    • New tasks for which the engine would assign it to that user
  • Authorization
    • How to ensure that only a manager can look into subordinates tasks?

System admin

  • Manage jobs
    • View list of job failures
    • Retry failed jobs
  • View database content
  • View logs (javax.util software log files)
  • View activiti configuration file
  • Manage deployments
  • View process definitions
  • Manage process cache
    • Clear cache
    • View list of cached processes
  • Clear process definition cache
  • Manage multiple Activiti instance from 1 tool
  • Purging history
  • Manage security / authorization controls
  • Manage identity data
  • Manage the business calendar


  • Run as a server wide install
    • Automatic installation and CI
      • Tomcat
      • BEA WLI
      • WebSphere
      • JBoss
      • Glassfish
    • Automatic initialization and destruction of the ProcessEngine(s)
      • How should the configurations be found?
  • Run on naked JVM
  • Run embedded into war
    • Documentation on how to do it
    • Automatic installation and CI
  • Run embedded into ears
    • Documentation on how to do it
    • Automatic installation and CI
    • Automatic initialization and destruction of the ProcessEngine(s)
  • Run as an OSGi bundle
    • Documentation on how to do it
    • Automatic installation and CI
    • Automatic initialization and destruction of the ProcessEngine(s)
  • Process as a service
    • Automatic creation/destruction of a new Activiti instance
    • Administer multiple Activiti instance from 1 tool
  • Cloud deployment
    • Automatic creation/destruction of a new Activiti instance


  • Stable software
  • Reliable in production environments
  • Test coverage assurance for all features in the user guide


  • Functional activity types
    • Human task (5.0)
    • Service task
      • Web service (5.0)
      • Java binding (5.0)
    • Script task (5.0)
    • SQL task
      • Where/how to get the JDBC connection?
    • Email task (5.0)
    • Script task (JSR 223) (5.0)
    • Web service task
      • How to compose the message?
      • How to store the result?
    • ESB task
    • XML transformation task
    • Rules task
  • Control flow activity types
    • Start event
      • Single start event
      • Multiple start events
      • Specific start event types?
    • Exclusive gateway
      • Transition conditions
        • UEL method expression
        • UEL value expression
        • Expression calculating outgoing transition name
          • UEL method expression
          • UEL value expression
          • Decision table
          • Rules evaluation
    • Parallel gateway
    • Embedded subprocesses
    • External subprocesses
    • End event
      • Does BPMN give us the option to choose between end process instance or just end execution?
  • Timers
    • Business calendar
  • Variable declarations
    • Input/output sets?

Other ideas

  • Search with Lucence
  • No labels