You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by Adam Winer <aw...@gmail.com> on 2006/01/10 01:11:38 UTC
Packaging, public vs. private (was: ADF source drop is available)
My understanding is that of Martin's - that we could fix this
during incubator.
@Matthias, I'd rather not have any wrappers - the plan here
is to repackage in line with MyFaces rules. I would, however,
strongly like to keep the high-level concept of separating our
public APIs - like component classes - from private internal
implementation details - like renderers and tag classes. We
do this now with an "oracle.adf" package for public stuff
and "oracle.adfinternal" for private stuff, much like Sun puts
public APIs in "javax.*" and private in "com.sun.*".
What would others think about repackaging org.apache.myfaces.custom
to separate the renderers, tags, and components? org.apache.myfaces
already does this for the "ext" stuff. Or, more generally, separating
further the "things that are used internally in MyFaces" from "things
we expect developers outside of MyFaces to rely on"?
-- Adam
On 1/7/06, Martin Marinschek <ma...@gmail.com> wrote:
> No,
>
> don't get me wrong - we don't have to fix this before getting into
> incubator, just on the exit. And I'd definitely combine this exit with
> a major release, and on a major release you should be able to change
> package names, and your users will accept that.
>
> But it's John and Jonas call on how and when they want to handle this.
>
> regards,
>
> Martin
>
> On 1/7/06, Mario Ivankovits <im...@apache.org> wrote:
> > Hi!
> > > What we can do is providing *wrapper* for the package stuff. ADF Faces
> > > is software, which is already in use by lot's of people, so... if we
> > > change *all* packages, we bother some users IMO. So we can set the
> > > *old* as deprecated and provide *new* org.apache.** package.
> > >
> > > Not sure if it is ok... starting an incubation with different packages
> > > then org.apche.**
> > >
> > Not hat my meaning has any weight here, but with modern IDEs it should
> > easily be possible to do some search and replace on the code.
> > Or we can provide a simple ant script to do this. It should be that hard
> > to replace using the fqn name of the changed classes.
> >
> > ---
> > Mario
> >
> >
>
>
> --
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
Re: Packaging, public vs. private (was: ADF source drop is available)
Posted by Adam Winer <aw...@gmail.com>.
On 1/10/06, Matthias Wessendorf <mw...@gmail.com> wrote:
> Hi,
>
> > @Matthias, I'd rather not have any wrappers - the plan here
> > is to repackage in line with MyFaces rules. I would, however,
> > strongly like to keep the high-level concept of separating our
> > public APIs - like component classes - from private internal
> > implementation details - like renderers and tag classes. We
> > do this now with an "oracle.adf" package for public stuff
> > and "oracle.adfinternal" for private stuff, much like Sun puts
> > public APIs in "javax.*" and private in "com.sun.*".
>
> I am absolutly +1 on repackage in line with MyFaces rules. The wrapper
> thing cames only up during thinking about "existing" users. However,
> lets go the *pure* MyFaces road.
I definitely would like to minimize the pain for existing customers, but
in the long run, making life easy for the existing customers of the
"oracle.adf" codebase is, I think, a problem for Oracle developers.
Which, ya know, might be me :), but not the me that's wearing the
MyFaces hat, if that makes any sense.
-- Adam
> > What would others think about repackaging org.apache.myfaces.custom
> > to separate the renderers, tags, and components? org.apache.myfaces
> > already does this for the "ext" stuff. Or, more generally, separating
> > further the "things that are used internally in MyFaces" from "things
> > we expect developers outside of MyFaces to rely on"?
>
> Makes sense to me too.
>
> -Matthias
>
> >
> > -- Adam
> >
> >
> >
> > On 1/7/06, Martin Marinschek <ma...@gmail.com> wrote:
> > > No,
> > >
> > > don't get me wrong - we don't have to fix this before getting into
> > > incubator, just on the exit. And I'd definitely combine this exit with
> > > a major release, and on a major release you should be able to change
> > > package names, and your users will accept that.
> > >
> > > But it's John and Jonas call on how and when they want to handle this.
> > >
> > > regards,
> > >
> > > Martin
> > >
> > > On 1/7/06, Mario Ivankovits <im...@apache.org> wrote:
> > > > Hi!
> > > > > What we can do is providing *wrapper* for the package stuff. ADF Faces
> > > > > is software, which is already in use by lot's of people, so... if we
> > > > > change *all* packages, we bother some users IMO. So we can set the
> > > > > *old* as deprecated and provide *new* org.apache.** package.
> > > > >
> > > > > Not sure if it is ok... starting an incubation with different packages
> > > > > then org.apche.**
> > > > >
> > > > Not hat my meaning has any weight here, but with modern IDEs it should
> > > > easily be possible to do some search and replace on the code.
> > > > Or we can provide a simple ant script to do this. It should be that hard
> > > > to replace using the fqn name of the changed classes.
> > > >
> > > > ---
> > > > Mario
> > > >
> > > >
> > >
> > >
> > > --
> > >
> > > http://www.irian.at
> > >
> > > Your JSF powerhouse -
> > > JSF Consulting, Development and
> > > Courses in English and German
> > >
> > > Professional Support for Apache MyFaces
> > >
> >
>
>
> --
> Matthias Wessendorf
> Zülpicher Wall 12, 239
> 50674 Köln
> http://www.wessendorf.net
> mwessendorf-at-gmail-dot-com
>
Re: Packaging, public vs. private (was: ADF source drop is available)
Posted by Matthias Wessendorf <mw...@gmail.com>.
Hi,
> @Matthias, I'd rather not have any wrappers - the plan here
> is to repackage in line with MyFaces rules. I would, however,
> strongly like to keep the high-level concept of separating our
> public APIs - like component classes - from private internal
> implementation details - like renderers and tag classes. We
> do this now with an "oracle.adf" package for public stuff
> and "oracle.adfinternal" for private stuff, much like Sun puts
> public APIs in "javax.*" and private in "com.sun.*".
I am absolutly +1 on repackage in line with MyFaces rules. The wrapper
thing cames only up during thinking about "existing" users. However,
lets go the *pure* MyFaces road.
> What would others think about repackaging org.apache.myfaces.custom
> to separate the renderers, tags, and components? org.apache.myfaces
> already does this for the "ext" stuff. Or, more generally, separating
> further the "things that are used internally in MyFaces" from "things
> we expect developers outside of MyFaces to rely on"?
Makes sense to me too.
-Matthias
>
> -- Adam
>
>
>
> On 1/7/06, Martin Marinschek <ma...@gmail.com> wrote:
> > No,
> >
> > don't get me wrong - we don't have to fix this before getting into
> > incubator, just on the exit. And I'd definitely combine this exit with
> > a major release, and on a major release you should be able to change
> > package names, and your users will accept that.
> >
> > But it's John and Jonas call on how and when they want to handle this.
> >
> > regards,
> >
> > Martin
> >
> > On 1/7/06, Mario Ivankovits <im...@apache.org> wrote:
> > > Hi!
> > > > What we can do is providing *wrapper* for the package stuff. ADF Faces
> > > > is software, which is already in use by lot's of people, so... if we
> > > > change *all* packages, we bother some users IMO. So we can set the
> > > > *old* as deprecated and provide *new* org.apache.** package.
> > > >
> > > > Not sure if it is ok... starting an incubation with different packages
> > > > then org.apche.**
> > > >
> > > Not hat my meaning has any weight here, but with modern IDEs it should
> > > easily be possible to do some search and replace on the code.
> > > Or we can provide a simple ant script to do this. It should be that hard
> > > to replace using the fqn name of the changed classes.
> > >
> > > ---
> > > Mario
> > >
> > >
> >
> >
> > --
> >
> > http://www.irian.at
> >
> > Your JSF powerhouse -
> > JSF Consulting, Development and
> > Courses in English and German
> >
> > Professional Support for Apache MyFaces
> >
>
--
Matthias Wessendorf
Zülpicher Wall 12, 239
50674 Köln
http://www.wessendorf.net
mwessendorf-at-gmail-dot-com
Re: Packaging, public vs. private (was: ADF source drop is available)
Posted by Martin Marinschek <ma...@gmail.com>.
While we are at repackaging,
we should take on another thing John has pointed out before - there is
currently code in all three modules (common, impl, tomahawk) which
shares the same package-name. This is kind of awkward, it would be
better to separate them further up in the package-structure to make
sure we don't get any name-clashes.
regards,
Martin
On 1/10/06, Simon Kitching <sk...@apache.org> wrote:
> On Tue, 2006-01-10 at 07:30 +0100, Martin Marinschek wrote:
> > +1
> >
> > if someone does the work ;)
>
> Ok, I'm willing to do the shuffling around. Won't be immediately, but
> sometime in the next few weeks.
>
> First, though, we need to agree on a package structure - which should
> also be shared with the ADF code I guess.
>
> Cheers,
>
> Simon
>
>
--
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces
Re: Packaging, public vs. private (was: ADF source drop is
available)
Posted by Simon Kitching <sk...@apache.org>.
On Tue, 2006-01-10 at 07:30 +0100, Martin Marinschek wrote:
> +1
>
> if someone does the work ;)
Ok, I'm willing to do the shuffling around. Won't be immediately, but
sometime in the next few weeks.
First, though, we need to agree on a package structure - which should
also be shared with the ADF code I guess.
Cheers,
Simon
Re: Packaging, public vs. private (was: ADF source drop is available)
Posted by John Fallows <jo...@gmail.com>.
+1, non-binding. :-)
On 1/9/06, Martin Marinschek <ma...@gmail.com> wrote:
>
> +1
>
> if someone does the work ;)
>
> regards,
>
> Martin
>
> On 1/10/06, Simon Kitching <sk...@obsidium.com> wrote:
> > Adam Winer wrote:
> > > @Matthias, I'd rather not have any wrappers - the plan here
> > > is to repackage in line with MyFaces rules. I would, however,
> > > strongly like to keep the high-level concept of separating our
> > > public APIs - like component classes - from private internal
> > > implementation details - like renderers and tag classes. We
> > > do this now with an "oracle.adf" package for public stuff
> > > and "oracle.adfinternal" for private stuff, much like Sun puts
> > > public APIs in "javax.*" and private in "com.sun.*".
> > >
> > > What would others think about repackaging org.apache.myfaces.custom
> > > to separate the renderers, tags, and components? org.apache.myfaces
> > > already does this for the "ext" stuff. Or, more generally, separating
> > > further the "things that are used internally in MyFaces" from "things
> > > we expect developers outside of MyFaces to rely on"?
> > >
> >
> > +1 on putting components and renderers/tags into separate packages in
> > tomahawk, just like myfaces does for api/impl.
> >
> > I don't believe it's as important as for the spec stuff, but it still
> > helps to make it clear what is a change that affects *users* of tomahawk
> > components, vs changes that break only *customisers* of tomahawk
> > components (a much smaller community).
> >
> > It's a moderate amount of work, but not huge. And it can be done
> > incrementally...
> >
> > Cheers,
> >
> > Simon
> >
>
>
> --
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
--
Author Pro JSF and Ajax: Building Rich Internet Components
http://www.apress.com/book/bookDisplay.html?bID=10044
Re: Packaging, public vs. private (was: ADF source drop is available)
Posted by Martin Marinschek <ma...@gmail.com>.
+1
if someone does the work ;)
regards,
Martin
On 1/10/06, Simon Kitching <sk...@obsidium.com> wrote:
> Adam Winer wrote:
> > @Matthias, I'd rather not have any wrappers - the plan here
> > is to repackage in line with MyFaces rules. I would, however,
> > strongly like to keep the high-level concept of separating our
> > public APIs - like component classes - from private internal
> > implementation details - like renderers and tag classes. We
> > do this now with an "oracle.adf" package for public stuff
> > and "oracle.adfinternal" for private stuff, much like Sun puts
> > public APIs in "javax.*" and private in "com.sun.*".
> >
> > What would others think about repackaging org.apache.myfaces.custom
> > to separate the renderers, tags, and components? org.apache.myfaces
> > already does this for the "ext" stuff. Or, more generally, separating
> > further the "things that are used internally in MyFaces" from "things
> > we expect developers outside of MyFaces to rely on"?
> >
>
> +1 on putting components and renderers/tags into separate packages in
> tomahawk, just like myfaces does for api/impl.
>
> I don't believe it's as important as for the spec stuff, but it still
> helps to make it clear what is a change that affects *users* of tomahawk
> components, vs changes that break only *customisers* of tomahawk
> components (a much smaller community).
>
> It's a moderate amount of work, but not huge. And it can be done
> incrementally...
>
> Cheers,
>
> Simon
>
--
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces
Re: Packaging, public vs. private (was: ADF source drop is available)
Posted by Adam Winer <aw...@gmail.com>.
On 1/9/06, Simon Kitching <sk...@obsidium.com> wrote:
> Adam Winer wrote:
> > @Matthias, I'd rather not have any wrappers - the plan here
> > is to repackage in line with MyFaces rules. I would, however,
> > strongly like to keep the high-level concept of separating our
> > public APIs - like component classes - from private internal
> > implementation details - like renderers and tag classes. We
> > do this now with an "oracle.adf" package for public stuff
> > and "oracle.adfinternal" for private stuff, much like Sun puts
> > public APIs in "javax.*" and private in "com.sun.*".
> >
> > What would others think about repackaging org.apache.myfaces.custom
> > to separate the renderers, tags, and components? org.apache.myfaces
> > already does this for the "ext" stuff. Or, more generally, separating
> > further the "things that are used internally in MyFaces" from "things
> > we expect developers outside of MyFaces to rely on"?
> >
>
> +1 on putting components and renderers/tags into separate packages in
> tomahawk, just like myfaces does for api/impl.
>
> I don't believe it's as important as for the spec stuff, but it still
> helps to make it clear what is a change that affects *users* of tomahawk
> components, vs changes that break only *customisers* of tomahawk
> components (a much smaller community).
Yes, exactly. It can't be quite as essential as it is for
the spec, because MyFaces doesn't have an explicit spec,
and a TCK, and lots of JCP rules, and multiple implementors of
the same API, etc., etc., but it's very helpful to architect
everything as if we *did* have such rules, and it's immensely
helpful to point out the difference between the public contract
exposed by any library - which users can largely rely on from
release to release - and the private implementation details,
which users shouldn't care about and can change as needed.
> It's a moderate amount of work, but not huge. And it can be done
> incrementally...
Indeed.
It's also worth considering a general repackaging of the
components themselves - instead of one package per
component, more functional groupings (and I'm guessing
it won't shock you if I point out the packaging of the
components in the ADF code as an example? :)
This sort of thing, I'd be happy to take a crack at - I
think much of the work is actually in coming up with
a proposal.
-- Adam
Re: Packaging, public vs. private (was: ADF source drop is available)
Posted by Simon Kitching <sk...@obsidium.com>.
Adam Winer wrote:
> @Matthias, I'd rather not have any wrappers - the plan here
> is to repackage in line with MyFaces rules. I would, however,
> strongly like to keep the high-level concept of separating our
> public APIs - like component classes - from private internal
> implementation details - like renderers and tag classes. We
> do this now with an "oracle.adf" package for public stuff
> and "oracle.adfinternal" for private stuff, much like Sun puts
> public APIs in "javax.*" and private in "com.sun.*".
>
> What would others think about repackaging org.apache.myfaces.custom
> to separate the renderers, tags, and components? org.apache.myfaces
> already does this for the "ext" stuff. Or, more generally, separating
> further the "things that are used internally in MyFaces" from "things
> we expect developers outside of MyFaces to rely on"?
>
+1 on putting components and renderers/tags into separate packages in
tomahawk, just like myfaces does for api/impl.
I don't believe it's as important as for the spec stuff, but it still
helps to make it clear what is a change that affects *users* of tomahawk
components, vs changes that break only *customisers* of tomahawk
components (a much smaller community).
It's a moderate amount of work, but not huge. And it can be done
incrementally...
Cheers,
Simon