News

2008-01-13

As it can be easily seen, I did not have much time to work on the framework this week end.
Still, I've been able to work on the scope control of the transitions, making it possible to now have "global" (available everywhere) and "inherited" (available in the defining state and all it's direct or indirect children) transitions.

Also, I've slightly improved the WebTest, which now contains a nice layout.
Besides the "cool" design it now has, the layout allows to now clearly see the difference between the simple page reload and the few ajax-based responses being used (by example, when posting a message).

I also added a few more tasks;

  • Brainstorm about WebFlow's relationships; giving the possibility to, when creating a new WebFlow from an existing one, establish a relationship between the two of them, allowing informations to directly pass through that link.
  • Improve XML parser; although the parser is working quite well, it's structure has become a bit too chaotic and would need a little clean up in the future.

2008-01-06

Yesterday, two tasks were complete;

  • AJAX renderers; the hierarchy of the renderers has been reworked and improved, so that the new system allows maximal flexibility
  • Pages implementation; the first version of the previously called "views" has been implemented (and renamed, as the "view" name was already used)

Concerning the new tasks to be done, here it comes;
  • Brainstorm about users & permissions; even though the handling of security is quite eased through the use of a stateflow-based website, it may be much more improved by setting up a mechanism of permissions for the transitions. That way, the states and transitions don't need to be made especially to handle users' access (by making a set of state for each permission) and, rather than that, you can create transition which will be accessible only to a user with specific permissions. Still, before implementing it, it is first required to think about the best way to manage this security mechanism.

2008-01-06, later that day

Ok, I added a basic permission mechanism, which simply consists of giving a WebFlow instance a set of String-based permissions and giving the possibility to define a "permission" element for each transitions in the definition file. Naturally, a transition is "accessible" only if the WebFlow instance asking for it possesses the required permissions (or if the transition didn't specify any permission).

Other than that, I also made a first little version of the WebTest project, which allowed me to find a few problems with the renderer (the buffering of page to be sent as content of the AJAX response was not working in the case of code-generating URL, such as JSP or Struts actions).
This version, as well as the sources, are available in the WebTest section of this website.

2008-01-05

As the website is now available, it will be worked on until it reaches and "acceptable" state.
The same goes for the Wiki (for which a link was added in the menu above).
It should be much better by the end of the week-end.

Also, the focus is now on the WebTest application as it was quite late in comparison to the actual framework development and was not accurately what services were offered.
In the same time, I'll try to work a bit on the WebFlow itself, and here're the tasks I'll try to be working on;

  • Making more AJAX transition renderers (such as Alert [JS popup], MultiUpdate [multiple part of the page being updated with a single response], Composite [multiple renderer behavior in a single response], ...)
  • Implementing a first version of "views", which will be used to make possible the display of pages not really related to the WebFlow itself (like a FAQ page, which could be called from anywhere), with a taglib allowing to switch to specific view and back to the WebFlow.
  • Implementing a first version of scope control for transitions; now, you need to define either a transition or a transitionReference if you want to have a transition accessible in a specific state. The goal of this task would be to give the possibility to set transition either as global (accessible everywhere) and inherited (accessible in the state where it is defined and all the children).
  • Thinking about an "actions" concept, which would be a subset of transitions, as the only thing they'd do would be to execute code serverside and return a renderer. The objective of those things would be to offer a service allowing to implement technical solution like small Ajax updates in your website (by example, selecting a value in a selectbox would trigger an action on the server which would returns a AjaxUpdate - a new part in the form - without needing to actually execute a transition).
  • Thinking about WebFlow definitions inheritance; what would be done, what could be the effects, ...

With that, I hope it'll be possible to soon make a first alpha release so that you can see if it actually useful or not.

2008-01-04

Today, the SourceForge project has been created and the project can now really begins it's growth.
The code source has been committed to the SVN repository, the website has been uploaded to the FTP and everything was set up to work with this new environment.

Let's hope everything goes well and a stable version of WebFlow is available soon ;)