We're currently on a monthly release cycle.
A release cycle starts 1 week of planning called the Jira-period. The goal is that after this week is that Jira for the release is relyable, represents the plans and priorities correctly and that no issues on the current release are unassigned. The work necessary for this issues should be well understood. Often we analyse issues in the Jira-period In this period we discuss work that will be done in the next iteration each developer ensures that the workload that is taken can be delivered comfortably before the code freeze date. The main objective of this period is that the planning is as stable and predictable as possible at the jira freeze date, but implementation work can already be started in this period as well.
Then there are 2-3 weeks of coding.
Then there is 1 week we call the release-week. The release week starts on the code freeze day. On the morning after the code freeze day, a tag is created for the release. It is assumed that all coding work has been completed by that time, but practice learns that this should be checked with the group ;-) After the versions are updated on the branch, we start with pointing the continuous integration jobs to the branch and start smoke testing. Once that is OK, the publishing of the release can begin.
This calendar shows the release dates and also JIRA Freeze and Code Freeze dates for the releases.
The Initial Activiti Cycle Roadmap 2010 is posted here. It is not merged into this page, which is planned to be done after the first release.
Here's the Activiti project in Jira. That is the official reference. Below is that (not yet) list of issues ordered by priority for planning purposes. The list below in this page might be out of date. You can also find the [roadmap of releases in Jira|http://jira.codehaus.org/browse/ACT#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel].
Here's a backlog list of feature ideas that we have. We use it as inspiration when we plan each next release. It might get a bit outdated, in which case features in this list might already be implemented.
- Productization (Frederik)
- Help to complete the alfresco workflow api (Frederik)
- Define productization identity strategy (Frederik)
- Document activity type pluggability for engine and tooling (Tom)
- Increase coverage of automatic DB upgrade (Tom)
- CI server setup (Tom)
- Fix job executor windows CI problem (Tom)
- Test clustering (Tom)
- Rules integration (Tom / Tijs / Ron)
- Test clustering and max scalability on AWS cloud (Joram)
- Foreach: parallel execution based on variable collection or expression-return-value collection (Joram)
- Process instance migration (Joram)
- Activiti Modeler activiti extensions support (Falko)
- Spring JTA support (Tom)
- JMS (Joram)
- EJB invoke (Joram)
- Reporting (Frederik)
- Review Cycle UI. Work out mission more concrete as well as screenshots and business oriented use cases.
- View logs in Probe (javax.util software log files) (Frederik)
- View activiti configuration file in Probe (Frederik)
- DB support for MS SQL Server (expected from community)
- Rest API to expose process instances with filter criteria (10 days)
- Task delegation when a user goes on holiday (Tom)
- Existing tasks
- New tasks for which the engine would assign it to that user
- Process debugging ACT-595
- Mail forms: Complete a task by replying to a mail (Frederik)
- Document how to add support for another scripting language (Frederik)
- Add working hours to business calendar
- Asynchronous continuations ACT-126 (Tom)
- Implement BPMN boundary error event ACT-15 (Joram)
- Celebrate 1st anniversary of Activiti!
- Async & remote access to service API
- Allow for Hibernate entities to be stored as process variables
- Allow for JCR nodes to be stored as process variables
- Instant process statistics ACT-121
- Add LDAP support through Spring Security for the identity component ACT-116 (10 days)
- Dynamic sub tasks ACT-117
- Authorization + Impersonation through API and REST interface (10 days)
- Task, process instance and artefact discussions
- User provided process instance ids (is that necessary given the businesskey?)
- Search with Lucence
- CMIS document links as process variables
- OpenCMIS Document variable type (6 days)
- Check out/check in activities (4 days)
- Manage process cache
- Clear cache
- View list of cached processes
- Single sign-on (10 days, lot of uncertaincy)
- Specify bell shaped probability curves
- Specify scenarios
- Produce report of execution run
- Transient variables
- Task lifecycle pluggability
- Adding authorization to explorer / Viewing other people’s tasks
- Extend dynamic task creation to allow subprocesses to be dynamically linked to user tasks.
- System variables
- Internationalization for task forms
- Deal with multiple timer parallel outgoing transitions http://jira.codehaus.org/browse/ACT-47
- Add freemarker form engine http://jira.codehaus.org/browse/ACT-175 http://jira.codehaus.org/browse/ACT-229 http://jira.codehaus.org/browse/ACT-286
Issues are small jobs that should be taken in between. Each release some of these smaller issues are prioritized and taken into the release.
- ScriptTask: Load script code from file or process variable @see http://forums.activiti.org/en/viewtopic.php?f=4&t=292
- ACT-20 Task forms user picker
- ACT-77 Remove URL Rewrite
- ACT-34 Refactor JobExecutor threading
- ACT-97 Expose spring beans in Scripts
- ACT-93 Use CompiledScript to improve performance
- ACT-54 Runtime Linked sub-process