RFC: Restructuring Lift Codebase [Round 2]

1 view
Skip to first unread message

Indrajit Raychaudhuri

unread,
Oct 2, 2009, 6:43:03 AM10/2/09
to Lift
Folks,

Following up from the previous round, I am summarizing what we
discussed so far with an attempt to converge and move on to impl.
Would be keen to have feedback and possibly arrive at some resolution
on the outstanding items. (Meaty stuff below the module structure)


liftweb

- lift-core [H]
- lift-base [J]
- lift-util [J]
- lift-actor
- lift-json
- lift-webkit [K]

- lift-persistence
- lift-mapper
- lift-record
- lift-jpa

- lift-modules [L]
- lift-testkit
- lift-osgi
- lift-wizard
- lift-widgets
- lift-machine
- lift-textile
- lift-facebook
- lift-amqp
- lift-xmpp
- lift-openid
- lift-oauth
- lift-paypal
- lift-jta

- lift-archetypes
- ...

- lift-examples [M]
- ...

- lift-site

- lift-resources [N]
- lift-root-model
- lift-site-skin
- lift-installer
- misc config resources (scaladoc, javadoc etc.)

Resolved since:

[A] lift-* prefix is fine/preferred for top level categories (dir_name
== artifactId) [Heiko]

[B] For Lift users not using Maven these *-all.jars will be valuable.
Assembly preferred to meta [Heiko]

[C] lift-testkit to move to lift-modules. Applications would use it
under 'test' scope. [David]

[D] lift-json to be part of core [Marius]

[E] lift-persistence being separated from lift-core into it's own
category and made optional [Marius]

[F] No deep nesting within modules (no submodules) for now [Heiko]

[G] Presentations and docs to be in central repository for now
[+1:David/Tim/Derek, +0:Indrajit, -1:Heiko/Viktor].
Settling for central repo at the moment (a: least change, b: in a
hurry to converge, c: effect of living in largest democracy in the
world!). Later on, I'll attempt to make this part of site build and
make them more conveniently available.


Outstanding since:

[H] lift-core has to get a better and more appropriate name (and also
to avoid confusion since lift-core == 'everything lift' at the
moment).
Starting with two that come to my mind.
- lift-lite (Members of this category make up the lightweight,
minimalistic Lift distribution that would help you build a Lift based
application)
- lift-genesis (Members of this category make up the genesis of
your Lift based application)
- lift-mini (Minimal Lift distribution to get started with Lift)
- lift-minimal (Same as above)

[J] lift-base, lift-util needs more unambiguous names.
- lift-base -> lift-common [+1:Naftoli/Derek/Stuart/Marius/Tim/
Heiko/Viktor, +0:Indrajit -1:DavidB (very strong)] But still good to
have even better option.
- lift-util -> lift-util (no change) [+1:Marius/David (status
quo)]
- lift-util -> lift-webutil [+1:Naftoli/Derek/Stuart/Indrajit/Tim/
Heiko/Viktor]

[K] Splitting webkit, over dependence on webkit etc. Different options
have been discussed actively.
An possibility could be:
- lift-webkit as top level category (and concrete modules within)
- put the 'core' parts of webkit in the new lift-webutils (see
above) and non-core parts (Ajax, CSS etc.) in lift-webkit
- lift-widget, lift-wizard etc. can be folded into the non-core
part of lift-webkit

Having said them, Let the thoughts brew for sometime. I'm keeping
this "as is" for now. Would come back after I clean up my plate a
bit ;-)

[L] As stated earlier, I am putting 'everything else' here for lack of
better place. I have concern that this can turn out to be a place for
all the 'nowhere else to go' modules. But let's sleep on it till the
problem is big enough ;-)

[M] The example project names need to be rationalized, normalized.
examples/example doesn't qualify ;-)

[N] lift-resources should have meaningful name.
For start:
- lift-infra
- lift-infrastructure
- lift-project-resources
- lift-varia

David Pollak

unread,
Oct 2, 2009, 8:39:18 AM10/2/09
to lif...@googlegroups.com

How about lift-web (the stuff you need to build a web application)
 

[J] lift-base, lift-util needs more unambiguous names.
   - lift-base -> lift-common [+1:Naftoli/Derek/Stuart/Marius/Tim/
Heiko/Viktor, +0:Indrajit -1:DavidB (very strong)] But still good to
have even better option.

+1 for lift-common, but I'm not wedded to the name.
 
   - lift-util -> lift-util (no change) [+1:Marius/David (status
quo)]

I'm going to mandate that this not change.  The cost of changing is too high and the value to changing is minimal.
 
   - lift-util -> lift-webutil [+1:Naftoli/Derek/Stuart/Indrajit/Tim/
Heiko/Viktor]

Veto.
 

[K] Splitting webkit, over dependence on webkit etc. Different options
have been discussed actively.
   An possibility could be:
   - lift-webkit as top level category (and concrete modules within)
   - put the 'core' parts of webkit in the new lift-webutils (see
above) and non-core parts (Ajax, CSS etc.) in lift-webkit
   - lift-widget, lift-wizard etc. can be folded into the non-core
part of lift-webkit

Right now, there are interdependencies among all the modules in lift-webkit.  Breaking it up is going to be a big and potentially impossible project.  Needs much better justification (and an owner who is not me) before it happens.
 

   Having said them,  Let the thoughts brew for sometime. I'm keeping
this "as is" for now. Would come back after I clean up my plate a
bit ;-)

[L] As stated earlier, I am putting 'everything else' here for lack of
better place. I have concern that this can turn out to be a place for
all the 'nowhere else to go' modules. But let's sleep on it till the
problem is big enough ;-)

[M] The example project names need to be rationalized, normalized.
examples/example doesn't qualify ;-)

[N] lift-resources should have meaningful name.
   For start:
   - lift-infra
   - lift-infrastructure
   - lift-project-resources
   - lift-varia





--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Surf the harmonics

Indrajit Raychaudhuri

unread,
Oct 2, 2009, 8:53:40 AM10/2/09
to Lift


On Oct 2, 5:39 pm, David Pollak <feeder.of.the.be...@gmail.com> wrote:
> On Fri, Oct 2, 2009 at 3:43 AM, Indrajit Raychaudhuri
> <indraj...@gmail.com>wrote:
Hmm, lift-web vs lift-web/lift-webkit could add to confusion. Too many
combination of lift+web (liftweb.net, lift-web, lift-webkit) for
comfort.

>
>
>
> > [J] lift-base, lift-util needs more unambiguous names.
> >    - lift-base -> lift-common [+1:Naftoli/Derek/Stuart/Marius/Tim/
> > Heiko/Viktor, +0:Indrajit -1:DavidB (very strong)] But still good to
> > have even better option.
>
> +1 for lift-common, but I'm not wedded to the name.
>
> >    - lift-util -> lift-util (no change) [+1:Marius/David (status
> > quo)]
>
> I'm going to mandate that this not change.  The cost of changing is too high
> and the value to changing is minimal.
>
> >    - lift-util -> lift-webutil [+1:Naftoli/Derek/Stuart/Indrajit/Tim/
> > Heiko/Viktor]
>
> Veto.

Fair do. let's settle for lift-common and lift-util for now.

>
>
>
> > [K] Splitting webkit, over dependence on webkit etc. Different options
> > have been discussed actively.
> >    An possibility could be:
> >    - lift-webkit as top level category (and concrete modules within)
> >    - put the 'core' parts of webkit in the new lift-webutils (see
> > above) and non-core parts (Ajax, CSS etc.) in lift-webkit
> >    - lift-widget, lift-wizard etc. can be folded into the non-core
> > part of lift-webkit
>
> Right now, there are interdependencies among all the modules in
> lift-webkit.  Breaking it up is going to be a big and potentially impossible
> project.  Needs much better justification (and an owner who is not me)
> before it happens.

Later, later! Let's not discuss lift-webkit for now ;-)

>
>
>
>
>
> >    Having said them,  Let the thoughts brew for sometime. I'm keeping
> > this "as is" for now. Would come back after I clean up my plate a
> > bit ;-)
>
> > [L] As stated earlier, I am putting 'everything else' here for lack of
> > better place. I have concern that this can turn out to be a place for
> > all the 'nowhere else to go' modules. But let's sleep on it till the
> > problem is big enough ;-)
>
> > [M] The example project names need to be rationalized, normalized.
> > examples/example doesn't qualify ;-)
>
> > [N] lift-resources should have meaningful name.
> >    For start:
> >    - lift-infra
> >    - lift-infrastructure
> >    - lift-project-resources
> >    - lift-varia
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890

David Pollak

unread,
Oct 2, 2009, 8:55:06 AM10/2/09
to lif...@googlegroups.com


okay.
 



--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890

Indrajit Raychaudhuri

unread,
Oct 3, 2009, 12:33:28 PM10/3/09
to lif...@googlegroups.com

On 02/10/09 6:25 PM, David Pollak wrote:
>
>
> On Fri, Oct 2, 2009 at 5:53 AM, Indrajit Raychaudhuri
> <indr...@gmail.com <mailto:indr...@gmail.com>> wrote:
>
>
>
>
> On Oct 2, 5:39 pm, David Pollak <feeder.of.the.be...@gmail.com

> <mailto:feeder.of.the.be...@gmail.com>> wrote:
> > On Fri, Oct 2, 2009 at 3:43 AM, Indrajit Raychaudhuri

> > <indraj...@gmail.com <mailto:indraj...@gmail.com>>wrote:

> combination of lift+web (liftweb.net <http://liftweb.net>, lift-web,
> lift-webkit) for
> comfort.
>
>
>
> okay.

Now that lift-base is free for grab, I am settling for lift-base for
lack of any other clear winner.

So we have lift-base = (lift-common, lift-util, lift-json, lift-actor,
lift-webkit)

Feel free to comment in favor or against (vote/veto) if someone has a
better option popping up.

>
>
> >
> >
> >
> > > [J] lift-base, lift-util needs more unambiguous names.
> > > - lift-base -> lift-common [+1:Naftoli/Derek/Stuart/Marius/Tim/
> > > Heiko/Viktor, +0:Indrajit -1:DavidB (very strong)] But still
> good to
> > > have even better option.
> >
> > +1 for lift-common, but I'm not wedded to the name.
> >
> > > - lift-util -> lift-util (no change) [+1:Marius/David (status
> > > quo)]
> >
> > I'm going to mandate that this not change. The cost of changing
> is too high
> > and the value to changing is minimal.
> >
> > > - lift-util -> lift-webutil
> [+1:Naftoli/Derek/Stuart/Indrajit/Tim/
> > > Heiko/Viktor]
> >
> > Veto.
>
> Fair do. let's settle for lift-common and lift-util for now.
>

<snip/>

Cheers, Indrajit

marius d.

unread,
Oct 3, 2009, 3:02:25 PM10/3/09
to Lift

Why not lift-core = (lift-common, lift-util, lift-json, lift-
actor,lift-webkit) ?

Br's,
Marius

Indrajit Raychaudhuri

unread,
Oct 3, 2009, 3:16:23 PM10/3/09
to lif...@googlegroups.com


On 04/10/09 12:32 AM, marius d. wrote:
>
>
> Why not lift-core = (lift-common, lift-util, lift-json, lift-
> actor,lift-webkit) ?

1. Initially, it didn't sound right to me (when we had lift-base,
lift-util etc.).

2. DavidP commented, that lift-core currently means "everything Lift."
and he thought we'd need another name.

3. DavidB pointed out an old thread[a] and suggested that:

lift-core == lift-full, but to be backward compatible with the time
when there is one jar (lift-core), we keep the name.

[a]
http://groups.google.com/group/lift-committers/browse_thread/thread/2fdadf2f9db51a04/0bae3866bbc6d581

Of these, #1 doesn't hold true anymore, thus nullified.

Cheers, Indrajit

marius d.

unread,
Oct 3, 2009, 4:42:15 PM10/3/09
to Lift
Ok ... got it. Thanks.

On Oct 3, 10:16 pm, Indrajit Raychaudhuri <indraj...@gmail.com> wrote:
> On 04/10/09 12:32 AM, marius d. wrote:
>
>
>
> > Why not lift-core = (lift-common, lift-util, lift-json, lift-
> > actor,lift-webkit) ?
>
> 1. Initially, it didn't sound right to me (when we had lift-base,
> lift-util etc.).
>
> 2. DavidP commented, that lift-core currently means "everything Lift."
> and he thought we'd need another name.
>
> 3. DavidB pointed out an old thread[a] and suggested that:
>
> lift-core == lift-full, but to be backward compatible with the time
> when there is one jar (lift-core), we keep the name.
>
> [a]http://groups.google.com/group/lift-committers/browse_thread/thread/2...
Reply all
Reply to author
Forward
0 new messages