What do you want in Spring Web Flow 1.1?
Spring Web Flow community,
Work on Spring Web Flow 1.1 is getting started. 1.1 is going to be a major new functionality release with significant product investment from both Interface21 and Ervacon. The major themes are integration, ease of use, and reusability.
Planned features include:
Conversational persistence contexts
The ability to have persistence contexts driven by your conversational boundaries, and automatically managed within those boundaries. The basic pattern here is you start a conversation to load some objects, resume the conversation to update those objects over a series of requests, and end the conversation to commit your updates in a single transaction.
Acegi Security integration
The ability to secure flow definitions using the Acegi Security System for Spring. Being able to authorize:
- Does the principal have the rights to launch this flow?
- Does the principal have the rights to enter this state of this flow?
- Does the principal have the rights to signal this event against the current state of this flow?
Unified Expression Language (EL) integration
Currently the Object Graph Navigation Language (OGNL) is the only ExpressionParser supported out of the box in Spring Web Flow. We're going to add support for the Unified Expression Language (EL) which is widely-used in the Java Server Faces community and an emerging standard (JSR-245).
Integrated Spring 2.0 custom scopes
The ability to use Spring 2.0's "custom scope" capability to scope Spring beans in Web Flow's conversation, flow, and flash scopes. This allows scoped beans to benefit from dependency injection easily and to be used naturally in a Java Server Faces environment where Spring 2 is used as the managed bean provider.
Enhanced support for Java-based flows
Out-of-the-box support for engineering executable Flow defnitions from non-XML sources, including plain Java-based metadata. This includes support for declarative @RequestHandler method binding (for "stateless" flows), as well as the possibility of defining flows fully using plain Java objects, with Flow and States as classes and transitions as methods. A strong aspect of Spring Web Flow's design is the core engine is independent of any flow definition medium such as XML. The JIRA issue tracking this enhancement in the roadmap contains a prototype by Rod Johnson himself on some of this work.
Support for flow composition and inheritance
The ability to compose flows using inheritance and composition, similiar to how a class can extend another class and contain associations with other types. We expect inheritance to improve reuse for flows that share common controller behaviors, and composition to allow master flows to embed other flows as part of a overall controller graph, similiar to how today's component-based frameworks can nest other components.
There are other planned features as well, but these are some of the biggies. The full roadmap is here. Keep in mind this is subject to change and evolve as we get further along and receive more feedback.
What do you want to see in your Web Flow 1.1? I'm particularly interested in those who have been using Spring Web Flow for sometime and understand what it brings to the table and its potential. What new features would you stand to benefit from the most? They don't necessarily have to be on this list or the roadmap yet.
Thanks in advance,
Keith
Last edited by Keith Donald; Apr 20th, 2007 at 02:05 PM.
Keith Donald
Core Spring Development Team