Scott O'Bryan wrote:
Partially ignore this.. :) Let me clairify now that I understand your
proposal..
I think projects need to be in charge of their own destiny based off of
need/usage.. :) Indeed Trinidad has a 1.0.8 branch and a 1.2.8 branch
which is (mostly) functionally equivalent. But I wouldn't say that you
can take code written for 1.2.8 and use it on 1.0.8. You should be able
to, however, do the opposite. So the rules in Trinidad are that items
added to the 1.0.x branch MUST be added to the equivalent 1.2.x branchin
order to provide a clean upgrade path.
The project should document their policy. It is the job of the PMC and
the community to hold the project to their stated policy.
As for the commons, I think it's largely irrelivant. Commons should be
more stable API and functionality wise (and we should do everything in
our power to ensure this). As such, if Trinidad had a minimum
requirement of myfaces-commons-utils 1.2.2 and Tobago had a minimum
requirement of myfaces-commons-utils 1.2.8, Trinidad should work with
1.2.8 as well. I think on the commons side, we can just release each
branch as needed because, especially starting off, we're going to have
projects which will require a release of commons in order to do their
release. Especially if there are some enhancements.
In the illustration, only the major.minor version of common project
change when the JSF support changes. I agree within a major.minor
version upward compatibility is the goal, which puts an emphasis on
testing. In your example of using Trinidad with the 1.2.8 utils sounds
reasonable because the JSF version support did not change. The rules
around version numbers for the "common" projects need to be defined so
the depend projects know what to expect.
Paul Spencer
Scott
Scott O'Bryan wrote:
Paul, why do the CF versions have to be different. This is no
different (IMO) then what I was talking about except that we could not
FORCE people to backport everything.
I don't see why libraries for older JSF's HAVE to be functionally
equivalent. That is not to say that API's started in 1.2 shouldn't be
upheld in the 2.0 version, but why should the 2.0 libraries only
contain functionality relivent to 1.2.. I think the older branches
could be move back as needed and the only real concern we need to
have, therefore, is for forward compatibility except by exception.
As for JDK, if we support JSF 1.1, we should build off JDK 1.4. If we
support JSF 1.2, then there is no reason NOT to use JDK 1.5. If we
support JSF 2.0, then I think 1.6 is the minimum requirement.
Scott
Paul Spencer wrote:
I am one who is using JSF 1.1 for some applications. This is because
the applications are running software/hardware environments which do
not support JSF 1.2. For applications in environment that will
support JSF 1.2, I use JSF 1.2.
Future JSF version are inevitable, thus a solution must not be
limited to support for JSF 1.1. At some point a support for a JSF
version must be scaled back to bug fixes. Below is a starting point
for a long term solution.
We have several different "customer facing" project (
MyFaces,Tomahawk, Trinidad, Tobago, Orchestra, and Portal Bridge) the
must address this JSF version issue. Most restrict a JSF version to
a Major.Minor version of the project. Tomahawk I know support both
JSF versions in the same project version. If all "customer facing"
projects adopt a "restrict a JSF version to a Major.Minor project
version" paradigm, then we can drop support for a JSF version in the
"common" projects with out holding back functionality in the
"customer facing" project because that functionality can not be
implement in the older JSF implementation.
The illustration below is for one "customer facing" project the is
dependent on one "common" project. When the project started, only
JSF 1.1 was supported. When support for JSF 1.2 was added, the
"common" project was able to support both JSF versions. As
functionality was added and bug fixed, the "common" project was able
to support both JSF versions. Version 1.1/2.3 of the "customer
facing" application are functionally equivalent, but the the "common"
project had to be split off JSF 1.1 into a branch, keep JSF 1.2 and
JSF 2.0 support together.
JSF 1.1 JSF 1.2 JSF 2.0
CF Ver CP Ver CF Ver CP Ver CF Ver CP Ver
-------- ------ ------ ------ ------ ------
1.1.0 1.0.0
1.1.1 1.1.0 1.2.1 1.1.0
1.1.2 1.2.0 1.2.2 1.2.0
1.1.3 1.2.1 1.2.3 1.3.0 2.0.0 1.3.0
1.1.3.1 1.2.2
1.2.4 1.3.1 2.0.1 1.4.0
CF Ver = Version of "customer facing" project
CP Ver = Version of "common" project
Version 1.1.3 and 1.2.3 and 2.0.0 are functionally equivalent, the
older JSF uses a different version of the "common" library.
Version 1.1.3.1 is a bug fix release this has no function equivalent
in the other JSF implementations.
Paul Spencer
Simon Lessard wrote:
Hi all,
I have to agree with Andrew here. One year ago, JEE5 server were still
scarce or underused, thus supporting the maintained two branches
argument,
but now is no longer the case and splitting efforts between two code
bases
doesn't sound most efficient.
Regards
~ Simon
On Fri, Jun 20, 2008 at 11:00 AM, Andrew Robinson <
[EMAIL PROTECTED]> wrote:
JSR 252 (JSF 1.2) was finalized on 2006-05-11
Java 1.5 released 2004-09-30
I don't mind people maintaining JSF 1.1, but I do think that there is
very good cause to have 1.1 moved to branches and the latest JSF
specification as the trunk for each project. Over 2 years is plenty of
time to adopt JSF 1.2. If you choose to stay on an old API, there is
just cause to not have the latest and greatest code available. For
those that wish to stay on and support 1.1 on a branch, that is
perfectly fine, but I think it is time to stop burdening every
developer with supporting legacy code without just cause. Other
technologies support the latest, and I think 2 years is plenty of
notice to users.
My $2 (gas price inflation from cents to dollars)
-Andrew
On Fri, Jun 20, 2008 at 3:14 AM, Mario Ivankovits <[EMAIL PROTECTED]>
wrote:
simon schrieb:
In other words, keeping one line of code makes sense (less
maintenance) even if we lose some JSF1.2/JSF2.0-specific features or
performance boosts.
While I second the rest of your mail, I wont do so with the sentence
above.
We are developers, and, at least in your younger years ;-), you'd
like
to keep up with technology
and use the newest things. And JSF 1.2 is anything else then new
today,
not to speak about JSF 1.1.
In contrast, we spent alot of time to make our JSF 1.1 development
upward compatible.
I don't think that we are responsible to provide a vital community
around a library
which itself depends on a stone old architecture.
So, yes to one line of code, but I'd like to see the bundle
Tomahawk+JSF1.1 frozen.
Anything new should go to a JSF 1.2 native Tomahawk.
And JSF 2.0 release date + (lets say) half year the same should count
for Tomhawk JSF 1.2 then.
Ciao,
Mario