Hi Richard,
As far as I know the 'fast-swap' reloads the ADF-business components and web configs at run-time in a standard ADF setup, i.e. with a model and viewcontroller project. And in this configuration it seems to work quite qell.
I'm actually not surprised that 'fast-swap' doesn't work with your setup, having taskflows in separate projects. Taskflow projects must always be included as an ADF library. Using the build output just doesn't work as expected.
In my opinion this is still a major issue. I prefer to develop my taskflows in a modular way in separate ADF projects / applications and create ADF libraries from and have a 'super web' application that uses them (just as you described). However when you change a taskflow it must be rebuild and redeployed before you finally see the change in the 'super web'. btw, this also limits the debugging possibilities (unless you build the sources too).
This would actually be a decent development process, but only if you could easily test the separate modules. But since page fragments cannot run on their own, you need test pages, test managed beans and other code. And since the ADF library deploy profile has limited configuration options these files are all included in the library too and may easily cause conflicts in the main superweb. It's often also a challenge to setup the test environment in the right way with all the plumbing code, especially when using the UIShell.
We do this modular approach and test the modules separately. Common plumbing code is also developed in separate projects so it can be used in both the modules and the superweb application. We've automated the build process using ant, Maven and ojdeploy to allow fast redeployment and to include the sources and javadoc for debugging purposes too.
Although this works, it's quite complex to setup (especially the automated build), it's still confusing for the developers and regularly results in conflict situations in the superweb application.
It would be great if your taskflows could also be included via the build-output option as this would make a much more comprehensible development cycle and could allow 'hot-swapping' and debugging too and without the complexity.
Ciao
Aino