--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
Cheers, Tim
David Pollak <feeder.of...@gmail.com> writes:
> Folks,
>
> With the Lift 2.0 release looming, I think it's time to talk about the
> feature priorities for Lift 3.0. I'll toss out my list (in no particular
> order):
>
> - Using sbt as the default build system for Lift (this is my personal
> highest priority)
> - Embracing Scala 2.8 including package objects, etc. to further enhance
> the Lift experience
> - Easy-Peasy DSLs for creating quick sites (aka Lift's little brother).
> Basically, make it easier to use Lift than any other framework for simple
> stuff... along the lines of the RestHelper stuff. We can also use the type
> system within the confines of such a DSL to enforce "stateless",
> "serializable state" and "session affinity" apps.
> - Enhanced control over session size, session monitoring, session
> migration, and session purging.
> - Integration with Squeryl for query building
I would like to see the Mapper/Record/Squeryl (and maybe JPA) stuff
streamlined.
> - Further refinement of mixin traits for field and form validation along
> with integration of client side validation
- Enhanced, composeable, extendable CRUDify that utilize the above
:-)
/Jeppe
:-)
/Jeppe
--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
+1 for enhanced CRUDify.
+1 for stateless Lift.
-Matthew
> > - Enhanced, composeable, extendable CRUDify that utilize the above
>
> I did CRUDify in a day to settle a bet with myself. I'd love to get a list
> of what's missing from CRUDify so when we do the next version, it's more
> flexible and meets more needs out of the box.
>
> > :-)
> > /Jeppe
--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
> How about cleaning house?
Yeah, this sounds like A Good Thing :-)
> Like removing some things that you've rethought and don't care about
> backwards compatibility? - The Json that is pre-lift-json comes to
> mind. - The legacy log4j stuff that pre-dates the recent logger/slf4j
> work. I think the duplication is confusing to newbies.
At least this one is one the road map:
http://www.assembla.com/spaces/liftweb/tickets/345
> What about making Lift compliant with 'Elements of Scala Style'?
> http://www.codecommit.com/scala-style-guide.pdfFor example, on page 4: "Please note that the Lift convention of
> appending _? to boolean accessors is non-standard and not used outside
> of the Lift framework."
I'm not sure if this is a goal. I kinda like the _? convention.....
> I'm very keen to see a Servlet 3.0 version of Comet.
>
> Support for joda-time, scalaj-time or javax.time. After discovering a
> serious bottleneck in java.util.Date, I am a convert to joda-time, and
> java.time is practically an attempt to standardize it using a JSR.
> Support in Mapper, Record, Json, REST, etc. would be nice.
Indeed.
[...]
> Some handy dandy cache helpers (leverage ehcache's self populating
> cache mechanism, for example). Being able to neatly cache security
> privileges, database results, configuration settings, etc.
There's some simple stuff already, have a look at {Request|Session}Memoize....
/Jeppe
If you have any particular thoughts in this area though, by all means do share them
Cheers, Tim
Cheers, Tim
I realize building CRUD apps is probably not one of Lift's core
strengths. But from personal experience (and reading this list) it
seams like it's something many people have to do anyway :-)
CRUDify comes in real handy, as it's a great way to build something
useful really fast. Unfortunately, I feel that once you need to move
beyond what's provided, you have to start from scratch since CRUDify
is not very extensible. So, without further ado here's some stuff I
would like to see (some of this I've already got working in our app)
The list view:
- Better control over which fields to display (list vs form)
- Ability to mixin new layout & functionality (we have: client side
sorting, paging and searching, zebra layout, column sizing, footer
with column total etc)
- Mixins to define list actions (ie standard read,edit, delete)
- Mixins to define global actions (ie create)
The form views
- Better control over layout, default as today with list of fields,
but ability to specify custom layout (ie to provide grouping of
fields, maybe tab pages etc)
- Mixins for changing field rendering (required fields, labels,
validation errors, field help, field hints)
- Mixins for adding functionality on submit
I envision CRUDify will just be composed by adding a lot of small
traits that provides some default functionality (same as today).
Gradually the user can add more specialized functionality so that
eventually you end up with you own MyAppCRUDify that is used
throughout your application and renders everything the way you want.
/Jeppe
Perhaps someone forget to invite me to the competition where we "Invent _even more_ ways that Scala can (ab)use the underscore character!"I do hope that it isn't just Ruby-chasing, because we're better than that...
--
Kevin Wright
mail/google talk: kev.lee...@gmail.com
wave: kev.lee...@googlewave.com
skype: kev.lee.wright
twitter: @thecoda
--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
Sorry, but is there room for non-functional features, like
documentation?
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
I quite like lift's use of xxx_? and xxx_! Even picked it up for our own code base.
"it's all a matter of taste, mumbled the ape and took a bite out of the soap bar"
On Jun 9, 2010 1:24 PM, "Kevin Wright" <kev.lee...@gmail.com> wrote:
On 8 June 2010 16:23, David Pollak <feeder.of...@gmail.com> wrote:
>
>
>
> On Tue, Jun 8, 201...
I do understand the logic behind these conventions, and the need for the underscore here (mixed identifiers, as per the scala spec).But I still have concerns, especially when the notation is considered with regards to Scala.
- _ is already heavily overloaded, Lift in particular uses it a LOT when passing around function handles and for varargs. The opportunities for misunderstanding are plentiful.
- _ also looks a lot like a space when scanning quickly, this risks confusion in a Language where whitespace can be semantically significant (think operator notation)
- suffixing "_?" is logically equivalent to prefixing "b", I'd call it "reverse hungarian notation" but that always makes me think of "reverse polish" - a totally unrelated concept. The perils of embedding type information in naming conventions are already well known.
- ! does serve as a warning for me. But as a warning that actors are around and I should follow the correct message semantics instead of calling methods directly. Lift's overloaded usage of ! therefore forces a higher cognitive overhead onto developers, especially given that _ can look like whitespace
- The convention breaks with Scala idioms, where the first part of mixed identifiers is typically suppressed in usage.
Consider "unary_-" as used in "println(-2.3)", or "prop_=" as used in "prop = 42"To be fair, most of this is caused the underscores and not the !/? characters. In other Languages the underscore is not so likely to cause confusion, but in Scala it _is_ at high risk of doing so.
>
>
>>
>> Perhaps someone forget to invite me to the competition where we "Invent _even more_...
--
Kevin Wright
mail/google talk: kev.lee...@gmail.com
wave: kev.lee...@googlewave.com...
--
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
> What about making Lift compliant with 'Elements of Scala Style'?
> What do you mean by streamlined?
[...]
>> I would like to see the Mapper/Record/Squeryl (and maybe JPA) stuff
>> streamlined.
[...]
Currently there's quite a few methods for persistence, both working and
work in progress. Some things (e.g CRUDIfy) only works with Mapper
etc. I would like to see this unified to e.g. Record so everything
persistence in Lift has the same interface (where possible) and same
level of support in Lift.
/Jeppe
From a book writers perspective, I was keen to not use an IDE because that creates a tie-in to a specific platform that the reader might not want to use (and making the instructions less agnostic). At least the command line is a universal environment. I only use 4 SBT commands in the whole book: update, ~compile, jetty-run and jetty-stop... any developer should be able to follow those basic instructions IMO.
Cheers, Tim
Cheers, Tim
I would put a vote against the easy peasy DSL. I don't think people
are going to use Lift to build simple fast stuff anytime soon.
Deployment itself is already such a higher barrier than PHP/CGI that
an 'easy' DSL isn't going to be a draw. Lift's advantage is in doing
the hard stuff.
On CRUDify - I would really like to see better ORM integration with
the View/snippet mechanism. It's such an often use case to need to
retrieve a single URL paramed object for a view, I'm surprised it's
not built in. I ended up writing my own view which does:
def viewObj(oid: String) = doWithObj(oid, o=> {
rest of body
})
where the oid is passed in through the viewDispatchPF. I think this
should be made easier.
I realize a big obstacle here is that we have 3 different ORMs...
maybe define a common interface that each of them implements would be
a good idea.
Also, the fact that you have to use a totally different mechanism for
replying with HTML vs. a JsonResponse or a PlainTextResponse is kind
of clunky.
--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.