hi everyone!
i'm about to commit a rather intrusive usecase framework update.
it will improve the following issues:
* always release flowHelper components in usecase handler before sendPage
* usecases can now specify not to create a continuation (as requested by
doug)
* uri and template views behave consistently (both can create
continuations, both can support custom flow (e.g. for cforms))
* cforms-specific stuff is removed from UsecaseView.java and replaced
with a generic method to provide custom flow.
* custom flow can now be changed at run-time and is no longer a
build-time thing. [1]
i'd say all of the usecase flow handling is about 3.5 times nicer than
before.
however, it will introduce one new bug:
* cforms saving is broken
i have pinpointed the problem to modules/cforms/flow/customFlow.js, line
48: var outputStream = source.getOutputStream();
for some reason, this causes a java.io.FileNotFoundException.
since it is only a side issue and not fundamentally related to my
changed, i decided to commit anyway so that people can review the code.
there is some instrumentation left in the code - perhaps someone can
take a look at the issue and suggest a fix?
that said, i don't think cforms should do its document storing/loading
in javascript at all (that's why i did not bother to clean it up much) -
why don't we just move it into the java usecase code like all other
DocumentUsecases do?
it will be perfectly ok with me if someone decides to revert my changes
until the remaining issue is solved, in case this bug causes major
inconveniences.
hope you will enjoy the new code,
jörn
[1] although updates of custom flow code seem to require a restart of
the lenya servlet - i don't know why that is the case, maybe someone can
guess? the custom code is loaded via cocoon.load() in usecases.js.
--
Jörn Nettingsmeier
"Hofstadter's Law: It always takes longer than you expect,
even when you take into account Hofstadter's Law."
- Douglas R. Hofstadter
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]