« Lunch break. Lots of nice | Main | Download the presentations: Here »
November 19, 2002
Ovidiu is in the house:
Ovidiu is in the house: Our favorite HP employee takes the mike to talk about the Cocoon control flow. Geek stuff for sure - but becoming more important as people look to Cocoon as a way of building complete web applications.
I have found a power outlet so no more staring at the battery indicator.
Ovidiu starts. "Control flow is MVC+ for Cocoon". "Script languages are just as powerful as 'normal' programming languages. So why make the difference?" In a flow script which is written in JavaScript you can use sendPage() to call a pipeline for view generation. While the user is reading the page you send back, the flow script is waiting - but not using a thread. All information is saved into a continuation object and the form's URIs are mapped to the stored continuation object. So you write the controller using a JavaScript script. The View layer is then an XSP page in your pipeline. The model is the data object you pass from the controller to the view pipeline (currently a JavaBean or JavaScript object). In the View layer (XSP) you can use JXPath to retrieve data from or about the continuation object.
At the moment the view is only XSP - but a Cocoon transformer is being worked on as is Velocity support. JSTL is another option currently being investigated. Steven has a picture up from the talk here. Ovidiu is fielding the questions after the first part of his great talk. "I want to make sure everybody understands this far. It's pretty braindamaging stuff."
Now into the advanced topics. Ovidiu explains variable scoping and how you can use the special cocoon object inside the script. Now he is onto the problems of using the "browser back button". How do you expire continuations? invalidate() function on the continuation object or time based (TBD). What's left? New ways of generating the view, Automatic expiration of continuations and documentation!!
Posted by Matthew at November 19, 2002 02:21 PM