Inquiry of Possible Deprecation / Relocation of Some Lift Core files

37 views
Skip to first unread message

Reuben Doetsch

unread,
Oct 8, 2012, 8:33:05 AM10/8/12
to lif...@googlegroups.com
One of people's biggest complaints about Lift is it's complexity, which is also one it's strengths. 

For our community, reading the source code is a huge part of the journey into becoming an experienced Lift practitioner. I have read the whole source code and at some point was even thinking of making some community annotated source code.  

That being said, there are a few files in the webkit core that seem like they do no need to be part of the core language specification and imho serve to muddle up understanding the source code for someone who is coming to it fresh. These files either 

a.) are poorly documented 
b.) Are not used extensively
c.) Seem to be trying to appease people who don't want to do it the Lift way
d.) Does not need to be in the core logically and could be put into a util. / module 

I would love a discussion about whether

a.) We should keep this file
b.) We should deprecate / remove this file
c.) We should move this file to another file

I could very well be mistaken and all of these files could be used by a number of people, and if that is the case I would love to know.

A few files I think would be best off in a module or in another package in the util:

Paginator.scala - THis seems like it could be in a "snippets" module or something akin to this. I don't think when looking through the core logic this fits.

MVCHelper.scala - Do many people come to lift to do MVC? Seems to me that most people here love the view first architecture. I know David has written some documentation about this, but other than one of two blog posts, there is not much support. 

SimpleController.scala - I do not understand how this is used and would love to have some guidance on what to do / make of this.

js/Jx.scala - This is used for rendering javascript templates on the client side if I am not mistaken. This part of the source code has minimal documentation I have seen (please correct me if I am wrong.) and I feel like could be deprecated / moved to a module.

Reuben


Jeppe Nejsum Madsen

unread,
Oct 9, 2012, 4:00:00 AM10/9/12
to lif...@googlegroups.com
Reuben Doetsch <hja...@gmail.com> writes:

> One of people's biggest complaints about Lift is it's complexity, which is
> also one it's strengths.
>
> For our community, reading the source code is a huge part of the journey
> into becoming an experienced Lift practitioner. I have read the whole
> source code and at some point was even thinking of making some community
> annotated source code.

Appreciate the initiative :-)

I think this is a general problem, not just with webkit. We've not been
very good at pruning unused stuff imo.

>
> That being said, there are a few files in the webkit core that seem
>like
> they do no need to be part of the core language specification and imho
> serve to muddle up understanding the source code for someone who is coming
> to it fresh. These files either
>
> a.) are poorly documented
> b.) Are not used extensively
> c.) Seem to be trying to appease people who don't want to do it the Lift way
> d.) Does not need to be in the core logically and could be put into a util.
> / module
>
> I would love a discussion about whether
>
> a.) We should keep this file
> b.) We should deprecate / remove this file
> c.) We should move this file to another file
>
> I could very well be mistaken and all of these files could be used by a
> number of people, and if that is the case I would love to know.
>
> A few files I think would be best off in a module or in another package in
> the util:
>
> Paginator.scala - THis seems like it could be in a "snippets" module or
> something akin to this. I don't think when looking through the core logic
> this fits.

Agreed, could move to widgets

> MVCHelper.scala - Do many people come to lift to do MVC? Seems to me that
> most people here love the view first architecture. I know David has written
> some documentation about this, but other than one of two blog posts, there
> is not much support.
> SimpleController.scala - I do not understand how this is used and would
> love to have some guidance on what to do / make of this.
>
> js/Jx.scala - This is used for rendering javascript templates on the client
> side if I am not mistaken. This part of the source code has minimal
> documentation I have seen (please correct me if I am wrong.) and I feel
> like could be deprecated / moved to a module.

Personally I've never used the above and a few days ago dpp said the Jx
stuff was pretty much dead.

/Jeppe

David Pollak

unread,
Oct 9, 2012, 1:01:32 PM10/9/12
to lif...@googlegroups.com
On Tue, Oct 9, 2012 at 1:00 AM, Jeppe Nejsum Madsen <je...@ingolfs.dk> wrote:
Reuben Doetsch <hja...@gmail.com> writes:

> One of people's biggest complaints about Lift is it's complexity, which is
> also one it's strengths.
>
> For our community, reading the source code is a huge part of the journey
> into becoming an experienced Lift practitioner. I have read the whole
> source code and at some point was even thinking of making some community
> annotated source code.

Appreciate the initiative :-)

+1 !!
 

I think this is a general problem, not just with webkit. We've not been
very good at pruning unused stuff imo.

Yep.
 

>
> That being said, there are a few files in the webkit core that seem
>like
> they do no need to be part of the core language specification and imho
> serve to muddle up understanding the source code for someone who is coming
> to it fresh. These files either
>
> a.) are poorly documented
> b.) Are not used extensively
> c.) Seem to be trying to appease people who don't want to do it the Lift way
> d.) Does not need to be in the core logically and could be put into a util.
> / module
>
> I would love a discussion about whether
>
> a.) We should keep this file
> b.) We should deprecate / remove this file
> c.) We should move this file to another file
>
> I could very well be mistaken and all of these files could be used by a
> number of people, and if that is the case I would love to know.
>
> A few files I think would be best off in a module or in another package in
> the util:
>
> Paginator.scala - THis seems like it could be in a "snippets" module or
> something akin to this. I don't think when looking through the core logic
> this fits.

Agreed, could move to widgets


I think having some form of pagination support is a core piece of a web framework. Almost every site needs some pagination support.

With that being said, I'm not keen on the model/abstraction that Paginator provides. Moving the specific implementation elsewhere would be fine by me, but I'd like to see a replacement in Webkit.
 
> MVCHelper.scala - Do many people come to lift to do MVC? Seems to me that
> most people here love the view first architecture. I know David has written
> some documentation about this, but other than one of two blog posts, there
> is not much support.

I'd like to keep MVC helper in Webkit. It may not be heavily used, but it does prove a particular point: Lift can do MVC with very little code. Lift is flexible, so code the way you want, but over time, learn Lift's way.

 
> SimpleController.scala - I do not understand how this is used and would
> love to have some guidance on what to do / make of this.

This is a very, very old file/paradigm. I think it predates Lift proper (back to the Scala with Sails days). I'm fine to see it go away.

 
>
> js/Jx.scala - This is used for rendering javascript templates on the client
> side if I am not mistaken. This part of the source code has minimal
> documentation I have seen (please correct me if I am wrong.) and I feel
> like could be deprecated / moved to a module.

Personally I've never used the above and a few days ago dpp said the Jx
stuff was pretty much dead.

Yes... a few releases ago, the Jx stuff quietly got removed from Node and was effectively dead. It's fine to remove for 2.5-M2. (although I really liked the way it worked... sigh.)
 

/Jeppe

--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code






--
Telegram, Simply Beautiful CMS https://telegr.am
Lift, the simply functional web framework http://liftweb.net


Naftoli Gugenheim

unread,
Oct 12, 2012, 12:34:49 AM10/12/12
to lif...@googlegroups.com
On Tue, Oct 9, 2012 at 1:01 PM, David Pollak <feeder.of...@gmail.com> wrote:
With that being said, I'm not keen on the model/abstraction that Paginator provides. Moving the specific implementation elsewhere would be fine by me, but I'd like to see a replacement in Webkit.

Can you elaborate?

Reply all
Reply to author
Forward
0 new messages