[Nitro] Fwd: [Facets] Lay me out 2.0

Mark Van De Vyver mvyver at gmail.com
Mon Sep 10 05:04:06 EDT 2007


I've not used Factes in my own projects yet, but....

On 9/10/07, Arne Brasseur <arne at arnebrasseur.net> wrote:
>
>  Since it's a 'major point' release I see no big problem in breaking
> backwards compatibility. Especially since it's not trivial in this case.
>
>  It would be better if the 1.8 branch could have bugfix support for a
> bounded period of time, so people have time to migrate.
>
>  As George said, focus on a clean and stable API that can be used for a long
> time, instead of focusing on backwards compatibility.

I agree with George and Arne - this would give me the warmest-fuzziest
feeling of the choices available :)

Mark


>  Alternatively there could be a separate 'adapter' gem with all the
> redirects to make migrating easier.
>
>  (ab)
>
>  George Moschovitis schreef:
> Personaly I am not that interested in backwards compatibility. But I do
> expect that the 2.0 API will stay frozen for a long time. The constant
> changes are not good for this project.
>
>  Moreover, I do not think that there is an easy way to offer backwards
> compatibility. I would suggest that you do not 'pollute' the facets 2.0
> directory with backwards compatibility code. Whoever wants to use the old
> API should use the older gem.
>
>  thank you,
>  George.
>
>
> On 9/9/07, TRANS <transfire at gmail.com> wrote:
> > ---------- Forwarded message ----------
> > From: Trans <transfire at gmail.com>
> > Date: Sep 9, 2007 6:57 AM
> > Subject: [Facets] Lay me out 2.0
> > To: facets-universal at rubyforge.org
> >
> >
> > I'm just about ready to release version 2.0. I have only one last
> > major decision to make, and it is an important one. So I thought it a
> > good idea to put it out to the community.
> >
> > As you know, Facets 1.8+ is laid out between facets/core/ and facets/
> > more/ subdirectories. There is also a facet/ shortcut directory that
> > simply contains files that redirect back to the first two. The idea
> > being that the extension method libs were in core/, the other libs in
> > more/, and facet/ was for convenience.
> >
> > With Facets 2.0 there are two points that make things different:
> >
> > 1) A goal of 2.0 was to make all the libs directly available via
> > facets/, without the need for core/ or more/ or redirection.
> >
> > 2) The extensions are no longer stored one-file-per-method, but are
> > instead bundled with other closely related methods. However, Facets
> > will still provide per-method requires via redirection files.
> >
> > So those two points change things a bit. To take them into account,
> > the current 2.0 layout looks like this:
> >
> >   lib/facets/  <-- all libs
> >   lib/facet/  <-- method redirects
> >
> > Unfortunately this layout almost completely breaks backward-
> > compatibility with 1.8.
> >
> > Is there a remedy? I could offer backward compatibility if I did this
> > instead:
> >
> >   lib/facets/core/  <-- method redirects
> >   lib/facets/more/ <-- additional libs
> >   lib/facets/xore/  <-- extension libs
> >
> > Yes, the xore/ is a bit weird (do you have a better name?), but it
> > keeps with the flow. With this layout I can use RubyGems' libpath
> > specification parameter to add more/ and xore/ to the load path and
> > achieve my first goal while remaining backward compatible with 1.8.
> >
> > The problem though, is that _manual_ installs have no means of
> > automatically adding to the load path. So those will need a special
> > file that would either have to be loaded at the start of ones app or
> > added to the RUBYOPT environment variable.
> >
> > Is that extra hassle worth it?
> >
> > And, with regard to require statements, how important is backward
> > compatibility to you?
> >
> > Thanks,
> > T.
> >
> > _______________________________________________
> > facets-universal mailing list
> > facets-universal at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/facets-universal
> >
> >
> > --
> > O  trans
> > ^^ transfire at gmail.com
> >
> > If there's one thing I learned from watching sitcoms it's this:
> > whenever someone abruptly says "don't be silly", by all means be
> > silly!
> > _______________________________________________
> > Nitro-general mailing list
> > Nitro-general at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/nitro-general
> >
>
>
>
>  --
>  http://www.me.gr
>  http://phidz.com
>  http://blog.gmosx.com
>  http://cull.gr
>  http://www.joy.gr
>  http://nitroproject.org ________________________________
>
> _______________________________________________
> Nitro-general mailing list
> Nitro-general at rubyforge.org
> http://rubyforge.org/mailman/listinfo/nitro-general
>
>
>  --
> Arne Brasseur
> http://www.arnebrasseur.net
> arne at arnebrasseur.net
>
> _______________________________________________
> Nitro-general mailing list
> Nitro-general at rubyforge.org
> http://rubyforge.org/mailman/listinfo/nitro-general
>


More information about the Nitro-general mailing list