Well we can, but I think we have some legacy solutions out there that
are not easily changed. Does anyone besides Trinidad and (from what I'm
hearing) Tobago have JSF1.2 specific branches?
Scott
Gerhard Petracek wrote:
hello,
what's about an uniform layout for all myfaces-projects?
(currently it's also a blocking topic for me to
setup myfaces-extensions-validator.)
regards,
gerhard
2008/6/20 Scott O'Bryan <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>:
Mike, the problem with this approach is one of forward compatibility.
Let me explain. The ExternalContextUtils in the MyFaces commons,
when it existed in Trinidad, had api's for handling request input
streams and whatnot because the ExternalContext did not. If
someone used that API and then wanted to run their application
using JSF1.2 and the 1.2 version of the commons, they would need
to do a mad scramble to get the proper api's added. Furthermore,
if when you design an API for a 1.1 branch, and you don't take
into account later versions of JSF, you increase your changes that
that contract will have to be changed. That, for instance, a
particular piece of functionality will not be duplicable in a
later release. Forcing consideration in later branches helps
eliminate this as a possibility.
IMO, most new development should be done on the later branches and
posted to earlier branches as appropriate. That's why I'm a
proponent of having a trunk which reflect's the latest code and
branches which get backports as needed. If the libraries are
allowed to not be "forward" compatible, they will, essentially,
become useless for just about anyone to use. I know I for one
would be reluctant to use an open source project that I know will
require a lot of work before I can upgrade. I would rather just
develop something in house.
That said, I'm far less concerned with what happens on outward
facing projects then I am with infrastructure projects. If API's
do not allow upward mobility in infrastructure, EVERYONE looses in
the community. Backward compatibility? Presumably not, because
the old api's would still function the same, they just might
become feature limiting.
Ultimately though, the commons project has to support the policies
of the "strictest" outward facing project, unless it is intended
for that project NOT to have to depend on commons.
Scott
Mike Kienenberger wrote:
Let's not forget that working on open source software is quite
different than working on proprietary software. For open
source, you
work on what you need and you share what you've done with others.
Some people need JSF 1.1 and will be working there. Some
people need
JSF 1.2 and will be working there. Some will need 2.0.
Keeping it
all consistent would be ideal, but realistically, everyone
needs to
work on what they need. To say that no work will be allowed
on JSF
1.1 is not helpful. Yes, it'd be great if everything applied
to one
branch can be applied to another, but if someone is still
working on
JSF 1.1 fixes and features, they may not have access to JSF 1.2 or
2.0.
My suggestion is that we keep this in mind and allow for some
flexibility. It may be that some work committed to 1.1
remains as a
JIRA item until someone needs it in JSF 1.2 or 2.0. And a
bug fix to
1.2 may remain as a JIRA item for 1.1 until it's needed.
As an example, I'm doing a lot of work with a legacy app these
days
(which is why I'm not actively doing JSF development) and it uses
Cayenne 1.1. That's now 4 versions old as Cayenne has
transitioned
from 1.1 to 1.2 to 2.0 to 3.0. I don't expect the cayenne
community
to support my needs by back-porting all bug fixes, but I do
have the
ability to back-port and maintain those fixes myself as a
developer,
even though the branch is not officially supported by the project.
And at the same time, if the problem I fix is still an issue
in 3.0,
I'm not expected (or required) to make sure that every version of
Cayenne after 1.1 has that fix applied. I would open a JIRA
issue,
but since the architecture is quite different for later
versions, it
would be up to someone using a newer version to solve and apply it
(with or without the code I used to fix it). On the other
hand, I
would typically try to also fix it for 1.2 since the ease of
applying
such a patch is greatly reduced.
Myfaces Core and Tomahawk has always been very weak on
providing bug
fixes for older versions. If anything we should be trying to
make
that task easier rather than more difficult.
--
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces