On 10/22/05, Martin Marinschek <[EMAIL PROTECTED]> wrote: > It is a realistic scenario if you think about JBoss including MyFaces > (the implementation) 1.1.0 as a standard somewhere in the server - and > you want to upgrade to 1.1.1 in your webapp for the newest and best in > the tomahawk components.
IMHO, I believe this general scenario to be both realistic and extremely important to the success of the MyFaces project. MyFaces Runtime consumers expect a stable implementation of the JSF specification that competes on performance with other implementations of the specification. It is expected that this part would stabilize fairly quickly for each version of the JSF specification. MyFaces Tomahawk consumers expect innovation via new features and components, that can be plugged into any faithful implementation of the JSF specification. It is expected that this part would continue to evolve over a much longer timeframe than the MyFaces Runtime. Since MyFaces Runtime is a producer of the the standard and MyFaces Tomahawk is a consumer of the standard, these two deliverables should be released and versioned independently, using only the JSF specification as an interface to communicate between them. This will reduce the coupling between the two subprojects which is a good design principle. Any approach involving a restriction on "special" versions that are required to work together (beyond JSF specification compliance) is likely to reduce confidence in both MyFaces Runtime and MyFaces Tomahawk, and could easily lead to a customer preference to run MyFaces Tomahawk on the RI instead, where no such version restriction exists. However, the solution is simple. Eliminate all shared code between implementation and components, and release each subproject with independent versioning. Kind Regards, John Fallows.
