[Lift] garbage collection

2009-05-07 Thread Oliver Lambert
I'm trying to get an understanding how garbage collection is implemented in
Lift.
Any pointers on what scala classes do the actual work?

While I'm at it, S.functionMap appears to only return functions that were
"recently" bound. Does S._functionMap, contain the functions being garbage
collected?

cheers
Oliver

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: Lift picking up momentum

2009-05-07 Thread Viktor Klang
On Thu, May 7, 2009 at 12:23 AM, David Pollak  wrote:

> Very cool.  Made my morning which was ruined by debugging JavaScript
> written by people who should find a new line of work.


My sympathies. :/


>
>
> On Wed, May 6, 2009 at 8:17 AM, Timothy Perrett 
> wrote:
>
>>
>> This really is very good - I'd be interested to see how the group
>> membership grows when that article drops!
>>
>> Cheers, Tim
>>
>> Sent from my iPhone
>>
>> On 6 May 2009, at 14:12, TylerWeir  wrote:
>>
>> >
>> > Just an FYI: http://www.scala-lang.org/node/1702
>> >
>> > "Lift a Web Framework, is receiving more attention, growing a
>> > commercial user base and gaining momentum. In the May/June 2009
>> > Edition of the IEEE Internet Computing journal Steve Vinoski publishes
>> > an article "Scala and Lift - Functional Recipes for the Web" in his
>> > column "The Functional Web""
>> > >
>> >
>>
>>
>>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Git some: http://github.com/dpp
>
>
> >
>


-- 
Viktor Klang
Senior Systems Analyst

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: garbage collection

2009-05-07 Thread marius d.

In short the current Lift GC is:

1. Each page has an ID
2. Each mapped function is associated with the page ID
3. There are periodical Ajax request sent from the page that are
refreshing the timestamps on the mapped functions
4. Mapped functions that exceeded the expiration time are de-
referenced hence become eligible for garbage collector.


Br's,
Marius

On May 7, 10:15 am, Oliver Lambert  wrote:
> I'm trying to get an understanding how garbage collection is implemented in
> Lift.
> Any pointers on what scala classes do the actual work?
>
> While I'm at it, S.functionMap appears to only return functions that were
> "recently" bound. Does S._functionMap, contain the functions being garbage
> collected?
>
> cheers
> Oliver
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: garbage collection

2009-05-07 Thread Oliver Lambert
Thanks for this. I would like to look at the code that actually holds the
storage container and profile it. Any pointers on which class to look at s a
starting point?
Ol

On Thu, May 7, 2009 at 7:17 PM, marius d.  wrote:

>
> In short the current Lift GC is:
>
> 1. Each page has an ID
> 2. Each mapped function is associated with the page ID
> 3. There are periodical Ajax request sent from the page that are
> refreshing the timestamps on the mapped functions
> 4. Mapped functions that exceeded the expiration time are de-
> referenced hence become eligible for garbage collector.
>
>
> Br's,
> Marius
>
> On May 7, 10:15 am, Oliver Lambert  wrote:
> > I'm trying to get an understanding how garbage collection is implemented
> in
> > Lift.
> > Any pointers on what scala classes do the actual work?
> >
> > While I'm at it, S.functionMap appears to only return functions that were
> > "recently" bound. Does S._functionMap, contain the functions being
> garbage
> > collected?
> >
> > cheers
> > Oliver
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: garbage collection

2009-05-07 Thread marius d.

Please see LiftSession.

On May 7, 1:41 pm, Oliver Lambert  wrote:
> Thanks for this. I would like to look at the code that actually holds the
> storage container and profile it. Any pointers on which class to look at s a
> starting point?
> Ol
>
> On Thu, May 7, 2009 at 7:17 PM, marius d.  wrote:
>
> > In short the current Lift GC is:
>
> > 1. Each page has an ID
> > 2. Each mapped function is associated with the page ID
> > 3. There are periodical Ajax request sent from the page that are
> > refreshing the timestamps on the mapped functions
> > 4. Mapped functions that exceeded the expiration time are de-
> > referenced hence become eligible for garbage collector.
>
> > Br's,
> > Marius
>
> > On May 7, 10:15 am, Oliver Lambert  wrote:
> > > I'm trying to get an understanding how garbage collection is implemented
> > in
> > > Lift.
> > > Any pointers on what scala classes do the actual work?
>
> > > While I'm at it, S.functionMap appears to only return functions that were
> > > "recently" bound. Does S._functionMap, contain the functions being
> > garbage
> > > collected?
>
> > > cheers
> > > Oliver
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: 1st draft of response to Martin's code challenge for scalable componentized lambda evaluator

2009-05-07 Thread Meredith Gregory
Derek,

Thanks! An engine is a natural next step! ;-)

Best wishes,

--greg

On Wed, May 6, 2009 at 12:21 PM, Derek Chen-Becker wrote:

> I'm not an expert at archetypes by any means, but I did kinda/sorta figure
> out some basics when I put together the JPA archetypes. I'd be happy to help
> if I can. Going one further, I wonder if there would be a way to just make a
> single engine that could dynamically generate the artifacts it needs on the
> backend.
>
> Derek
>
>
> On Tue, May 5, 2009 at 4:37 PM, Meredith Gregory  > wrote:
>
>> Derek, et al,
>>
>> Thanks for all the kind feedback. i could use a little help with one
>> thing. In addition to this project, i've also got
>>
>>- A project exploring how a relational query language is generated
>>from a DSL describing typed sets of 
>> tuples
>>- A project exploring how a graph query language is generated from a
>>DSL for describing graphs 
>>- A project exploring how a query language for service descriptions is
>>generated from a DSL for describing concurrent 
>> processes
>>
>> All of these projects, plus the rlambda 
>> one,
>> are cut of the same cloth in the sense that there is common lift structure
>> wrapped around what is generated from the language description that is more
>> or less contained in the bnf description. At this point, i'm convinced there
>> is a useful lift archetype here. However, i don't know archetypes from myths
>> or legends. ;-) If someone could help me get started i think i could flesh
>> out a pretty compelling lift archetype for generating DSL's that i would
>> love to contribute back to lift.
>>
>> Long term, if you look at a system like Peter Sewell's 
>> Ott,
>> you should come away with the idea that it ought to be possible to provide,
>> over and above the DSL's grammar, a very minimal specification of the DSL's
>> semantics and have an execution engine generated. So, imagine, if you will,
>> a lift archetype that takes as input a file approximately the size of the
>> rlambda.cf+
>>  a couple of rules for beta-reduction and alpha-equivalence, and generates
>> the entire REPL-in-web-container, i.e.
>>
>>- generates a parser
>>- an evaluator
>>
>> Beyond that, i have special sauce that will allow me to take such a spec
>> and additionally generate
>>
>>- a logic
>>- a model checker
>>- a search engine
>>
>> That's where i'm headed long-term. But, to get there i need just a little
>> bit of help with the archetype stuff.
>>
>> Best wishes,
>>
>> --greg
>>
>>
>> On Tue, May 5, 2009 at 3:02 PM, Derek Chen-Becker 
>> wrote:
>>
>>> We just can't be half-assed about anything, can we? ;) Seriously, this is
>>> really, really cool. I'm looking forward to seeing how this grows.
>>>
>>> Derek
>>>
>>>
>>> On Mon, May 4, 2009 at 7:55 PM, Meredith Gregory <
>>> lgreg.mered...@gmail.com> wrote:
>>>
 Lifted, Scalad and lasses,

 Recently Martin passed along a little code challenge regarding scalable
 abstractions for building a little lambda calculus evaluator. i've finally
 put together a 1st draft response. i've still got a lot of debugging to do,
 but the solutionis 
 end-to-end.

- there is a parser and evaluator hosted inside a lift-based
web-container
- the parser is built using BNFC and can target
Java/C#/OCaml/Haskell/F#/...
- the parser comes with visitor pattern support
- the evaluator is built in a two-level type style and demonstrates
that the only OO you need is just enough to make Scala happy -- the
abstractions are all FP-based

 As i said, this is very much a draft and the code falls over most of the
 time. But, at this point, it's really a pedagogical device and framework 
 for
 hosting and evaluating different solutions.

 Again, one the main reasons i see for using Scala is it's seamless
 interop with Java. The OCaml solution is intriguing (though ther are some
 strangenesses in it that i've yet to grok), but i would like to see that
 solution hosted in this manner.

 Best wishes,

 --greg

 --
 L.G. Meredith
 Managing Partner
 Biosimilarity LLC
 1219 NW 83rd St
 Seattle, WA 98117

 +1 206.650.3740

 http://biosimilarity.blogspot.com



>>>
>>>
>>>
>>
>>
>> --
>> L.G. Meredith
>> Managing Partner
>> Biosimilarity LLC
>> 1219 NW 83rd St
>> Seattle, WA 98117
>>
>> +1 206.650.3740
>>
>> http://biosimilarity.blogspot.com
>>
>>
>>
>
> >
>


-- 
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://biosim

[Lift] Re: garbage collection

2009-05-07 Thread Oliver Lambert
Ah, you mean messageCallback - The joys of private variables.
thanks again
Ol

On Thu, May 7, 2009 at 9:55 PM, marius d.  wrote:

>
> Please see LiftSession.
>
> On May 7, 1:41 pm, Oliver Lambert  wrote:
> > Thanks for this. I would like to look at the code that actually holds the
> > storage container and profile it. Any pointers on which class to look at
> s a
> > starting point?
> > Ol
> >
> > On Thu, May 7, 2009 at 7:17 PM, marius d. 
> wrote:
> >
> > > In short the current Lift GC is:
> >
> > > 1. Each page has an ID
> > > 2. Each mapped function is associated with the page ID
> > > 3. There are periodical Ajax request sent from the page that are
> > > refreshing the timestamps on the mapped functions
> > > 4. Mapped functions that exceeded the expiration time are de-
> > > referenced hence become eligible for garbage collector.
> >
> > > Br's,
> > > Marius
> >
> > > On May 7, 10:15 am, Oliver Lambert  wrote:
> > > > I'm trying to get an understanding how garbage collection is
> implemented
> > > in
> > > > Lift.
> > > > Any pointers on what scala classes do the actual work?
> >
> > > > While I'm at it, S.functionMap appears to only return functions that
> were
> > > > "recently" bound. Does S._functionMap, contain the functions being
> > > garbage
> > > > collected?
> >
> > > > cheers
> > > > Oliver
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: garbage collection

2009-05-07 Thread marius d.

Just FYI ...

Things in this area are may change a bit once JQuery fixes the bug
related with namespaces.This was the main reason why we had to deviate
from Dave's original idea of using lift:gc attributes.

Br's,
Marius

On May 7, 3:47 pm, Oliver Lambert  wrote:
> Ah, you mean messageCallback - The joys of private variables.
> thanks again
> Ol
>
> On Thu, May 7, 2009 at 9:55 PM, marius d.  wrote:
>
> > Please see LiftSession.
>
> > On May 7, 1:41 pm, Oliver Lambert  wrote:
> > > Thanks for this. I would like to look at the code that actually holds the
> > > storage container and profile it. Any pointers on which class to look at
> > s a
> > > starting point?
> > > Ol
>
> > > On Thu, May 7, 2009 at 7:17 PM, marius d. 
> > wrote:
>
> > > > In short the current Lift GC is:
>
> > > > 1. Each page has an ID
> > > > 2. Each mapped function is associated with the page ID
> > > > 3. There are periodical Ajax request sent from the page that are
> > > > refreshing the timestamps on the mapped functions
> > > > 4. Mapped functions that exceeded the expiration time are de-
> > > > referenced hence become eligible for garbage collector.
>
> > > > Br's,
> > > > Marius
>
> > > > On May 7, 10:15 am, Oliver Lambert  wrote:
> > > > > I'm trying to get an understanding how garbage collection is
> > implemented
> > > > in
> > > > > Lift.
> > > > > Any pointers on what scala classes do the actual work?
>
> > > > > While I'm at it, S.functionMap appears to only return functions that
> > were
> > > > > "recently" bound. Does S._functionMap, contain the functions being
> > > > garbage
> > > > > collected?
>
> > > > > cheers
> > > > > Oliver
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] error tickets?

2009-05-07 Thread g-man

I'm having a great time learning Lift, and am happy to read all the
excellent posts by the growing community of developers...

As I experiment and create my app, I naturally get errors, and I was
wondering if Lift has, or has considered, an 'error ticket' system
like web2py has, where the user never sees an error, but a ticket is
created, which is a link to an admin directory (templates-hidden?)
where the actual error stack trace is saved.

Otherwise, all is well!

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: how to hide /display div tag in lift

2009-05-07 Thread pravin

Hi,
If there are more than 10 div tags on page ,So how can we display or
hide them with chooseTemplate technique.
boz chooseTemplate  method chose one tag at time
e.g
val dispatch: DispatchIt = {
case "run" if lastGuess == number =>
xhtml => win(chooseTemplate("choose", "win", xhtml))

case "run"  =>
xhtml => nextGuess(chooseTemplate("choose", "guess", xhtml))

case "count_down" =>
xhtml => countDown(attr("from").map(Helpers.toInt).openOr(0))
  }

this code is from site /examples (Number guess example)

can we chose multiple templates at a time so ,we can display no of div
tag ?
or is there any other way to do this?

Thanks in advace

On May 4, 7:33 pm, "marius d."  wrote:
> There are so many ways ...
>
> 1. Use chooseTemplate technique. I think the examples application
> from /sites uses this.
> 2. In the snippet you have the snippet content and you can just strip
> it out
> 3. You can have a little JavaScript that is called when the page loads
> that shows or hides the div ... if you need something more dynamic.
>
> Br's,
> Marius
>
> On May 4, 1:28 pm, pravin  wrote:
>
> > HI,
>
> > I want to hide /display div tag.
> > how can i controlled it from my snippet?
> > my div tag contain table tag.
>
> > Thanks

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: developing Scala/Lift using Eclipse

2009-05-07 Thread Tom

Is this working now? And how about Google Appengine Integration?

Thanks

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] How to log exceptions?

2009-05-07 Thread sailormoo...@gmail.com

Hi :

  Sometimes exceptions are shown in the pages, but at the same time, I
wonder why they're not logged. May I ask how to make the exceptions
auto-logged ??

  Thanks

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] redirectTo throws net.liftweb.http.ResponseShortcutException: Shortcut

2009-05-07 Thread ivan

Hi people. Time has come for my second question on this group :)

I created a helper method to create a link to delete a JPA entity.

def deleteLink[T <: AnyRef](clazz : Class[T], id : Long, dest :
String, link : NodeSeq, model : LocalEMF with RequestVarEM) = {
SHtml.link(dest, () => {
try {
model.removeAndFlush(model.getReference(clazz,
id))
notice("Succesfully deleted!")
} catch {
case ee : EntityExistsException =>
logAndError("Entity exists! Maybe object has
children?", ee)
case pe : PersistenceException =>
logAndError("Persistence exception", pe)
case e : Throwable =>
logAndError("Some strange exception happened",
e)
} finally {
S.redirectTo(dest)
}
}, link)
}

The link works fine, the entity is deleted from the database and
"Succesfully deleted!" notice is shown but an exception happens in the
finally block when calling S.redirectTo(dest).

The idea is to enable user to provide a callback (in the finally part)
to determine to what page to redirect after deleting an entity (maybe
as a function of weather deletion was successful) and this is only a
prototype but it doesn't work for some reason.

Any idea what could be causing this? I have SHtml.links in other
simpler places that have redirectTo and there it works.

Thanks in advance :)

PS I really love lift, it is really a refreshing framework.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Form values after submit

2009-05-07 Thread wapgui

Hi all,

I have a normal form defined via bind.

object smlink extends RequestVar(Full(""))
  val widget = new Widget()

  def show(xhtml: NodeSeq): NodeSeq = {
var smallLink = ""
var dlText = ""

if (smlink.isEmpty || smlink.open_!.length == 0) {
  Log.debug("Starting new widget generation")
} else if (!smlink.open_!.startsWith("Error")) {
  Log.debug("Widget generation successfull")
  smallLink = smlink.open_!
  dlText = "Download here"
} else {
  Log.debug("Widget generation unsuccessfull")
  dlText = smlink.open_!
}

bind("widget", xhtml,
  "title" -> text(widget.title, widget.title = _) % ("size" ->
"10") % ("id" -> "title"),
  "url" -> text(widget.url, widget.url = _) % ("size" -> "56") %
("id" -> "url"),
  "submit" -> submit("Generate", () => {
smlink(Full(buildWidgetPackage(burl,widget)))
  }),
  "link" -> {dlText}
)
  }

After submit the inputs are tested and errors return a string with the
specific error message. The message is shown as link, but all the
inputs are gone after reloading the page to show the error.
Is there a way to get the widget object after submit to set the values
in the form to the submitted values? Maybe it is in smlink or should I
use a tuple to return the widget object from the buildWidgetPackage
function.

Thanks,
Torsten

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: redirectTo throws net.liftweb.http.ResponseShortcutException: Shortcut

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 7:19 AM, ivan  wrote:

>
> Hi people. Time has come for my second question on this group :)


Please keep asking questions... although when you become skilled enough with
Lift, I hope that you'll answer some as well.


>
>
> I created a helper method to create a link to delete a JPA entity.
>
>def deleteLink[T <: AnyRef](clazz : Class[T], id : Long, dest :
> String, link : NodeSeq, model : LocalEMF with RequestVarEM) = {
>SHtml.link(dest, () => {
>try {
>model.removeAndFlush(model.getReference(clazz,
> id))
>notice("Succesfully deleted!")
>} catch {
>case ee : EntityExistsException =>
>logAndError("Entity exists! Maybe object has
> children?", ee)
>case pe : PersistenceException =>
>logAndError("Persistence exception", pe)
>case e : Throwable =>
>logAndError("Some strange exception happened",
> e)
>} finally {
>S.redirectTo(dest)
>}
>}, link)
>}
>
> The link works fine, the entity is deleted from the database and
> "Succesfully deleted!" notice is shown but an exception happens in the
> finally block when calling S.redirectTo(dest).


This should work.  Please post the complete stack trace that you're getting.

S.redirectTo does throw an exception that is supposed to be caught by the
Lift rendering machinery and then turned into a Redirect.  I'm interested in
seeing why the machinery is not catching the exception.


>
> The idea is to enable user to provide a callback (in the finally part)
> to determine to what page to redirect after deleting an entity (maybe
> as a function of weather deletion was successful) and this is only a
> prototype but it doesn't work for some reason.
>
> Any idea what could be causing this? I have SHtml.links in other
> simpler places that have redirectTo and there it works.
>
> Thanks in advance :)
>
> PS I really love lift, it is really a refreshing framework.


I like the tag line... Lift, the refereshing framework... kinda makes me
think of having a beer... oh wait, it's 9am... never mind.


>
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: How to log exceptions?

2009-05-07 Thread David Pollak
Exceptions are handled in LiftRules.exceptionHandler

You can replace the RulesSeq[ExceptionHandlerPF] with your own or prepend a
handler that will log exceptions.

On Thu, May 7, 2009 at 7:44 AM, sailormoo...@gmail.com <
sailormoo...@gmail.com> wrote:

>
> Hi :
>
>  Sometimes exceptions are shown in the pages, but at the same time, I
> wonder why they're not logged. May I ask how to make the exceptions
> auto-logged ??
>
>  Thanks
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: developing Scala/Lift using Eclipse

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 4:46 AM, Tom  wrote:

>
> Is this working now?


Which "this" are you referring to?


> And how about Google Appengine Integration?


GAE works except for Comet related stuff which will not work until Google
supports some sort of message queue system.


>
>
> Thanks
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: error tickets?

2009-05-07 Thread Timothy Perrett

Are you talking about errors in production? My advice would be to
write an implementation of ExceptionHandlerPF and then you can do
whatever you want based on run.mode or whatever.

Logging wise, were using Log4J so you could just add another log
descriptor if you want file logging as well as console logging.

Cheers, Tim

On May 7, 4:33 am, g-man  wrote:
> I'm having a great time learning Lift, and am happy to read all the
> excellent posts by the growing community of developers...
>
> As I experiment and create my app, I naturally get errors, and I was
> wondering if Lift has, or has considered, an 'error ticket' system
> like web2py has, where the user never sees an error, but a ticket is
> created, which is a link to an admin directory (templates-hidden?)
> where the actual error stack trace is saved.
>
> Otherwise, all is well!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: error tickets?

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 9:17 AM, Timothy Perrett wrote:

>
> Are you talking about errors in production? My advice would be to
> write an implementation of ExceptionHandlerPF and then you can do
> whatever you want based on run.mode or whatever.


Yep... this is much like the other exception handling question that came up
this morning.

If you guys need an example of a handler, please let me know and I'll work
something up.


>
>
> Logging wise, were using Log4J so you could just add another log
> descriptor if you want file logging as well as console logging.
>
> Cheers, Tim
>
> On May 7, 4:33 am, g-man  wrote:
> > I'm having a great time learning Lift, and am happy to read all the
> > excellent posts by the growing community of developers...
> >
> > As I experiment and create my app, I naturally get errors, and I was
> > wondering if Lift has, or has considered, an 'error ticket' system
> > like web2py has, where the user never sees an error, but a ticket is
> > created, which is a link to an admin directory (templates-hidden?)
> > where the actual error stack trace is saved.
> >
> > Otherwise, all is well!
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: error tickets?

2009-05-07 Thread Timothy Perrett

lol - now i see that also! been out of the loop today

Examples wise, it would probally be a good idea for us to do an
example implementation of each of the LiftRules PF's as they do tend
to provoke a lot of questions on list.

Cheers, Tim

> Yep... this is much like the other exception handling question that came up
> this morning.
>
> If you guys need an example of a handler, please let me know and I'll work
> something up.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: separation of presentation content and logic

2009-05-07 Thread David Pollak
On Wed, May 6, 2009 at 7:13 PM, Charles F. Munat  wrote:

>
> Yeah, the whole thing is kind of a joke.
>
> Long ago we should have abandoned HTML for XML. The server should send
> the content (data) in one file with full semantic markup. Another file
> should contain a stylesheet that controls full page layout, plus vector
> graphics and raster images with on-the-fly resizing.
>
> Page layout should be rule-based and dynamic. The graphic designer
> creates a set of rules, sectioning the content and selecting colors,
> proportioning, alignment, etc. Then the browser reflows and updates the
> view as the user resizes the window or changes type size.
>
> As a user, I should be able to grab sections of a page and drag them out
> to become new pages, or pull them back in again. I should be able to
> hide or show any part of a page, or rearrange the parts. I should be
> able to resize type and images so they're clear to me. And the site
> navigation should show up as a "site" toolbar on the browser, not in the
> pages themselves. Chrome missed the boat on this because they're too
> busy thinking of the page as the atomic unit.
>
> Now the database developer worries only about the data model. The
> application programmer worries only about business logic and sending
> semantically-marked-up data to the browser. The information architect
> worries only about which pages will need what information and how the
> navigation system will work (with navigation delivered as a separate XML
> file), and the graphic designer worries only about the layout of
> individual pages, making sure that they look great at any resolution,
> window size/shape, or type size.
>

I love this vision!


>
> HTML is a mess, combining semantic information with structural
> information, metadata, and even some presentation.
>
> But I guess we're stuck with it. Under the current circumstances, my
> opinion is that we should do the best we can to separate concerns, but
> not be too totalitarian about it.
>
> Chas.
>
>
> Aaron wrote:
> > Thanks,
> >
> > I missed the power of the passing the binding back and forth for the
> > snippet.  This gives me something to chew on.
> >
> > I understand the bit about 'html not being presentation', that is
> > becoming more prevalent these days.
> >
> > So the convention about not putting logic in the template is more
> > important then templates in the controller, and that does make a lot
> > of sence.
> >
> > thanks!
> >
> > -Aaron
> >
> > On May 6, 12:51 pm, David Pollak 
> > wrote:
> >> Aaron,
> >>
> >> Short answer: Lift's templating makes it nearly impossible to put
> business
> >> logic into the view, but it is possible to put view logic into your
> Scala
> >> code.  Using Lift's bind'ing mechanism, it's possible to completely
> separate
> >> the view logic from the business logic.
> >>
> >> Longer answer:
> >> Lift's templating mechanism is a non-type-safe interface between XHTML
> >> template files and Scala code.  Lift finds tags of the format 
> and
> >> uses xxx to look up a snippet which generates dynamic content.  Lift
> looks
> >> up the snippets in a number of ways including "by convention" (using
> >> reflection to look for classes and methods that match the snippet name)
> and
> >> by registering PartialFunctions as a lookup mechanism for snippets.
> >> Snippets may also be registered on a page-by-page basis using SiteMap.
> >>
> >> "by-convention" snippets may be of two forms: methods that take no
> >> parameters (e.g., HelloWorld.howdy) and methods that take the snippet
> >> invocation body as a parameter.  All other snippets must take the
> snippet
> >> invocation body as a parameter.
> >>
> >> If we have a case where the snippet takes the invocation body is a
> >> parameter, we can bind dynamically generated content to view
> information.
> >> For example:
> >>
> >> 
> >>   Welcome to helloworld at 
> >> 
> >>
> >> The snippet would look like:
> >>
> >> class HelloWorld {
> >>   def howdy(xhtml: NodeSeq): NodeSeq = Helpers.bind("b", xhtml, "time"
> ->
> >> (new java.util.Date).toString)
> >>
> >> }
> >>
> >> In this case, we have complete view/logic separation.  The body of the
> >> snippet tag (in this case Welcome to helloworld at
> )
> >> is passed to the snippet and the snippet merely binds the dynamic
> content to
> >> the view template.  In this way, you are guaranteed that there's no
> logic in
> >> the view and if you follow good practices in terms of binding, there
> will be
> >> no view code in your business logic.
> >>
> >> So, when does it *not* make sense to put all your view code in the view
> >> templates?
> >>
> >>- When I do quick prototyping, I put view code in my business logic.
> >>There is an extra step to do best practices binding and when I'm
> knocking
> >>something together, I find that it's quicker to use XML literals in
> my Scala
> >>code.
> >>- Some of Lift's "scafolding" code (e.g., ProtoUser, CRUDify) has
> >>embedded view code.  This

[Lift] Re: redirectTo throws net.liftweb.http.ResponseShortcutException: Shortcut

2009-05-07 Thread ivan



On May 7, 6:02 pm, David Pollak  wrote:
> On Thu, May 7, 2009 at 7:19 AM, ivan  wrote:
>
> > Hi people. Time has come for my second question on this group :)
>
> Please keep asking questions...

Thanks for responding so fast.

> although when you become skilled enough with
> Lift, I hope that you'll answer some as well.

I sure will. I'm thinking of a JSF->Lift transition guide. But I'm
still working on the transitioning part.

> > The link works fine, the entity is deleted from the database and
> > "Succesfully deleted!" notice is shown but an exception happens in the
> > finally block when calling S.redirectTo(dest).
>
> This should work.  Please post the complete stack trace that you're getting.

Here is the complete stack trace (I hope it will help):

net.liftweb.http.ResponseShortcutException:
Shortcut
at net.liftweb.http.ResponseShortcutException$.redirect
(ResponseShortcutException.scala:
31)
at net.liftweb.http.S$.redirectTo(S.scala:
322)
at hr.ivan.util.PageUtil$$anonfun$deleteLink$1.apply
(PageUtil.scala:
58)
at net.liftweb.http.SHtml$$anonfun$link$1.apply(SHtml.scala:
243)
at net.liftweb.http.SHtml$$anonfun$link$1.apply(SHtml.scala:
243)
at net.liftweb.http.S$LFuncHolder.apply(S.scala:
961)
at net.liftweb.http.LiftSession$$anonfun$buildFunc$1$2.apply
(LiftSession.scala:
328)
at net.liftweb.http.LiftSession$$anonfun$6$$anonfun$apply
$18.apply(LiftSession.scala:
343)
at net.liftweb.http.LiftSession$$anonfun$6$$anonfun$apply
$18.apply(LiftSession.scala:
343)
at scala.List.map(List.scala:
812)
at net.liftweb.http.LiftSession$$anonfun$6.apply
(LiftSession.scala:
343)
at net.liftweb.http.LiftSession$$anonfun$6.apply
(LiftSession.scala:
332)
at scala.List.flatMap(List.scala:
1132)
at net.liftweb.http.LiftSession.runParams(LiftSession.scala:
332)
at net.liftweb.http.LiftSession.processRequest
(LiftSession.scala:
478)
at net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$
$dispatchStatefulRequest(LiftServlet.scala:
255)
at net.liftweb.http.LiftServlet$$anonfun$2.apply
(LiftServlet.scala:
176)
at net.liftweb.http.LiftServlet$$anonfun$2.apply
(LiftServlet.scala:
176)
at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:
401)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$
$_nest2InnerInit$1$$anonfun$apply$18.apply(S.scala:
456)
at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:
375)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround
$1.apply(S.scala:
376)
at net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$
$doWith(DB.scala:
117)
at net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB
$$anon$$doWith$1.apply(DB.scala:
118)
at net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB
$$anon$$doWith$1.apply(DB.scala:
118)
at net.liftweb.mapper.DB$.use(DB.scala:
305)
at net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$
$doWith(DB.scala:
118)
at net.liftweb.mapper.DB$$anon$1.apply(DB.scala:
124)
at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:
376)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$
$_nest2InnerInit$1.apply(S.scala:
454)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:
65)
at net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit
(S.scala:
453)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23$$anonfun$apply
$24$$anonfun$apply$25$$anonfun$apply$26.apply(S.scala:
474)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:
65)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23$$anonfun$apply
$24$$anonfun$apply$25.apply(S.scala:
473)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:
65)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23$$anonfun$apply
$24.apply(S.scala:472)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:
65)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23.apply(S.scala:
471)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:
65)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1$$anonfun$apply$21$$anonfun$apply$22.apply(S.scala:
470)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:
65)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1$$anonfun$apply$21.apply(S.scala:
469)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:
65)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1.apply(S.scala:
468)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:
65)
   

[Lift] Re: redirectTo throws net.liftweb.http.ResponseShortcutException: Shortcut

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 9:55 AM, ivan  wrote:
Ivan,


>
>
> On May 7, 6:02 pm, David Pollak  wrote:
> > On Thu, May 7, 2009 at 7:19 AM, ivan  wrote:
> >
> > > Hi people. Time has come for my second question on this group :)
> >
> > Please keep asking questions...
>
> Thanks for responding so fast.
>
> > although when you become skilled enough with
> > Lift, I hope that you'll answer some as well.
>
> I sure will. I'm thinking of a JSF->Lift transition guide. But I'm
> still working on the transitioning part.


Would love to see that!


>
>
> > > The link works fine, the entity is deleted from the database and
> > > "Succesfully deleted!" notice is shown but an exception happens in the
> > > finally block when calling S.redirectTo(dest).
> >
> > This should work.  Please post the complete stack trace that you're
> getting.
>
> Here is the complete stack trace (I hope it will help):
>
> net.liftweb.http.ResponseShortcutException:
> Shortcut
>at net.liftweb.http.ResponseShortcutException$.redirect
> (ResponseShortcutException.scala:
> 31)
>at net.liftweb.http.S$.redirectTo(S.scala:
> 322)
>at hr.ivan.util.PageUtil$$anonfun$deleteLink$1.apply
> (PageUtil.scala:
> 58)
>at net.liftweb.http.SHtml$$anonfun$link$1.apply(SHtml.scala:
> 243)
>at net.liftweb.http.SHtml$$anonfun$link$1.apply(SHtml.scala:
> 243)
>at net.liftweb.http.S$LFuncHolder.apply(S.scala:
> 961)
>at net.liftweb.http.LiftSession$$anonfun$buildFunc$1$2.apply
> (LiftSession.scala:
> 328)
>at net.liftweb.http.LiftSession$$anonfun$6$$anonfun$apply
> $18.apply(LiftSession.scala:
> 343)
>at net.liftweb.http.LiftSession$$anonfun$6$$anonfun$apply
> $18.apply(LiftSession.scala:
> 343)
>at scala.List.map(List.scala:
> 812)
>at net.liftweb.http.LiftSession$$anonfun$6.apply
> (LiftSession.scala:
> 343)
>at net.liftweb.http.LiftSession$$anonfun$6.apply
> (LiftSession.scala:
> 332)


Okay... Lift is processing the request at the right place.


>
> >
> > S.redirectTo does throw an exception that is supposed to be caught by the
> > Lift rendering machinery and then turned into a Redirect.  I'm interested
> in
> > seeing why the machinery is not catching the exception.
>
> I already pasted the stack trace and then realized... Lift isn't
> catching the exception because I'am.
> I am doing a: case e : Throwable =>
> logAndError("Some strange exception happened",
>

Try something like:

case e: Throwable if
!e.instanceOf[net.liftweb.http.ResponseShortcutException] =>
logAndError(...)

That way you will not catch the ResponseShortcutException


>
> That is why i'a seeing a stack trace and an error message. Is that
> supposed to work that way?


Yes, if you catch exceptions and display them, then they will be displayed.
:-)  Lift uses the exception mechanism sparingly, but in the case of
redirects, it seems to be the best mechanism.


>
>
> >
> > > The idea is to enable user to provide a callback (in the finally part)
> > > to determine to what page to redirect after deleting an entity (maybe
> > > as a function of weather deletion was successful) and this is only a
> > > prototype but it doesn't work for some reason.
> >
> > > Any idea what could be causing this? I have SHtml.links in other
> > > simpler places that have redirectTo and there it works.
> >
> > > Thanks in advance :)
> >
> > > PS I really love lift, it is really a refreshing framework.
> >
> > I like the tag line... Lift, the refereshing framework... kinda makes me
> > think of having a beer... oh wait, it's 9am... never mind.
> >
>
> M :)
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: Form values after submit

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 5:40 AM, wapgui  wrote:

>
> Hi all,
>
> I have a normal form defined via bind.
>
> object smlink extends RequestVar(Full(""))
>  val widget = new Widget()
>
>  def show(xhtml: NodeSeq): NodeSeq = {
>var smallLink = ""
>var dlText = ""
>
>if (smlink.isEmpty || smlink.open_!.length == 0) {
>  Log.debug("Starting new widget generation")
>} else if (!smlink.open_!.startsWith("Error")) {
>  Log.debug("Widget generation successfull")
>  smallLink = smlink.open_!
>  dlText = "Download here"
>} else {
>  Log.debug("Widget generation unsuccessfull")
>  dlText = smlink.open_!
>}
>
>bind("widget", xhtml,
>  "title" -> text(widget.title, widget.title = _) % ("size" ->
> "10") % ("id" -> "title"),
>  "url" -> text(widget.url, widget.url = _) % ("size" -> "56") %
> ("id" -> "url"),
>  "submit" -> submit("Generate", () => {
>smlink(Full(buildWidgetPackage(burl,widget)))
>  }),
>  "link" -> {dlText}
>)
>  }
>
> After submit the inputs are tested and errors return a string with the
> specific error message. The message is shown as link, but all the
> inputs are gone after reloading the page to show the error.
> Is there a way to get the widget object after submit to set the values
> in the form to the submitted values? Maybe it is in smlink or should I
> use a tuple to return the widget object from the buildWidgetPackage
> function.
>

Try using a StatefulSnippet (make your snippet a subclass of
StatefulSnippet).  That will use the same snippet across form submissions.

If you need a more detailed explanation, please let me know and I'll work
one up for you.


>
> Thanks,
> Torsten
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: separation of presentation content and logic

2009-05-07 Thread Charles F. Munat

Oh, it's a pretty vision. The part that's missing, though, is the part 
where we get there from here. Still working on that part...

Chas.

David Pollak wrote:
> 
> 
> On Wed, May 6, 2009 at 7:13 PM, Charles F. Munat  > wrote:
> 
> 
> Yeah, the whole thing is kind of a joke.
> 
> Long ago we should have abandoned HTML for XML. The server should send
> the content (data) in one file with full semantic markup. Another file
> should contain a stylesheet that controls full page layout, plus vector
> graphics and raster images with on-the-fly resizing.
> 
> Page layout should be rule-based and dynamic. The graphic designer
> creates a set of rules, sectioning the content and selecting colors,
> proportioning, alignment, etc. Then the browser reflows and updates the
> view as the user resizes the window or changes type size.
> 
> As a user, I should be able to grab sections of a page and drag them out
> to become new pages, or pull them back in again. I should be able to
> hide or show any part of a page, or rearrange the parts. I should be
> able to resize type and images so they're clear to me. And the site
> navigation should show up as a "site" toolbar on the browser, not in the
> pages themselves. Chrome missed the boat on this because they're too
> busy thinking of the page as the atomic unit.
> 
> Now the database developer worries only about the data model. The
> application programmer worries only about business logic and sending
> semantically-marked-up data to the browser. The information architect
> worries only about which pages will need what information and how the
> navigation system will work (with navigation delivered as a separate XML
> file), and the graphic designer worries only about the layout of
> individual pages, making sure that they look great at any resolution,
> window size/shape, or type size.
> 
> 
> I love this vision!
>  
> 
> 
> HTML is a mess, combining semantic information with structural
> information, metadata, and even some presentation.
> 
> But I guess we're stuck with it. Under the current circumstances, my
> opinion is that we should do the best we can to separate concerns, but
> not be too totalitarian about it.
> 
> Chas.
> 
> 
> Aaron wrote:
>  > Thanks,
>  >
>  > I missed the power of the passing the binding back and forth for the
>  > snippet.  This gives me something to chew on.
>  >
>  > I understand the bit about 'html not being presentation', that is
>  > becoming more prevalent these days.
>  >
>  > So the convention about not putting logic in the template is more
>  > important then templates in the controller, and that does make a lot
>  > of sence.
>  >
>  > thanks!
>  >
>  > -Aaron
>  >
>  > On May 6, 12:51 pm, David Pollak  >
>  > wrote:
>  >> Aaron,
>  >>
>  >> Short answer: Lift's templating makes it nearly impossible to
> put business
>  >> logic into the view, but it is possible to put view logic into
> your Scala
>  >> code.  Using Lift's bind'ing mechanism, it's possible to
> completely separate
>  >> the view logic from the business logic.
>  >>
>  >> Longer answer:
>  >> Lift's templating mechanism is a non-type-safe interface between
> XHTML
>  >> template files and Scala code.  Lift finds tags of the format
>  and
>  >> uses xxx to look up a snippet which generates dynamic content.
>  Lift looks
>  >> up the snippets in a number of ways including "by convention" (using
>  >> reflection to look for classes and methods that match the
> snippet name) and
>  >> by registering PartialFunctions as a lookup mechanism for snippets.
>  >> Snippets may also be registered on a page-by-page basis using
> SiteMap.
>  >>
>  >> "by-convention" snippets may be of two forms: methods that take no
>  >> parameters (e.g., HelloWorld.howdy) and methods that take the
> snippet
>  >> invocation body as a parameter.  All other snippets must take
> the snippet
>  >> invocation body as a parameter.
>  >>
>  >> If we have a case where the snippet takes the invocation body is a
>  >> parameter, we can bind dynamically generated content to view
> information.
>  >> For example:
>  >>
>  >> 
>  >>   Welcome to helloworld at 
>  >> 
>  >>
>  >> The snippet would look like:
>  >>
>  >> class HelloWorld {
>  >>   def howdy(xhtml: NodeSeq): NodeSeq = Helpers.bind("b", xhtml,
> "time" ->
>  >> (new java.util.Date).toString)
>  >>
>  >> }
>  >>
>  >> In this case, we have complete view/logic separation.  The body
> of the
>  >> snippet tag (in this case Welcome to helloworld at
> )
>  >> is passed to the snippe

[Lift] Re: redirectTo throws net.liftweb.http.ResponseShortcutException: Shortcut

2009-05-07 Thread ivan



On May 7, 7:05 pm, David Pollak  wrote:
> On Thu, May 7, 2009 at 9:55 AM, ivan  wrote:
> > I already pasted the stack trace and then realized... Lift isn't
> > catching the exception because I'am.
> > I am doing a: case e : Throwable =>
> >                         logAndError("Some strange exception happened",
>
> Try something like:
>
> case e: Throwable if
> !e.instanceOf[net.liftweb.http.ResponseShortcutException] =>
> logAndError(...)
>
> That way you will not catch the ResponseShortcutException
>

That works! :)

>
>
> > That is why i'a seeing a stack trace and an error message. Is that
> > supposed to work that way?
>
> Yes, if you catch exceptions and display them, then they will be displayed.
> :-)  Lift uses the exception mechanism sparingly, but in the case of
> redirects, it seems to be the best mechanism.
>

The part of the information i was missing was that this exception is a
normal thing and not a bug resulting from me doing something wrong :)

Thanks again for speedy replies :)

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Unable to run unconference application from lift samples

2009-05-07 Thread glenn

I can't run the unconference application from the lift samples. I keep
getting a bunch of these in the jetty console:

INFO - Service request (GET) / took 2 Milliseconds
INFO - Service request (GET) / took 3 Milliseconds
INFO - Service request (GET) / took 3 Milliseconds
INFO - Service request (GET) / took 2 Milliseconds
INFO - Service request (GET) / took 5 Milliseconds
INFO - Service request (GET) / took 3 Milliseconds
INFO - Service request (GET) / took 3 Milliseconds
INFO - Service request (GET) / took 3 Milliseconds.


To test, I just imported the source into Eclipse as a maven project.
Since I don't use postgreSQL as my database server, I changed this to
the embedded derby db in Boot.scala and everything compiles fine and
creates the database when I do a mvn jetty:run. But the application
simply won't load when I navigate to http://localhost:8080

Glenn Silverman

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: Form values after submit

2009-05-07 Thread wapgui

class RSSReader extends StatefulSnippet{
  object smlink extends RequestVar(Full(""))
  val widget = new Widget()

  def dispatch: DispatchIt = {
case "show" => show _
  }

  def show(xhtml: NodeSeq): NodeSeq = {
var smallLink = ""
var dlText = ""

if (smlink.isEmpty || smlink.open_!.length == 0) {
  Log.debug("Starting new widget generation")
} else if (!smlink.open_!.startsWith("Error")) {
  Log.debug("Widget generation successfull")
  smallLink = smlink.open_!
  dlText = "Download here"
} else {
  Log.debug("Widget generation unsuccessfull")
  dlText = smlink.open_!
}

bind("widget", xhtml,
  "title" -> text(widget.title, widget.title = _) % ("size" ->
"10") % ("id" -> "title"),
  "url" -> text(widget.url, widget.url = _) % ("size" -> "56") %
("id" -> "url"),
  "submit" -> submit("Generate", () => {
smlink(Full(buildWidgetPackage(burl,widget)))
}),
  "link" -> {dlText}
)
  }

  def buildWidgetPackage(hostUrl:String, widget:Widget):String = {
   //here I do some stuff and return if it was successfull or not
  }

I think this should be now a stateful and I think the dispatch
function is needed. But what now?
For example widget.url is empty in the beginning, then it gets a url
which will tested. If it is not a valid
URL I show an error message and want to show the old input again so
that the user can edit it.

Thanks
Torsten

On May 7, 7:12 pm, David Pollak  wrote:
> On Thu, May 7, 2009 at 5:40 AM, wapgui  wrote:
>
> > Hi all,
>
> > I have a normal form defined via bind.
>
> > object smlink extends RequestVar(Full(""))
> >  val widget = new Widget()
>
> >  def show(xhtml: NodeSeq): NodeSeq = {
> >    var smallLink = ""
> >    var dlText = ""
>
> >    if (smlink.isEmpty || smlink.open_!.length == 0) {
> >      Log.debug("Starting new widget generation")
> >    } else if (!smlink.open_!.startsWith("Error")) {
> >      Log.debug("Widget generation successfull")
> >      smallLink = smlink.open_!
> >      dlText = "Download here"
> >    } else {
> >      Log.debug("Widget generation unsuccessfull")
> >      dlText = smlink.open_!
> >    }
>
> >    bind("widget", xhtml,
> >      "title" -> text(widget.title, widget.title = _) % ("size" ->
> > "10") % ("id" -> "title"),
> >      "url" -> text(widget.url, widget.url = _) % ("size" -> "56") %
> > ("id" -> "url"),
> >      "submit" -> submit("Generate", () => {
> >        smlink(Full(buildWidgetPackage(burl,widget)))
> >      }),
> >          "link" -> {dlText}
> >    )
> >  }
>
> > After submit the inputs are tested and errors return a string with the
> > specific error message. The message is shown as link, but all the
> > inputs are gone after reloading the page to show the error.
> > Is there a way to get the widget object after submit to set the values
> > in the form to the submitted values? Maybe it is in smlink or should I
> > use a tuple to return the widget object from the buildWidgetPackage
> > function.
>
> Try using a StatefulSnippet (make your snippet a subclass of
> StatefulSnippet).  That will use the same snippet across form submissions.
>
> If you need a more detailed explanation, please let me know and I'll work
> one up for you.
>
>
>
> > Thanks,
> > Torsten
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Git some:http://github.com/dpp

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: separation of presentation content and logic

2009-05-07 Thread Meredith Gregory
Chas,

Oooh! i love miracles, as in how we get from 'here' to 'there' is 'and then
a miracle occurs'.

On the other hand, another way to accomplish a miracle of this type is by
fiat. There's nothing to prevent lift from providing a code path that works
like this, along side a code path that includes the current HTML nightmare.
If there is genuine value in the vision, eventually people will start to
gravitate to the other way of doing things -- especially, if there are some
compelling examples that match what they are trying to do in their immediate
concerns.

Can you lay out the necessary pieces in more detail (for an idiot, like
myself)? Can we make one sample site that works like this?

Best wishes,

--greg

On Thu, May 7, 2009 at 10:46 AM, Charles F. Munat  wrote:

>
> Oh, it's a pretty vision. The part that's missing, though, is the part
> where we get there from here. Still working on that part...
>
> Chas.
>
> David Pollak wrote:
> >
> >
> > On Wed, May 6, 2009 at 7:13 PM, Charles F. Munat  > > wrote:
> >
> >
> > Yeah, the whole thing is kind of a joke.
> >
> > Long ago we should have abandoned HTML for XML. The server should
> send
> > the content (data) in one file with full semantic markup. Another
> file
> > should contain a stylesheet that controls full page layout, plus
> vector
> > graphics and raster images with on-the-fly resizing.
> >
> > Page layout should be rule-based and dynamic. The graphic designer
> > creates a set of rules, sectioning the content and selecting colors,
> > proportioning, alignment, etc. Then the browser reflows and updates
> the
> > view as the user resizes the window or changes type size.
> >
> > As a user, I should be able to grab sections of a page and drag them
> out
> > to become new pages, or pull them back in again. I should be able to
> > hide or show any part of a page, or rearrange the parts. I should be
> > able to resize type and images so they're clear to me. And the site
> > navigation should show up as a "site" toolbar on the browser, not in
> the
> > pages themselves. Chrome missed the boat on this because they're too
> > busy thinking of the page as the atomic unit.
> >
> > Now the database developer worries only about the data model. The
> > application programmer worries only about business logic and sending
> > semantically-marked-up data to the browser. The information architect
> > worries only about which pages will need what information and how the
> > navigation system will work (with navigation delivered as a separate
> XML
> > file), and the graphic designer worries only about the layout of
> > individual pages, making sure that they look great at any resolution,
> > window size/shape, or type size.
> >
> >
> > I love this vision!
> >
> >
> >
> > HTML is a mess, combining semantic information with structural
> > information, metadata, and even some presentation.
> >
> > But I guess we're stuck with it. Under the current circumstances, my
> > opinion is that we should do the best we can to separate concerns,
> but
> > not be too totalitarian about it.
> >
> > Chas.
> >
> >
> > Aaron wrote:
> >  > Thanks,
> >  >
> >  > I missed the power of the passing the binding back and forth for
> the
> >  > snippet.  This gives me something to chew on.
> >  >
> >  > I understand the bit about 'html not being presentation', that is
> >  > becoming more prevalent these days.
> >  >
> >  > So the convention about not putting logic in the template is more
> >  > important then templates in the controller, and that does make a
> lot
> >  > of sence.
> >  >
> >  > thanks!
> >  >
> >  > -Aaron
> >  >
> >  > On May 6, 12:51 pm, David Pollak  > >
> >  > wrote:
> >  >> Aaron,
> >  >>
> >  >> Short answer: Lift's templating makes it nearly impossible to
> > put business
> >  >> logic into the view, but it is possible to put view logic into
> > your Scala
> >  >> code.  Using Lift's bind'ing mechanism, it's possible to
> > completely separate
> >  >> the view logic from the business logic.
> >  >>
> >  >> Longer answer:
> >  >> Lift's templating mechanism is a non-type-safe interface between
> > XHTML
> >  >> template files and Scala code.  Lift finds tags of the format
> >  and
> >  >> uses xxx to look up a snippet which generates dynamic content.
> >  Lift looks
> >  >> up the snippets in a number of ways including "by convention"
> (using
> >  >> reflection to look for classes and methods that match the
> > snippet name) and
> >  >> by registering PartialFunctions as a lookup mechanism for
> snippets.
> >  >> Snippets may also be registered on a page-by-page basis using
> > SiteMap.
> >  >>
> >  >> "by-conven

[Lift] Re: Unable to run unconference application from lift samples

2009-05-07 Thread David Pollak
The unconference app needs data seeded into the database... the content to
present on the home page.  I'll look into building an auto-populated
database entry to avoid this issue.

On Thu, May 7, 2009 at 10:23 AM, glenn  wrote:

>
> I can't run the unconference application from the lift samples. I keep
> getting a bunch of these in the jetty console:
>
> INFO - Service request (GET) / took 2 Milliseconds
> INFO - Service request (GET) / took 3 Milliseconds
> INFO - Service request (GET) / took 3 Milliseconds
> INFO - Service request (GET) / took 2 Milliseconds
> INFO - Service request (GET) / took 5 Milliseconds
> INFO - Service request (GET) / took 3 Milliseconds
> INFO - Service request (GET) / took 3 Milliseconds
> INFO - Service request (GET) / took 3 Milliseconds.
>
>
> To test, I just imported the source into Eclipse as a maven project.
> Since I don't use postgreSQL as my database server, I changed this to
> the embedded derby db in Boot.scala and everything compiles fine and
> creates the database when I do a mvn jetty:run. But the application
> simply won't load when I navigate to http://localhost:8080
>
> Glenn Silverman
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: Unable to run unconference application from lift samples

2009-05-07 Thread glenn

Thanks for the info. While awaiting these changes, could you advise on
the minimum data needed to get this thing running so I can have a look
at
it.

Glenn...

On May 7, 12:01 pm, David Pollak 
wrote:
> The unconference app needs data seeded into the database... the content to
> present on the home page.  I'll look into building an auto-populated
> database entry to avoid this issue.
>
>
>
> On Thu, May 7, 2009 at 10:23 AM, glenn  wrote:
>
> > I can't run the unconference application from the lift samples. I keep
> > getting a bunch of these in the jetty console:
>
> > INFO - Service request (GET) / took 2 Milliseconds
> > INFO - Service request (GET) / took 3 Milliseconds
> > INFO - Service request (GET) / took 3 Milliseconds
> > INFO - Service request (GET) / took 2 Milliseconds
> > INFO - Service request (GET) / took 5 Milliseconds
> > INFO - Service request (GET) / took 3 Milliseconds
> > INFO - Service request (GET) / took 3 Milliseconds
> > INFO - Service request (GET) / took 3 Milliseconds.
>
> > To test, I just imported the source into Eclipse as a maven project.
> > Since I don't use postgreSQL as my database server, I changed this to
> > the embedded derby db in Boot.scala and everything compiles fine and
> > creates the database when I do a mvn jetty:run. But the application
> > simply won't load when I navigate tohttp://localhost:8080
>
> > Glenn Silverman
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Git some:http://github.com/dpp

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: Unable to run unconference application from lift samples

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 12:08 PM, glenn  wrote:

>
> Thanks for the info. While awaiting these changes, could you advise on
> the minimum data needed to get this thing running so I can have a look
> at
> it.


There's a wiki content table and that table has to contain content for the
home page (look to the URL re-writing to see where the page content is
checked).


>
>
> Glenn...
>
> On May 7, 12:01 pm, David Pollak 
> wrote:
> > The unconference app needs data seeded into the database... the content
> to
> > present on the home page.  I'll look into building an auto-populated
> > database entry to avoid this issue.
> >
> >
> >
> > On Thu, May 7, 2009 at 10:23 AM, glenn  wrote:
> >
> > > I can't run the unconference application from the lift samples. I keep
> > > getting a bunch of these in the jetty console:
> >
> > > INFO - Service request (GET) / took 2 Milliseconds
> > > INFO - Service request (GET) / took 3 Milliseconds
> > > INFO - Service request (GET) / took 3 Milliseconds
> > > INFO - Service request (GET) / took 2 Milliseconds
> > > INFO - Service request (GET) / took 5 Milliseconds
> > > INFO - Service request (GET) / took 3 Milliseconds
> > > INFO - Service request (GET) / took 3 Milliseconds
> > > INFO - Service request (GET) / took 3 Milliseconds.
> >
> > > To test, I just imported the source into Eclipse as a maven project.
> > > Since I don't use postgreSQL as my database server, I changed this to
> > > the embedded derby db in Boot.scala and everything compiles fine and
> > > creates the database when I do a mvn jetty:run. But the application
> > > simply won't load when I navigate tohttp://localhost:8080
> >
> > > Glenn Silverman
> >
> > --
> > Lift, the simply functional web frameworkhttp://liftweb.net
> > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > Follow me:http://twitter.com/dpp
> > Git some:http://github.com/dpp
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: garbage collection

2009-05-07 Thread Oliver Lambert
Any chance of exposing a getter on messageCallback that would return some
statistics (the number of functions being stored would be a good starting
point)?

On Thu, May 7, 2009 at 11:21 PM, marius d.  wrote:

>
> Just FYI ...
>
> Things in this area are may change a bit once JQuery fixes the bug
> related with namespaces.This was the main reason why we had to deviate
> from Dave's original idea of using lift:gc attributes.
>
> Br's,
> Marius
>
> On May 7, 3:47 pm, Oliver Lambert  wrote:
> > Ah, you mean messageCallback - The joys of private variables.
> > thanks again
> > Ol
> >
> > On Thu, May 7, 2009 at 9:55 PM, marius d. 
> wrote:
> >
> > > Please see LiftSession.
> >
> > > On May 7, 1:41 pm, Oliver Lambert  wrote:
> > > > Thanks for this. I would like to look at the code that actually holds
> the
> > > > storage container and profile it. Any pointers on which class to look
> at
> > > s a
> > > > starting point?
> > > > Ol
> >
> > > > On Thu, May 7, 2009 at 7:17 PM, marius d. 
> > > wrote:
> >
> > > > > In short the current Lift GC is:
> >
> > > > > 1. Each page has an ID
> > > > > 2. Each mapped function is associated with the page ID
> > > > > 3. There are periodical Ajax request sent from the page that are
> > > > > refreshing the timestamps on the mapped functions
> > > > > 4. Mapped functions that exceeded the expiration time are de-
> > > > > referenced hence become eligible for garbage collector.
> >
> > > > > Br's,
> > > > > Marius
> >
> > > > > On May 7, 10:15 am, Oliver Lambert  wrote:
> > > > > > I'm trying to get an understanding how garbage collection is
> > > implemented
> > > > > in
> > > > > > Lift.
> > > > > > Any pointers on what scala classes do the actual work?
> >
> > > > > > While I'm at it, S.functionMap appears to only return functions
> that
> > > were
> > > > > > "recently" bound. Does S._functionMap, contain the functions
> being
> > > > > garbage
> > > > > > collected?
> >
> > > > > > cheers
> > > > > > Oliver
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: separation of presentation content and logic

2009-05-07 Thread Charles F. Munat

Gotta go to a meeting, but I'll post more later. (I was planning to 
anyway.) And I've been working on something along these lines in Lift, 
but the need to make a living keeps interfering, dammit.

Chas.

Meredith Gregory wrote:
> Chas,
> 
> Oooh! i love miracles, as in how we get from 'here' to 'there' is 'and 
> then a miracle occurs'.
> 
> On the other hand, another way to accomplish a miracle of this type is 
> by fiat. There's nothing to prevent lift from providing a code path that 
> works like this, along side a code path that includes the current HTML 
> nightmare. If there is genuine value in the vision, eventually people 
> will start to gravitate to the other way of doing things -- especially, 
> if there are some compelling examples that match what they are trying to 
> do in their immediate concerns.
> 
> Can you lay out the necessary pieces in more detail (for an idiot, like 
> myself)? Can we make one sample site that works like this?
> 
> Best wishes,
> 
> --greg
> 
> On Thu, May 7, 2009 at 10:46 AM, Charles F. Munat  > wrote:
> 
> 
> Oh, it's a pretty vision. The part that's missing, though, is the part
> where we get there from here. Still working on that part...
> 
> Chas.
> 
> David Pollak wrote:
>  >
>  >
>  > On Wed, May 6, 2009 at 7:13 PM, Charles F. Munat  
>  > >> wrote:
>  >
>  >
>  > Yeah, the whole thing is kind of a joke.
>  >
>  > Long ago we should have abandoned HTML for XML. The server
> should send
>  > the content (data) in one file with full semantic markup.
> Another file
>  > should contain a stylesheet that controls full page layout,
> plus vector
>  > graphics and raster images with on-the-fly resizing.
>  >
>  > Page layout should be rule-based and dynamic. The graphic
> designer
>  > creates a set of rules, sectioning the content and selecting
> colors,
>  > proportioning, alignment, etc. Then the browser reflows and
> updates the
>  > view as the user resizes the window or changes type size.
>  >
>  > As a user, I should be able to grab sections of a page and
> drag them out
>  > to become new pages, or pull them back in again. I should be
> able to
>  > hide or show any part of a page, or rearrange the parts. I
> should be
>  > able to resize type and images so they're clear to me. And
> the site
>  > navigation should show up as a "site" toolbar on the browser,
> not in the
>  > pages themselves. Chrome missed the boat on this because
> they're too
>  > busy thinking of the page as the atomic unit.
>  >
>  > Now the database developer worries only about the data model. The
>  > application programmer worries only about business logic and
> sending
>  > semantically-marked-up data to the browser. The information
> architect
>  > worries only about which pages will need what information and
> how the
>  > navigation system will work (with navigation delivered as a
> separate XML
>  > file), and the graphic designer worries only about the layout of
>  > individual pages, making sure that they look great at any
> resolution,
>  > window size/shape, or type size.
>  >
>  >
>  > I love this vision!
>  >
>  >
>  >
>  > HTML is a mess, combining semantic information with structural
>  > information, metadata, and even some presentation.
>  >
>  > But I guess we're stuck with it. Under the current
> circumstances, my
>  > opinion is that we should do the best we can to separate
> concerns, but
>  > not be too totalitarian about it.
>  >
>  > Chas.
>  >
>  >
>  > Aaron wrote:
>  >  > Thanks,
>  >  >
>  >  > I missed the power of the passing the binding back and
> forth for the
>  >  > snippet.  This gives me something to chew on.
>  >  >
>  >  > I understand the bit about 'html not being presentation',
> that is
>  >  > becoming more prevalent these days.
>  >  >
>  >  > So the convention about not putting logic in the template
> is more
>  >  > important then templates in the controller, and that does
> make a lot
>  >  > of sence.
>  >  >
>  >  > thanks!
>  >  >
>  >  > -Aaron
>  >  >
>  >  > On May 6, 12:51 pm, David Pollak
> mailto:feeder.of.the.be...@gmail.com>
>  >  >>
>  >  > wrote:
>  >  >> Aaron,
>  >  >>
>  >  >> Short answer: Lift's templating makes it nearly impossible to
>  >

[Lift] Re: immutable bindings

2009-05-07 Thread David Pollak
I like this a lot.

I think this has a place in Lift... although I still prefer to bind to
 to  But that's a
small thing.

I'd like to see this rolled into the Record stuff so that input records
could be defined this way.

On Wed, Apr 29, 2009 at 9:02 PM, Oliver Lambert  wrote:

> Hi all,
> A couple of weeks ago, I promised David I would provide an example of the
> immutable binding, I am using.
>
> I've, included it as a small Lift web application, that hopefully works
> without any dependencies on my local repository.
>
> I've tried to make it as self explanatory as possible.  If your interested,
> run the application to get an idea of how it works.
> Your suggestions/opinions are welcome.
>
> cheers
> Oliver
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] How about a lift + sling marriage

2009-05-07 Thread glenn

Are there any thoughts about integrating lift with Apache Sling? There
is suppose to be a scala bundle that can be used in Sling, but I
haven't seen it. Does anyone know where to get it, or if it even
exists.

There would be a couple of reasons for wanting an integration - using
the Jackrabbit repository for all your lift-enabled html and as an
alternative to a relational db for model persistence. In addition,
think of the mashups and gadgetization that would be possible with
lift OSGi bundles.

Obviously, a full integration would require changes to resource
management, but nothing that seems insurmountable.

Glenn Silverman

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: How about a lift + sling marriage

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 12:23 PM, glenn  wrote:

>
> Are there any thoughts about integrating lift with Apache Sling? There
> is suppose to be a scala bundle that can be used in Sling, but I
> haven't seen it. Does anyone know where to get it, or if it even
> exists.
>

I took a look at Sling and see very little value in integration.  Lift has
the best REST handling out there.  Multiple languages is a lose rather than
a win.  And anything that advertises itself as "fun" has an instance yellow
flag from me.


>
> There would be a couple of reasons for wanting an integration - using
> the Jackrabbit repository for all your lift-enabled html


Jackrabbit might be an interesting backing store for Lift and/or Lift
content.  It's pretty trivial to do this now with Lift.  It's about 100
lines of code to use an external backing store for Lift content.


> and as an
> alternative to a relational db for model persistence. In addition,
> think of the mashups and gadgetization that would be possible with
> lift OSGi bundles.


And we have an ongoing OSGi project within Lift, so an external one is not
necessary.


>
>
> Obviously, a full integration would require changes to resource
> management, but nothing that seems insurmountable.


If there was a compelling use case, I'd consider it more, but reviewing
Sling, I can't seem to find one.  I'm open to hearing thoughts on actual use
cases.

Sorry.

David


>
>
> Glenn Silverman
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: garbage collection

2009-05-07 Thread marius d.

Personally I'd be very reluctant exposing that to applications as this
is Lift implementation specific and exposing an API tight to that
leads to unnecessary coupling.

But why do you really need this? ... just for statistical
purposes? ... I'm not sure about the relevance of such number.

Br's,
Marius

On May 7, 10:22 pm, Oliver Lambert  wrote:
> Any chance of exposing a getter on messageCallback that would return some
> statistics (the number of functions being stored would be a good starting
> point)?
>
> On Thu, May 7, 2009 at 11:21 PM, marius d.  wrote:
>
> > Just FYI ...
>
> > Things in this area are may change a bit once JQuery fixes the bug
> > related with namespaces.This was the main reason why we had to deviate
> > from Dave's original idea of using lift:gc attributes.
>
> > Br's,
> > Marius
>
> > On May 7, 3:47 pm, Oliver Lambert  wrote:
> > > Ah, you mean messageCallback - The joys of private variables.
> > > thanks again
> > > Ol
>
> > > On Thu, May 7, 2009 at 9:55 PM, marius d. 
> > wrote:
>
> > > > Please see LiftSession.
>
> > > > On May 7, 1:41 pm, Oliver Lambert  wrote:
> > > > > Thanks for this. I would like to look at the code that actually holds
> > the
> > > > > storage container and profile it. Any pointers on which class to look
> > at
> > > > s a
> > > > > starting point?
> > > > > Ol
>
> > > > > On Thu, May 7, 2009 at 7:17 PM, marius d. 
> > > > wrote:
>
> > > > > > In short the current Lift GC is:
>
> > > > > > 1. Each page has an ID
> > > > > > 2. Each mapped function is associated with the page ID
> > > > > > 3. There are periodical Ajax request sent from the page that are
> > > > > > refreshing the timestamps on the mapped functions
> > > > > > 4. Mapped functions that exceeded the expiration time are de-
> > > > > > referenced hence become eligible for garbage collector.
>
> > > > > > Br's,
> > > > > > Marius
>
> > > > > > On May 7, 10:15 am, Oliver Lambert  wrote:
> > > > > > > I'm trying to get an understanding how garbage collection is
> > > > implemented
> > > > > > in
> > > > > > > Lift.
> > > > > > > Any pointers on what scala classes do the actual work?
>
> > > > > > > While I'm at it, S.functionMap appears to only return functions
> > that
> > > > were
> > > > > > > "recently" bound. Does S._functionMap, contain the functions
> > being
> > > > > > garbage
> > > > > > > collected?
>
> > > > > > > cheers
> > > > > > > Oliver
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: How about a lift + sling marriage

2009-05-07 Thread glenn

My mistake. I see in the Lift Book quite a bit about RESTFUL services
under the Web Services chapter.
This I will read.

Glenn Silverman

On May 7, 12:56 pm, David Pollak 
wrote:
> On Thu, May 7, 2009 at 12:23 PM, glenn  wrote:
>
> > Are there any thoughts about integrating lift with Apache Sling? There
> > is suppose to be a scala bundle that can be used in Sling, but I
> > haven't seen it. Does anyone know where to get it, or if it even
> > exists.
>
> I took a look at Sling and see very little value in integration.  Lift has
> the best REST handling out there.  Multiple languages is a lose rather than
> a win.  And anything that advertises itself as "fun" has an instance yellow
> flag from me.
>
>
>
> > There would be a couple of reasons for wanting an integration - using
> > the Jackrabbit repository for all your lift-enabled html
>
> Jackrabbit might be an interesting backing store for Lift and/or Lift
> content.  It's pretty trivial to do this now with Lift.  It's about 100
> lines of code to use an external backing store for Lift content.
>
> > and as an
> > alternative to a relational db for model persistence. In addition,
> > think of the mashups and gadgetization that would be possible with
> > lift OSGi bundles.
>
> And we have an ongoing OSGi project within Lift, so an external one is not
> necessary.
>
>
>
> > Obviously, a full integration would require changes to resource
> > management, but nothing that seems insurmountable.
>
> If there was a compelling use case, I'd consider it more, but reviewing
> Sling, I can't seem to find one.  I'm open to hearing thoughts on actual use
> cases.
>
> Sorry.
>
> David
>
>
>
> > Glenn Silverman
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Git some:http://github.com/dpp

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: How about a lift + sling marriage

2009-05-07 Thread glenn

You are probably correct about Sling's overall usefullness. I was
thinking in terms
of Slings native restful capabilities more so than Jackrabbit, without
fully realizing that lift can do REST as well.
Is there documentation, or a sample, that can show me how to use it?
Here, the lift book is only
partially helpful. There is an example of JSON form handling, but
that's about it. Don't I need a REST server
that can handle the GET, POST, DELETE, etc. commands and work with the
the mapper objects?

Glenn Silverman

On May 7, 12:56 pm, David Pollak 
wrote:
> On Thu, May 7, 2009 at 12:23 PM, glenn  wrote:
>
> > Are there any thoughts about integrating lift with Apache Sling? There
> > is suppose to be a scala bundle that can be used in Sling, but I
> > haven't seen it. Does anyone know where to get it, or if it even
> > exists.
>
> I took a look at Sling and see very little value in integration.  Lift has
> the best REST handling out there.  Multiple languages is a lose rather than
> a win.  And anything that advertises itself as "fun" has an instance yellow
> flag from me.
>
>
>
> > There would be a couple of reasons for wanting an integration - using
> > the Jackrabbit repository for all your lift-enabled html
>
> Jackrabbit might be an interesting backing store for Lift and/or Lift
> content.  It's pretty trivial to do this now with Lift.  It's about 100
> lines of code to use an external backing store for Lift content.
>
> > and as an
> > alternative to a relational db for model persistence. In addition,
> > think of the mashups and gadgetization that would be possible with
> > lift OSGi bundles.
>
> And we have an ongoing OSGi project within Lift, so an external one is not
> necessary.
>
>
>
> > Obviously, a full integration would require changes to resource
> > management, but nothing that seems insurmountable.
>
> If there was a compelling use case, I'd consider it more, but reviewing
> Sling, I can't seem to find one.  I'm open to hearing thoughts on actual use
> cases.
>
> Sorry.
>
> David
>
>
>
> > Glenn Silverman
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Git some:http://github.com/dpp

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: How about a lift + sling marriage

2009-05-07 Thread TylerWeir

> that's about it. Don't I need a REST server
> that can handle the GET, POST, DELETE, etc. commands and work with the
> the mapper objects?

I think that's any good idea for a sample app.  I'll try to make time
for it soon.

On May 7, 4:29 pm, glenn  wrote:
> You are probably correct about Sling's overall usefullness. I was
> thinking in terms
> of Slings native restful capabilities more so than Jackrabbit, without
> fully realizing that lift can do REST as well.
> Is there documentation, or a sample, that can show me how to use it?
> Here, the lift book is only
> partially helpful. There is an example of JSON form handling, but
> that's about it. Don't I need a REST server
> that can handle the GET, POST, DELETE, etc. commands and work with the
> the mapper objects?
>
> Glenn Silverman
>
> On May 7, 12:56 pm, David Pollak 
> wrote:
>
>
>
> > On Thu, May 7, 2009 at 12:23 PM, glenn  wrote:
>
> > > Are there any thoughts about integrating lift with Apache Sling? There
> > > is suppose to be a scala bundle that can be used in Sling, but I
> > > haven't seen it. Does anyone know where to get it, or if it even
> > > exists.
>
> > I took a look at Sling and see very little value in integration.  Lift has
> > the best REST handling out there.  Multiple languages is a lose rather than
> > a win.  And anything that advertises itself as "fun" has an instance yellow
> > flag from me.
>
> > > There would be a couple of reasons for wanting an integration - using
> > > the Jackrabbit repository for all your lift-enabled html
>
> > Jackrabbit might be an interesting backing store for Lift and/or Lift
> > content.  It's pretty trivial to do this now with Lift.  It's about 100
> > lines of code to use an external backing store for Lift content.
>
> > > and as an
> > > alternative to a relational db for model persistence. In addition,
> > > think of the mashups and gadgetization that would be possible with
> > > lift OSGi bundles.
>
> > And we have an ongoing OSGi project within Lift, so an external one is not
> > necessary.
>
> > > Obviously, a full integration would require changes to resource
> > > management, but nothing that seems insurmountable.
>
> > If there was a compelling use case, I'd consider it more, but reviewing
> > Sling, I can't seem to find one.  I'm open to hearing thoughts on actual use
> > cases.
>
> > Sorry.
>
> > David
>
> > > Glenn Silverman
>
> > --
> > Lift, the simply functional web frameworkhttp://liftweb.net
> > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > Follow me:http://twitter.com/dpp
> > Git some:http://github.com/dpp
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: separation of presentation content and logic

2009-05-07 Thread Aaron Held
I'm on board with this vision as well.

In my current java framework I do 2 distinct passes against any url.

the first pass connects a url to a data model

packageMap "^/sports/video/(.*)""/sports/video/doc.xml"
(this is Groovy by the way)

That is an xml file that expands into a larger xml file.  It has entries
like




the second pass is to pull the freemaker template

viewMap "^/sports/video/.*/""channels/sports/video"

The beauty of this is that the fully formatted XML is available for
developers to look at and ops to monitor.  Adding new data to the page means
adding a 'module' to the doc.xml.  Since I'm interested in scale most of the
doc.xml is continually regenerated on the server keeping down the number of
network calls to the middleware.

There are warts here, but this system has served my team well and allows us
to onboard new front end guys fast and reuse data heavily.

The downside (or upside!) is that the rendering framework has almost no
native datastore, it sucks in REST resources and spits our text (HTML, Json,
XML etc...).

I can imagine something where we do 2 passes on a template and rather then
binding the snipped data to the snipped node just build up list of the
'needed data', assemble it, and then pass it to the template.

In freemarker it is easy to namespace the XML node to keep things clean, and
easy to grab data that exists in any other module.

<#list doc.package.latestCoolVideos as video>
${doc.config.sitename} 
${doc.package.channel.name} 

... 
${video.own...@prettyname}


You can even treat the first pass as a web page itself.  Our initial
prototype had the 'doc.xml' as a webpage. (the load model function itself
can just call out the http server that returns a XML)

I know we all hate XML, but there are benefits here.  I can easily test the
templates by feeding in known XML data and validate the data layer against
schemas or any number of XML libraries.

So I guess my ask here is to make the 'data' model easily visible without
having to open a debugger or mess with logging.

The nut I have not been able to crack is how to keep this easy to code and
maintain.  Now we have another set of files to deal with, a mapping file, a
template and  data.

-Aaron

On Thu, May 7, 2009 at 3:45 PM, Charles F. Munat  wrote:

>
> Gotta go to a meeting, but I'll post more later. (I was planning to
> anyway.) And I've been working on something along these lines in Lift,
> but the need to make a living keeps interfering, dammit.
>
> Chas.
>
> Meredith Gregory wrote:
> > Chas,
> >
> > Oooh! i love miracles, as in how we get from 'here' to 'there' is 'and
> > then a miracle occurs'.
> >
> > On the other hand, another way to accomplish a miracle of this type is
> > by fiat. There's nothing to prevent lift from providing a code path that
> > works like this, along side a code path that includes the current HTML
> > nightmare. If there is genuine value in the vision, eventually people
> > will start to gravitate to the other way of doing things -- especially,
> > if there are some compelling examples that match what they are trying to
> > do in their immediate concerns.
> >
> > Can you lay out the necessary pieces in more detail (for an idiot, like
> > myself)? Can we make one sample site that works like this?
> >
> > Best wishes,
> >
> > --greg
> >
> > On Thu, May 7, 2009 at 10:46 AM, Charles F. Munat  > > wrote:
> >
> >
> > Oh, it's a pretty vision. The part that's missing, though, is the
> part
> > where we get there from here. Still working on that part...
> >
> > Chas.
> >
> > David Pollak wrote:
> >  >
> >  >
> >  > On Wed, May 6, 2009 at 7:13 PM, Charles F. Munat  > 
> >  > >> wrote:
> >  >
> >  >
> >  > Yeah, the whole thing is kind of a joke.
> >  >
> >  > Long ago we should have abandoned HTML for XML. The server
> > should send
> >  > the content (data) in one file with full semantic markup.
> > Another file
> >  > should contain a stylesheet that controls full page layout,
> > plus vector
> >  > graphics and raster images with on-the-fly resizing.
> >  >
> >  > Page layout should be rule-based and dynamic. The graphic
> > designer
> >  > creates a set of rules, sectioning the content and selecting
> > colors,
> >  > proportioning, alignment, etc. Then the browser reflows and
> > updates the
> >  > view as the user resizes the window or changes type size.
> >  >
> >  > As a user, I should be able to grab sections of a page and
> > drag them out
> >  > to become new pages, or pull them back in again. I should be
> > able to
> >  > hide or show any part of a page, or rearrange the parts. I
> > should be
> >  > able to re

[Lift] Re: developing Scala/Lift using Eclipse

2009-05-07 Thread Tom Arnold
On Thu, May 7, 2009 at 6:13 PM, David Pollak
wrote:

>
> Which "this" are you referring to?
>
>

Oh sorry. I meant the Lift-Scala-Eclipse integration. (+GAE)

I tried to get it working, but even the Scala-Eclipse-GAE stuff seems buggy.


I tried using these steps:

http://penguinparens.blogspot.com/2009/04/further-steps-scalagwtapp-engineeclipse.html

Look at the comments for my problems.

Thanks again.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: developing Scala/Lift using Eclipse

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 3:00 PM, Tom Arnold  wrote:

>
>
> On Thu, May 7, 2009 at 6:13 PM, David Pollak <
> feeder.of.the.be...@gmail.com> wrote:
>
>>
>> Which "this" are you referring to?
>>
>>
>
> Oh sorry. I meant the Lift-Scala-Eclipse integration. (+GAE)
>
> I tried to get it working, but even the Scala-Eclipse-GAE stuff seems
> buggy.
>
> I tried using these steps:
>
>
> http://penguinparens.blogspot.com/2009/04/further-steps-scalagwtapp-engineeclipse.html
>
> Look at the comments for my problems.
>

We're happy to offer support to Lift and Lift related topics, but the
questions have to be on this list rather than in comments on someone's blog
post.

If you've got questions about Scala and Eclipse and GAE generically, this is
not the best place to ask them.

Thanks,

David


>
>
> Thanks again.
>
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: developing Scala/Lift using Eclipse

2009-05-07 Thread Miles Sabin

On Thu, May 7, 2009 at 11:31 PM, David Pollak
 wrote:
> If you've got questions about Scala and Eclipse and GAE generically, this is
> not the best place to ask them.

He wants to get Lift + maven + the Scala IDE for Eclipse + the GAE
plugin for Eclipse all working together, which is falling between
about as many stools as is possible unfortunately.

TBH, I think that here probably is as good a place as any to try and
thrash this out ... I'll do whatever I can to help on the Scala IDE
front.

But I'd understand if you'd rather punt this somewhere else ...

Cheers,


Miles

-- 
Miles Sabin
tel: +44 (0)7813 944 528
skype:  milessabin
http://twitter.com/milessabin

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: developing Scala/Lift using Eclipse

2009-05-07 Thread David Pollak
On Thu, May 7, 2009 at 3:42 PM, Miles Sabin  wrote:

>
> On Thu, May 7, 2009 at 11:31 PM, David Pollak
>  wrote:
> > If you've got questions about Scala and Eclipse and GAE generically, this
> is
> > not the best place to ask them.
>
> He wants to get Lift + maven + the Scala IDE for Eclipse + the GAE
> plugin for Eclipse all working together, which is falling between
> about as many stools as is possible unfortunately.
>
> TBH, I think that here probably is as good a place as any to try and
> thrash this out ... I'll do whatever I can to help on the Scala IDE
> front.
>
> But I'd understand if you'd rather punt this somewhere else ...


I'm totally cool with you providing support for this configuration on this
list.


>
>
> Cheers,
>
>
> Miles
>
> --
> Miles Sabin
> tel: +44 (0)7813 944 528
> skype:  milessabin
> http://twitter.com/milessabin
>
> >
>


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

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: developing Scala/Lift using Eclipse

2009-05-07 Thread Miles Sabin

On Thu, May 7, 2009 at 11:43 PM, David Pollak
 wrote:
> I'm totally cool with you providing support for this configuration on this
> list.

Well, hang on ...

The point is that this is all of our problem ... I can help with
generic Scala IDE problems, but Lift + Maven + GAE plugin stuff is not
in my purview.

Cheers,


Miles

-- 
Miles Sabin
tel: +44 (0)7813 944 528
skype:  milessabin
http://twitter.com/milessabin

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: developing Scala/Lift using Eclipse

2009-05-07 Thread Atsuhiko Yamanaka

Hi,

On Fri, May 8, 2009 at 7:48 AM, Miles Sabin  wrote:
> The point is that this is all of our problem ... I can help with
> generic Scala IDE problems, but Lift + Maven + GAE plugin stuff is not
> in my purview.

As for "Lift + Maven + GAE/J", the following may be helpful,
  http://groups.google.com/group/liftweb/msg/c454004d15940996?hl=en


Sincerely,
--
Atsuhiko Yamanaka
JCraft,Inc.
1-14-20 HONCHO AOBA-KU,
SENDAI, MIYAGI 980-0014 Japan.
Tel +81-22-723-2150
+1-415-578-3454
Fax +81-22-224-8773
Skype callto://jcraft/

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---