[ANN] lift 0.5, now with Blueprint CSS beauty, jQuery excellence, and JSON goodness

12 views
Skip to first unread message

David Pollak

unread,
Feb 5, 2008, 5:46:25 PM2/5/08
to Scala list
Folks,

I am pleased to announce lift version 0.5.

lift is an expressive and elegant framework for writing web applications. lift stresses the importance of security, maintainability, scalability and performance, while allowing for high levels of developer productivity.

Demo: http://demo.liftweb.net

New in version 0.5:
  • jlift JavaScript utilities and associated binder helpers
  • Blueprint CSS built in (version 0.6 of Blueprint CSS) so it can be served via /classpath
  • XML -> JavaScript bindings so that JSON -> XHTML rendering can be defined using Scala XML literals, but the resulting JavaScript code can be sent to the browser to do mass rendering of JSON objects
  • JSON support including: - S.buildJSONFunc - JSONHandler class - Lots of fancy JavaScript expression building
  • Parser Combinator Helper routines
  • ByList query term
  • Support for serving certain common files (e.g., jQuery, Blueprint CSS) right from the JAR/WAR file
  • MappedText and MapperFakeClob classes for storing very long text fields in the database
Changes include:
  • Revised the example site to use Blueprint CSS for style
  • When lift is running in test mode, the default form generators will insert lift:field_name attribute into the form fields to aid in testing
  • Added json2.js (and minified version) Enhanced the resource serving stuff so that: - The path is defined in LiftServlet and changable (defaults to "classpath") - Moved the resource location from the root to "toserve" (can be changed) to avoid any possible way of serving up classes - The white list is a Partial Function for more flexibility - The white list by default contains jquery.js and json.js - There's a re-writer to re-write the request into an actual file (so jquery.js gets re-written to jquery-1.2.2-min.js)
  • MappedField.toForm now returns a Can[NodeSeq ] so a field can be omitted from a form
  • Added LocInfo and LocInfoVal to SiteMap for storing CSS and other tidbits about each menu item
  • Fixed the 'Welcome to the your project' type-o
  • Further abstracted the whole logging thing. There's a default log4j setup that can be override The LiftLogger trait is made concrete in Log4JLogger, but the generic LiftLogger creation is done by function that can be modified in LogBoot: var loggerByName: String => LiftLogger = _logger var loggerByClass: Class => LiftLogger = _loggerCls One can insert a new logging system into lift by replacing the loggerByName and loggerByClass functions with appropriate functions that return a LiftLogger.
  • Extensive updates to the < lift:xxx / > tag mechanism that uses tag labels as snippets and support for adding arbitrary tag handling to lift.
The lift community has grown to over 400 people.  There are a number of lift-based project in development including http://much4.us which makes use of lift's Comet, AJAX, and JSON support.

Thanks to the excellent, talented team of lift committers including Jorge Ortiz who was build-master for this release, Steve Jenson who keeps adding practical things to lift, and the rest of the lift team.

Please take a look at lift 0.5, join the lift community ( http://groups.google.com/group/liftweb?hl=en ) and give us some feedback!

Thanks,

David

--
lift, the secure, simple, powerful web framework http://liftweb.net
Collaborative Task Management http://much4.us

TylerWeir

unread,
Feb 5, 2008, 5:54:29 PM2/5/08
to liftweb
Congrats, well done everyone!

On Feb 5, 5:46 pm, "David Pollak" <feeder.of.the.be...@gmail.com>
wrote:
> Folks,
>
> I am pleased to announce *lift* version 0.5.
>
> *lift* is an expressive and elegant framework for writing web applications.
> *lift* stresses the importance of security, maintainability, scalability and
> performance, while allowing for high levels of developer productivity.
>
> Demo:http://demo.liftweb.net
>
> New in version 0.5:
>
>    - jlift JavaScript utilities and associated binder helpers
>    - Blueprint CSS built in (version 0.6 of Blueprint CSS) so it can be
>    served via /classpath
>    - XML -> JavaScript bindings so that JSON -> XHTML rendering can be
>    defined using Scala XML literals, but the resulting JavaScript code can be
>    sent to the browser to do mass rendering of JSON objects
>    - JSON support including: - S.buildJSONFunc - JSONHandler class - Lots
>    of fancy JavaScript expression building
>    - Parser Combinator Helper routines
>    - ByList query term
>    - Support for serving certain common files (e.g., jQuery, Blueprint
>    CSS) right from the JAR/WAR file
>    - MappedText and MapperFakeClob classes for storing very long text
>    fields in the database
>
> Changes include:
>
>    - Revised the example site to use Blueprint CSS for style
>    - When lift is running in test mode, the default form generators will
>    insert lift:field_name attribute into the form fields to aid in testing
>    - Added json2.js (and minified version) Enhanced the resource serving
>    stuff so that: - The path is defined in LiftServlet and changable (defaults
>    to "classpath") - Moved the resource location from the root to "toserve"
>    (can be changed) to avoid any possible way of serving up classes - The white
>    list is a Partial Function for more flexibility - The white list by default
>    contains jquery.js and json.js - There's a re-writer to re-write the
>    request into an actual file (so jquery.js gets re-written to
>    jquery-1.2.2-min.js)
>    - MappedField.toForm now returns a Can[NodeSeq ] so a field can be
>    omitted from a form
>    - Added LocInfo and LocInfoVal to SiteMap for storing CSS and other
>    tidbits about each menu item
>    - Fixed the 'Welcome to the your project' type-o
>    - Further abstracted the whole logging thing. There's a default log4j
>    setup that can be override The LiftLogger trait is made concrete in
>    Log4JLogger, but the generic LiftLogger creation is done by function that
>    can be modified in LogBoot: var loggerByName: String => LiftLogger = _logger
>    var loggerByClass: Class => LiftLogger = _loggerCls One can insert a new
>    logging system into lift by replacing the loggerByName and loggerByClass
>    functions with appropriate functions that return a LiftLogger.
>    - Extensive updates to the < lift:xxx / > tag mechanism that uses tag
>    labels as snippets and support for adding arbitrary tag handling to lift.
>
> The lift community has grown to over 400 people.  There are a number of
> lift-based project in development includinghttp://much4.uswhich makes use
> of lift's Comet, AJAX, and JSON support.
>
> Thanks to the excellent, talented team of lift committers including Jorge
> Ortiz who was build-master for this release, Steve Jenson who keeps adding
> practical things to lift, and the rest of the lift team.
>
> Please take a look at lift 0.5, join the lift community (http://groups.google.com/group/liftweb?hl=en) and give us some feedback!
Reply all
Reply to author
Forward
0 new messages