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 34 Next »


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

Strategic goals for 5.0.GA

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


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

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

  • 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

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