[Lift] Re: Lift and interoperability
On May 11, 9:59 pm, Meredith Gregory lgreg.mered...@gmail.com wrote: Glen, i've done some really hare-brained integrations -- like chaining the Lift filter with the Jersey filter -- and a bunch of other stuff. Between Lift's architecture and Scala's brilliant interop with Java, it's definitely my weapon of choice for integration projects. That said, i would really be interested to know what sort of integration you're having difficulty with -- even if it's only a gedanken experiment that seems to be problematic. Chances are, if you're running into a problem, we're likely to run into it, or already have. Either way, it would be beneficial for all to find a soln. Best wishes, --greg On Mon, May 11, 2009 at 3:45 PM, Timothy Perrett timo...@getintheloop.euwrote: Could agree more with Alex - I too have done some pretty sophisticated integrations with 3rd party systems and at every stage I found the life-cycle hooks into lift very rich and completely empowering. Cheers, Tim On May 11, 11:31 pm, Alex Boisvert boisv...@intalio.com wrote: Hi Glenn, I don't understand where you're coming from either... I've integrated Lift with a different persistence layer (home-grown), another authentication system (Tempo RBAC), integrated it with existing Java libraries and Spring MVC components without trouble. So far, I haven't run into a situation where Lift got in the way of integration. The fact that Lift uses all the standard servlet APIs made it easy to simply add it to an existing app and even reuse session state / cookies from existing apps. I can see how Lift can be different from what you're used to, but I don't see how Lift gets in the way of integrating with legacy apps. My 2 cents... alex On Mon, May 11, 2009 at 1:06 PM, glenn gl...@exmbly.com wrote: Just some observations from a struggling lift user... Yes, I see it's utility in delivering dynamic html to the browser. But in today's world of rapidly evolving technologies for mashups and flex- like richness and gadgetization, interoperability is the key to adoption in the enterprise. It's not enough to say you can selectively rewrite your legacy apps in lift. Lift, out of the box, is still another technology for building monolithing web apps (war files). Not the best stategy. I find the keepers of the code, in response to numerous postings on this site, suffer from NIH anxiety and easily dismiss interoperability with other frameworks, either because they believe they have a superior implementation, so why use someone else's, or, if you really feel you need it, roll your own. My response to that is, it just doesn't work that way. The best technologies are not just agnostic on the issue of interoperability, they embrace pluggability, and let the developer community choose the winners and losers. Lift suffers from not even having an out-of the-box declarative configuration capability. And, frankly no, I don't have the time or resources to write my own. Please, give me something other than just an a tag to work with. -- L.G. Meredith Managing Partner Biosimilarity LLC 1219 NW 83rd St Seattle, WA 98117 +1 206.650.3740 http://biosimilarity.blogspot.com --~--~-~--~~~---~--~~ 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 and interoperability
I appreciate all the comments on lift and interoperability. What I'm hearing is that if an integration can be done in a plain old Java EE application, it can be done in lift. I never doubted that. It's just that I was hoping for a little transparency when it comes to resource management. If I want to grab a resource outside the lift application context, do I write plain html, Java EE code, lift code, or a hybrid? I can use an action attribute on an html form to submit a request to any URL, but I can't do that in a lift form template. Lift has api's to construct and process JSON and ATOM formats and even has REST methods to process them, but only if you plan on talking to yourself. I think a lift implementation of something like Ryan Dewsbury's JSONRequest class, in Google Web Toolkit Applications, would help. On May 11, 9:59 pm, Meredith Gregory lgreg.mered...@gmail.com wrote: Glen, i've done some really hare-brained integrations -- like chaining the Lift filter with the Jersey filter -- and a bunch of other stuff. Between Lift's architecture and Scala's brilliant interop with Java, it's definitely my weapon of choice for integration projects. That said, i would really be interested to know what sort of integration you're having difficulty with -- even if it's only a gedanken experiment that seems to be problematic. Chances are, if you're running into a problem, we're likely to run into it, or already have. Either way, it would be beneficial for all to find a soln. Best wishes, --greg On Mon, May 11, 2009 at 3:45 PM, Timothy Perrett timo...@getintheloop.euwrote: Could agree more with Alex - I too have done some pretty sophisticated integrations with 3rd party systems and at every stage I found the life-cycle hooks into lift very rich and completely empowering. Cheers, Tim On May 11, 11:31 pm, Alex Boisvert boisv...@intalio.com wrote: Hi Glenn, I don't understand where you're coming from either... I've integrated Lift with a different persistence layer (home-grown), another authentication system (Tempo RBAC), integrated it with existing Java libraries and Spring MVC components without trouble. So far, I haven't run into a situation where Lift got in the way of integration. The fact that Lift uses all the standard servlet APIs made it easy to simply add it to an existing app and even reuse session state / cookies from existing apps. I can see how Lift can be different from what you're used to, but I don't see how Lift gets in the way of integrating with legacy apps. My 2 cents... alex On Mon, May 11, 2009 at 1:06 PM, glenn gl...@exmbly.com wrote: Just some observations from a struggling lift user... Yes, I see it's utility in delivering dynamic html to the browser. But in today's world of rapidly evolving technologies for mashups and flex- like richness and gadgetization, interoperability is the key to adoption in the enterprise. It's not enough to say you can selectively rewrite your legacy apps in lift. Lift, out of the box, is still another technology for building monolithing web apps (war files). Not the best stategy. I find the keepers of the code, in response to numerous postings on this site, suffer from NIH anxiety and easily dismiss interoperability with other frameworks, either because they believe they have a superior implementation, so why use someone else's, or, if you really feel you need it, roll your own. My response to that is, it just doesn't work that way. The best technologies are not just agnostic on the issue of interoperability, they embrace pluggability, and let the developer community choose the winners and losers. Lift suffers from not even having an out-of the-box declarative configuration capability. And, frankly no, I don't have the time or resources to write my own. Please, give me something other than just an a tag to work with. -- L.G. Meredith Managing Partner Biosimilarity LLC 1219 NW 83rd St Seattle, WA 98117 +1 206.650.3740 http://biosimilarity.blogspot.com --~--~-~--~~~---~--~~ 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 display all template with chooseTemplate
Hi , I am using chooseTemplate in UI. As per condition i am able to hide and display particular template but suppose i want to display all templates at one condition ,how can i do that. e.g suppose from count game example case run if lastGuess == number = xhtml = win(chooseTemplate(choose, win, xhtml)) case run = xhtml = nextGuess(chooseTemplate(choose, guess, xhtml)) In this ,it displays one template(win or guess) at time , but i want to display both template at time for particular condition. how can i do this? Thanks in advance --~--~-~--~~~---~--~~ 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 display all template with chooseTemplate
Can you post some code - I know what you want to do but without seeing exactly what you have already its difficult to advise on the best route. Cheers, Tim On May 14, 6:42 am, pravin pravinka...@gmail.com wrote: Hi , I am using chooseTemplate in UI. As per condition i am able to hide and display particular template but suppose i want to display all templates at one condition ,how can i do that. e.g suppose from count game example case run if lastGuess == number = xhtml = win(chooseTemplate(choose, win, xhtml)) case run = xhtml = nextGuess(chooseTemplate(choose, guess, xhtml)) In this ,it displays one template(win or guess) at time , but i want to display both template at time for particular condition. how can i do this? Thanks in advance --~--~-~--~~~---~--~~ 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: OSGi support for Lift
Hi Alex, Yes, I do get that and these are exactly the things I'm looking for in moving to OSGi. However, as applications grow I think it's eventually necessary to modularize and isolate them so that changing something in one app doesn't affect another one. Yes, you are right. But so far OSGi does not support the concept of an application. Let's say I have 2 apps and I'd like one of them to run on Lift 1.0 and the other one on Lift 1.1-SNAPSHOT, how do you see this working? In a typical J2EE webapp, these would be deployed as separate wars, each having a separate web context and isolated Lift core instances. Two separate WARs means two separate applications which is not possible in OSGi so far. We could try to tweak this, e.g. by using non-overlapping version ranges on package imports. But currently Lift needs (evil) DynamicImport-Package to properly resolve classes (e.g. Snippets) which breaks version-based resolving. And there would be other issues, too. This whole application and isolation stuff is currently investigated by the OSGi EEG (enterprise experts group): Hopefully we will soon see a solution! Heiko --~--~-~--~~~---~--~~ 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] Jetty Session problem
Hi : The Jetty server just happened a weird bug, some ppl seems to get into another ppl's session, as a logined user but it's another one's. I don't know why this would happen, anyone knows if there is a bug, or maybe some configuration should be made? 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: Menu access control not working as expected
David, Your sample app works. Mine doesn't. I even put your sample Menu item in my app, but in it's own LocGroup, and it does not work. It seems the only difference is that I'm separating my menus into groups. Could that be the culprit? Glenn... On May 13, 9:27 pm, David Pollak feeder.of.the.be...@gmail.com wrote: Glenn, Sorry... there was a bug in the code. I've fixed it. It'll be available when this build finishes:http://hudson.scala-tools.org/job/Lift/949/console Please remember to do an mvn -U clean install I'm enclosing the sample app that I used to test. Please note that you should only return Full(LiftResponse) if you want to redirect... not if you want to stay on the page. Thanks, David On Wed, May 13, 2009 at 8:51 PM, glenn gl...@exmbly.com wrote: David, Moving CRUDify to the object fixed the compiler error. However, back on the original menu issue, using TestAccess, as you suggest, still did not work as expected. The menu item doesn't display. Maybe I'm missing something important. Sorry to be a bother, but hope you can help. Here's my menu code: def logged:Box[LiftResponse] = if(User.loggedIn_?){ Full(RedirectResponse(/Login)) }else{ Full(PlainTextResponse(No such location)) } val testLogin = TestAccess(() = logged) override def deleteMenuLoc = Empty override def createMenuLoc: Box[Menu] = Full(Menu(Loc(Create +Prefix, createPath, Continue..., locSnippets, LocGroup(company), testLogin, Loc.Template(createTemplate On May 13, 4:03 pm, David Pollak feeder.of.the.be...@gmail.com wrote: On Wed, May 13, 2009 at 3:30 PM, glenn gl...@exmbly.com wrote: Thanks for the heads-up on the 1.1-SNAPSHOT version, but now, when I compile, I get errors. I don't think this has anything to do with menu redirection, but, I have a Company class defined like so: CRUDify should be mixed into the Meta object not into th instance class. In this case, move CRUDify to object Company. This was the original intent with CRUDify, but I did not put the proper constraints on it in 1.0... I fixed that up in 1.1. class Company extends LongKeyedMapper[Company] with Address[Company] with IdPK with CRUDify[Long,Company] { ... } And, this is what my compiler output tells me: illegal inheritance; self-type com.exmbly.scala.apbul.model.Company does not conform to net.liftweb.mapper.CRUDify [Long,com.exmbly.scala.apbul.model.Company]'s selftype net.liftweb.mapper.CRUDify [Long,com.exmbly.scala.apbul.model.Company] with com.exmbly.scala.apbul.model.Company with net.liftweb.mapper.KeyedMetaMapper [Long,com.exmbly.scala.apbul.model.Company] Was something changed in the definition of Crudify? What do I need to change in my code? The error is a bit confusing. Glenn... On May 13, 2:58 pm, David Pollak feeder.of.the.be...@gmail.com wrote: On Wed, May 13, 2009 at 2:19 PM, glenn gl...@exmbly.com wrote: David, Pardon my ignorance, but I see a Test case class in the Lift 1.0 api for Loc, but not TestAccess, which seems similar. I added TestAccess to 1.1-SNAPSHOT last night. It's possible to write something in 1.0, but it's a lot harder... basically, you have to write a Snippet and do a custom LocParam. Most of us are on 1.1-SNAPSHOT and the sites I deploy are on 1.1-SNAPSHOT and there hasn't been an instability due to working on trunk-head that I've seen. Glenn... On May 13, 6:58 am, David Pollak feeder.of.the.be...@gmail.com wrote: Glenn, I've added another Loc param: /** * Allows extra access testing for a given menu location such that * you can build a menu that is displayed but redirects the user to a login * page if they are not logged in */ case class TestAccess(func: () = Box[LiftResponse]) extends LocParam This will let you write a function that tests access for the page and return a RedirectResponse if the user needs to log in. It will not impact the display of the menu item. Hope this helps. Thanks, David On Tue, May 12, 2009 at 5:23 PM, glenn gl...@exmbly.com wrote: Hmm, Here's my complete menu list for this LocGroup: def quoteMenu:List[Menu] = { val groupquote = Menu(Loc(groupquote, List(quote, group), Group Quote, LocGroup(quote), loggedIn )) val businessquote = Menu(Loc(businessquote, List(quote, business), Commercial Quote, LocGroup(quote))) val lifequote = Menu(Loc(lifequote, List(quote, life), Life Ins. Quote, LocGroup(quote))) val autoquote = Menu(Loc(autoquote, List(quote, auto), Auto Quote, LocGroup(quote)))
[Lift] Maven, Lift and Eclipse problem
I'm having trouble with continuous build in Eclipse, using maven to build and run. This was not happening a few days ago, but suddenly, I can no longer edit a scala file and simply refresh the browser to test with jetty running. Now, after Eclipse compiles, I get the following error in my Console: Caused by: java.sql.SQLException: Failed to start database 'lift_example', see the next exception for details. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException (Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA (Unknown Source) ... 52 more Caused by: java.sql.SQLException: Another instance of Derby may have already booted the database C:\Users\Glenn\usr\local\develop\ws\myscala \apgarBullardWeb\lift_example. I have to stop jetty and restart just to test. Funny thing, I was able to do continuous build and test before, and I can't think of anything I've changed in my system to cause this. Anone having a similar problem? --~--~-~--~~~---~--~~ 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: Jetty Session problem
I've never seen this before, ever. Can you describe how your system works etc? Cheers, Tim On May 14, 12:42 pm, sailormoo...@gmail.com sailormoo...@gmail.com wrote: Hi : The Jetty server just happened a weird bug, some ppl seems to get into another ppl's session, as a logined user but it's another one's. I don't know why this would happen, anyone knows if there is a bug, or maybe some configuration should be made? 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] Fwd: New basketball court(s) near you: 'Mosswood Park'...
Folks, Just a reminder about nofouls.com... a Lift powered site. Thanks, David -- Forwarded message -- From: Nofouls nofo...@nofouls.com Date: Wed, May 13, 2009 at 7:41 PM Subject: New basketball court(s) near you: 'Mosswood Park'... To: feeder.of.the.be...@gmail.com The following court(s) have been added to Nofouls: 'Mosswood Park' - http://nofouls.com/court/2717 Remember, your login is: feeder.of.the.be...@gmail.com --- Want to control what emails you receive? Go to: http://nofouls.com/user/me -- 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 hide /display div tag in lift
On Thu, May 14, 2009 at 3:29 AM, pravin pravinka...@gmail.com wrote: can i get source code of that example(tamplate for div )? Beyond the source code that exists on the page, you can get the source code for all of demo.liftweb.net from http://github.com/dpp/liftweb/tree/master/sites/example On May 13, 4:22 am, David Pollak feeder.of.the.be...@gmail.com wrote: Please see some example code that I just put live athttp:// demo.liftweb.net/templating/selectomatic It will allow you to select which div tags are displayed based on value of a bunch of Booleans On Thu, May 7, 2009 at 2:55 AM, pravin pravinka...@gmail.com wrote: 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. marius.dan...@gmail.com 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 pravinka...@gmail.com wrote: HI, I want to hide /display div tag. how can i controlled it from my snippet? my div tag contain table tag. Thanks -- 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: using Lift templates stand alone inside other frameworks like JAXRS?
On Thu, May 14, 2009 at 12:55 AM, James Strachan james.strac...@gmail.comwrote: 2009/5/13 David Pollak feeder.of.the.be...@gmail.com: Please see: S.render(NodeSeq, HttpServletRequest): NodeSeq Awesome - huge thanks! :) I was just about to post a patch I'd figured out to implement this in a way less elegant way; you saved me the trouble :) I've managed to use this API to provide a basic integration of Lift templates and Jersey http://github.com/jstrachan/liftweb/tree/master/lift-jersey I'm still working on it to provide some better examples (and navigation isn't quite working yet), but so far its working pretty well! Cool. Are you involved with Dan Kulp in your JAXRS work? -- James --- http://macstrac.blogspot.com/ Open Source Integration http://fusesource.com/ -- 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: Fwd: New basketball court(s) near you: 'Mosswood Park'...
Very nice. The web is built off websites that do one thing well. Why do people have to register to search by zip code? Warren On Thu, May 14, 2009 at 8:40 AM, David Pollak feeder.of.the.be...@gmail.com wrote: Folks, Just a reminder about nofouls.com... a Lift powered site. Thanks, David --~--~-~--~~~---~--~~ 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 display all template with chooseTemplate
Pravin, There's nothing magic going on with chooseTemplate or any of the other Lift Snippet code. The snippets take in a NodeSeq (a bunch of XML) and return a NodeSeq (a bunch of XML). XML is represented as NodeSeq which is a Seq[Node]. Seq[_] is the generic Scala representation for a linear collection of stuff, so all Scala collection operations (map, flatMap, filter, etc.) and works with Scala's for comprehension. The answers to your various questions are roots in manipulating XML which is basically Scala's collection manipulation. So, please spend some time learning about this basic Scala feature. We'll be glad to help you through the concepts, but I'm not sure answering small variants on how do I transform X to Y is going to give you the help you need. Thanks, David On Wed, May 13, 2009 at 10:42 PM, pravin pravinka...@gmail.com wrote: Hi , I am using chooseTemplate in UI. As per condition i am able to hide and display particular template but suppose i want to display all templates at one condition ,how can i do that. e.g suppose from count game example case run if lastGuess == number = xhtml = win(chooseTemplate(choose, win, xhtml)) case run = xhtml = nextGuess(chooseTemplate(choose, guess, xhtml)) In this ,it displays one template(win or guess) at time , but i want to display both template at time for particular condition. how can i do this? Thanks in advance -- 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: Jetty Session problem
I've seen this happen to other session based java web frameworks, oftentimes it's been caused by improperly configured proxies or terminal servers. Does this help you? Viktor, Rogue Software Architect 14 maj 2009 kl. 17.43 David Pollak feeder.of.the.be...@gmail.com skrev: On Thu, May 14, 2009 at 4:42 AM, sailormoo...@gmail.com sailormoo...@gmail.com wrote: Hi : The Jetty server just happened a weird bug, some ppl seems to get into another ppl's session, All session state in Lift is managed using JSESSIONID. Session management is a simple and solid mechanism. I've never seen or heard of mixing sessions. Can you be specific about the defect and the code in your application where it's manifesting itself? as a logined user but it's another one's. I don't know why this would happen, anyone knows if there is a bug, or maybe some configuration should be made? 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] rlambda lift project updated
Lifted, i've added support to the rlambda lift projecthttp://code.google.com/p/rlambda/taking it within range of being a candidate DSL-archetype. At this point it is possible simply to supply a .cf file in the src/main/bnfc directory and it will generate everything from that. i've still got to conditionally include the Eval and Compile functionality for DSL that have/don't have this capability. i've two remaining questions for this leg of the work. - Does anyone know how to reference maven dependencies within some flavor of maven-antrun-plugin? The original version does not appear to have this functionality and Sun's maven-antrun-extended-plugin (which is supposed to supply this functionality) has so little documentation (that i could find) that i couldn't get it to work after an hour our so. - This version requires that BNFC, as an executable, be available on the path. Is there a blessed way to handle this sort of dependency? - i've got a hare-brained scheme that will fix this -- a meta-compiler-compiler from BNFC's input format to ANTLR's. i could include such a transform as a part of the project or a dependency and test for the availability of BNFC and fall back to ANTLR if it's not available. If anybody wanted to give this round of updates a whirl, even give me a code review, i would be very grateful. 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 --~--~-~--~~~---~--~~ 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 and interoperability
Glenn, i'm not sure i've understood your concern. Are you saying that - web requests - lift are easy, but - lift - other services (web or otherwise) are hard? The latter direction is remarkably easy. Lift rests on top of Scala, Scala seamlessly interops with Java. So, anything you can do in Java you can do in Scala and therefore in Lift. Again, i may have misunderstood, but if there's a class or jar in GWT that you like, you can pretty much just use it (modulo hassles associated with dragging in its dependencies). You might want to look at DPP's longtime lift example where he puts together a comet-based actor framework in which you can handle potentially long-latency requests to some remote service -- using whatever transport + message formatting packaging you want (for which there are tons and tons of Java implementations that you can use out of the box). If you want some higher-level function or interaction method, maybe you could restate your concern. i think i'm still not getting it. Best wishes, --greg On Wed, May 13, 2009 at 10:39 PM, glenn gl...@exmbly.com wrote: I appreciate all the comments on lift and interoperability. What I'm hearing is that if an integration can be done in a plain old Java EE application, it can be done in lift. I never doubted that. It's just that I was hoping for a little transparency when it comes to resource management. If I want to grab a resource outside the lift application context, do I write plain html, Java EE code, lift code, or a hybrid? I can use an action attribute on an html form to submit a request to any URL, but I can't do that in a lift form template. Lift has api's to construct and process JSON and ATOM formats and even has REST methods to process them, but only if you plan on talking to yourself. I think a lift implementation of something like Ryan Dewsbury's JSONRequest class, in Google Web Toolkit Applications, would help. On May 11, 9:59 pm, Meredith Gregory lgreg.mered...@gmail.com wrote: Glen, i've done some really hare-brained integrations -- like chaining the Lift filter with the Jersey filter -- and a bunch of other stuff. Between Lift's architecture and Scala's brilliant interop with Java, it's definitely my weapon of choice for integration projects. That said, i would really be interested to know what sort of integration you're having difficulty with -- even if it's only a gedanken experiment that seems to be problematic. Chances are, if you're running into a problem, we're likely to run into it, or already have. Either way, it would be beneficial for all to find a soln. Best wishes, --greg On Mon, May 11, 2009 at 3:45 PM, Timothy Perrett timo...@getintheloop.eu wrote: Could agree more with Alex - I too have done some pretty sophisticated integrations with 3rd party systems and at every stage I found the life-cycle hooks into lift very rich and completely empowering. Cheers, Tim On May 11, 11:31 pm, Alex Boisvert boisv...@intalio.com wrote: Hi Glenn, I don't understand where you're coming from either... I've integrated Lift with a different persistence layer (home-grown), another authentication system (Tempo RBAC), integrated it with existing Java libraries and Spring MVC components without trouble. So far, I haven't run into a situation where Lift got in the way of integration. The fact that Lift uses all the standard servlet APIs made it easy to simply add it to an existing app and even reuse session state / cookies from existing apps. I can see how Lift can be different from what you're used to, but I don't see how Lift gets in the way of integrating with legacy apps. My 2 cents... alex On Mon, May 11, 2009 at 1:06 PM, glenn gl...@exmbly.com wrote: Just some observations from a struggling lift user... Yes, I see it's utility in delivering dynamic html to the browser. But in today's world of rapidly evolving technologies for mashups and flex- like richness and gadgetization, interoperability is the key to adoption in the enterprise. It's not enough to say you can selectively rewrite your legacy apps in lift. Lift, out of the box, is still another technology for building monolithing web apps (war files). Not the best stategy. I find the keepers of the code, in response to numerous postings on this site, suffer from NIH anxiety and easily dismiss interoperability with other frameworks, either because they believe they have a superior implementation, so why use someone else's, or, if you really feel you need it, roll your own. My response to that is, it just doesn't work that way. The best technologies are not just agnostic on the issue of interoperability, they embrace pluggability, and let the developer community choose the winners and losers. Lift
[Lift] Re: Lift and interoperability
Glenn, On Wed, May 13, 2009 at 10:39 PM, glenn gl...@exmbly.com wrote: I appreciate all the comments on lift and interoperability. What I'm hearing is that if an integration can be done in a plain old Java EE application, it can be done in lift. I never doubted that. It's just that I was hoping for a little transparency when it comes to resource management. What resources are you looking to manage. Your original post lacked specifics as does this one. What is it that you want to do that you cannot (1) do with Lift or (2) do with some other JVM library because Lift is getting in your way? If I want to grab a resource outside the lift application context, do I write plain html, Java EE code, lift code, or a hybrid? What kind of resource do you want to grab? A database? An HTTP exposed service? In general, Lift is about servicing (responding to) HTTP requests, not about making them. There's nothing in Lift that I know of that impairs your ability to use other libraries to access external services. But, Lift is primarily about servicing, not making, HTTP requests. I can use an action attribute on an html form to submit a request to any URL, but I can't do that in a lift form template. This is just wrong. First, there's no such thing as a Lift form template. Lift's templating mechanism is a generic system for re-writing XML documents. There's no limit on how that re-writing can happen. What kind of re-writing do you want to do? How do you want the XML to appear? What kind of substitution do you want to make from a generic template into what is rendered to the browser? Lift has api's to construct and process JSON and ATOM formats and even has REST methods to process them, but only if you plan on talking to yourself. What does this mean? What does talking to yourself mean? I think a lift implementation of something like Ryan Dewsbury's JSONRequest class, This is a JavaScript class that operates on the client side (in the browser). There's nothing that bars you from using this class in your Lift-based application. If you are suggesting a Scala-based JSON request generator so that you can make JSON requests on external services, there are plenty of Java-based classes that do this and there's been no demand to writing a wrapper for one of these in Scala and include it with Lift. Once again, Lift is primarily concerned with servicing HTTP requests, not making them. in Google Web Toolkit Applications, GWT is a client-side technology, not a server-side technology. You can use GWT-based clients as front ends to Lift-based applications. As Marius said, be specific about what you want and why (you've seen the kind of support you've been getting related to the menu items... find me another framework team that adds features with a day or two turn-around when the feature is concrete). Continuing to be non-specific or just plain wrong is not helping your case. David would help. On May 11, 9:59 pm, Meredith Gregory lgreg.mered...@gmail.com wrote: Glen, i've done some really hare-brained integrations -- like chaining the Lift filter with the Jersey filter -- and a bunch of other stuff. Between Lift's architecture and Scala's brilliant interop with Java, it's definitely my weapon of choice for integration projects. That said, i would really be interested to know what sort of integration you're having difficulty with -- even if it's only a gedanken experiment that seems to be problematic. Chances are, if you're running into a problem, we're likely to run into it, or already have. Either way, it would be beneficial for all to find a soln. Best wishes, --greg On Mon, May 11, 2009 at 3:45 PM, Timothy Perrett timo...@getintheloop.eu wrote: Could agree more with Alex - I too have done some pretty sophisticated integrations with 3rd party systems and at every stage I found the life-cycle hooks into lift very rich and completely empowering. Cheers, Tim On May 11, 11:31 pm, Alex Boisvert boisv...@intalio.com wrote: Hi Glenn, I don't understand where you're coming from either... I've integrated Lift with a different persistence layer (home-grown), another authentication system (Tempo RBAC), integrated it with existing Java libraries and Spring MVC components without trouble. So far, I haven't run into a situation where Lift got in the way of integration. The fact that Lift uses all the standard servlet APIs made it easy to simply add it to an existing app and even reuse session state / cookies from existing apps. I can see how Lift can be different from what you're used to, but I don't see how Lift gets in the way of integrating with legacy apps. My 2 cents... alex On Mon, May 11, 2009 at 1:06 PM, glenn gl...@exmbly.com wrote: Just some observations from a struggling lift user... Yes, I see it's
[Lift] Re: Lift and interoperability
I've been hammered on this matter and I accept the results and learned some things in the process. In the end, what we end up with is a Java EE web application, with all the good and all the baggage that entails, and I rather like lift's templating strategy and out-of-the-box persistence capability . I'm working on integrating with an ATOM server and if I run into some difficulties, I'll post them. Over and out. On May 14, 1:45 pm, marius d. marius.dan...@gmail.com wrote: If you think that Lift does not provide enough support for what you are trying to do please be more specific otherwise you are risking to not be taken seriously and that would be a shame ... On May 14, 8:39 am, glenn gl...@exmbly.com wrote: I appreciate all the comments on lift and interoperability. What I'm hearing is that if an integration can be done in a plain old Java EE application, it can be done in lift. I never doubted that. It's just that I was hoping for a little transparency when it comes to resource management. If I want to grab a resource outside the lift application context, do I write plain html, Java EE code, lift code, or a hybrid? I can use an action attribute on an html form to submit a request to any URL, but I can't do that in a lift form template. What you mean you can't do that? ... If you want to subnit forms to outside of the Lift app you can do that. You can even tell Lift what request should not be processed by Lift but passed along to the filter chain. Lift has api's to construct and process JSON and ATOM formats and even has REST methods to process them, but only if you plan on talking to yourself. I don't think this is true. Please provide a concrete example of what you can not do with Lift. I think a lift implementation of something like Ryan Dewsbury's JSONRequest class, in Google Web Toolkit Applications, would help. On May 11, 9:59 pm, Meredith Gregory lgreg.mered...@gmail.com wrote: Glen, i've done some really hare-brained integrations -- like chaining the Lift filter with the Jersey filter -- and a bunch of other stuff. Between Lift's architecture and Scala's brilliant interop with Java, it's definitely my weapon of choice for integration projects. That said, i would really be interested to know what sort of integration you're having difficulty with -- even if it's only a gedanken experiment that seems to be problematic. Chances are, if you're running into a problem, we're likely to run into it, or already have. Either way, it would be beneficial for all to find a soln. Best wishes, --greg On Mon, May 11, 2009 at 3:45 PM, Timothy Perrett timo...@getintheloop.euwrote: Could agree more with Alex - I too have done some pretty sophisticated integrations with 3rd party systems and at every stage I found the life-cycle hooks into lift very rich and completely empowering. Cheers, Tim On May 11, 11:31 pm, Alex Boisvert boisv...@intalio.com wrote: Hi Glenn, I don't understand where you're coming from either... I've integrated Lift with a different persistence layer (home-grown), another authentication system (Tempo RBAC), integrated it with existing Java libraries and Spring MVC components without trouble. So far, I haven't run into a situation where Lift got in the way of integration. The fact that Lift uses all the standard servlet APIs made it easy to simply add it to an existing app and even reuse session state / cookies from existing apps. I can see how Lift can be different from what you're used to, but I don't see how Lift gets in the way of integrating with legacy apps. My 2 cents... alex On Mon, May 11, 2009 at 1:06 PM, glenn gl...@exmbly.com wrote: Just some observations from a struggling lift user... Yes, I see it's utility in delivering dynamic html to the browser. But in today's world of rapidly evolving technologies for mashups and flex- like richness and gadgetization, interoperability is the key to adoption in the enterprise. It's not enough to say you can selectively rewrite your legacy apps in lift. Lift, out of the box, is still another technology for building monolithing web apps (war files). Not the best stategy. I find the keepers of the code, in response to numerous postings on this site, suffer from NIH anxiety and easily dismiss interoperability with other frameworks, either because they believe they have a superior implementation, so why use someone else's, or, if you really feel you need it, roll your own. My response to that is, it just doesn't work that way. The best technologies are not just agnostic on the issue of interoperability, they embrace pluggability, and let the developer
[Lift] Re: Trouble with lift, GAE, JPA, adding child records
In any case, how would I handle transactions manually? An SHtml.hidden before and after every form? It's confusing because SHtml lumps the get and set side by side when they happen in two different requests and the entity needs to be reloaded in between. In any case, GAE seems to require tighter control of transactions because two entity groups can't be modified (accessed?) in one transaction. --~--~-~--~~~---~--~~ 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: Trouble with lift, GAE, JPA, adding child records
In any case, how would I handle transactions manually? An SHtml.hidden before and after every form? It's confusing because SHtml lumps the get and set side by side when they happen in two different requests and the entity needs to be reloaded in between. In any case, GAE seems to require tighter control of transactions because two entity groups can't be modified (accessed?) in one transaction. --~--~-~--~~~---~--~~ 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: Trouble with lift, GAE, JPA, adding child records
In any case, how would I handle transactions manually? An SHtml.hidden before and after every form? It's confusing because SHtml lumps the get and set side by side when they happen in two different requests and the entity needs to be reloaded in between. In any case, GAE seems to require tighter control of transactions because two entity groups can't be modified (accessed?) in one transaction. --~--~-~--~~~---~--~~ 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 and interoperability
Glenn, I read with interest your mail below - to clarify, you've not been hammered by anyone... The lift comunity is a welcoming one and at no point would any member of the commit team shout down someone else - that's just not the way we roll. You expressed a viewpoint, and 4 seperate members of the team replied asking for various things to properly answer your mostly vauge question / comments. You chose to not answer these questions in a sucinct way which is why I suspect you feel hammered because people are just becoming a little frustrated with this thread... As a general rule, were really pleased when people come to the comunity and say something like XYZ feature is whack, it should do ABC - Lift simply wouldn't be what it is today if that didn't happen. However, coming on list and saying something like lift is difficult to integrate and provide no clarity or justification is, well, somewhat difficult and not overly helpfull - you won't get the answers you seek and everyone else just gets more email landing in there inbox :-) If you have a genuine hurdle, post a message, with relevant details, and you'll get a prompt and informative reply from either a lift team member or one of the great folks from the comunity at large. My suggestion to you: spend some time *really* getting to know lift, then perhaps re-visit this thread at a later date if you still feel the need to. Cheers, Tim Sent from my iPhone On 14 May 2009, at 22:08, glenn gl...@exmbly.com wrote: I've been hammered on this matter and I accept the results and learned some things in the process. In the end, what we end up with is a Java EE web application, with all the good and all the baggage that entails, and I rather like lift's templating strategy and out-of-the-box persistence capability . I'm working on integrating with an ATOM server and if I run into some difficulties, I'll post them. Over and out. On May 14, 1:45 pm, marius d. marius.dan...@gmail.com wrote: If you think that Lift does not provide enough support for what you are trying to do please be more specific otherwise you are risking to not be taken seriously and that would be a shame ... On May 14, 8:39 am, glenn gl...@exmbly.com wrote: I appreciate all the comments on lift and interoperability. What I'm hearing is that if an integration can be done in a plain old Java EE application, it can be done in lift. I never doubted that. It's just that I was hoping for a little transparency when it comes to resource management. If I want to grab a resource outside the lift application context, do I write plain html, Java EE code, lift code, or a hybrid? I can use an action attribute on an html form to submit a request to any URL, but I can't do that in a lift form template. What you mean you can't do that? ... If you want to subnit forms to outside of the Lift app you can do that. You can even tell Lift what request should not be processed by Lift but passed along to the filter chain. Lift has api's to construct and process JSON and ATOM formats and even has REST methods to process them, but only if you plan on talking to yourself. --~--~-~--~~~---~--~~ 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: Menu access control not working as expected
David, I changed default html in your menu example a bit and the results were similar to using LocGroup - the menu item won't display. here's the change: div class=column span-6 colborder sidebar hr class=space / !-- lift:Menu.builder /-- lift:Menu.item name=Fake liFake Out/li /lift:Menu.item div lift:snippet type=msgs/ hr class=space / /div /div It seems this only works if you stick to outputting the full menu in your templates with lift:Menu.builder/. Anything else and it's broken. Glenn... On May 14, 7:31 am, glenn gl...@exmbly.com wrote: David, Your sample app works. Mine doesn't. I even put your sample Menu item in my app, but in it's own LocGroup, and it does not work. It seems the only difference is that I'm separating my menus into groups. Could that be the culprit? Glenn... On May 13, 9:27 pm, David Pollak feeder.of.the.be...@gmail.com wrote: Glenn, Sorry... there was a bug in the code. I've fixed it. It'll be available when this build finishes:http://hudson.scala-tools.org/job/Lift/949/console Please remember to do an mvn -U clean install I'm enclosing the sample app that I used to test. Please note that you should only return Full(LiftResponse) if you want to redirect... not if you want to stay on the page. Thanks, David On Wed, May 13, 2009 at 8:51 PM, glenn gl...@exmbly.com wrote: David, Moving CRUDify to the object fixed the compiler error. However, back on the original menu issue, using TestAccess, as you suggest, still did not work as expected. The menu item doesn't display. Maybe I'm missing something important. Sorry to be a bother, but hope you can help. Here's my menu code: def logged:Box[LiftResponse] = if(User.loggedIn_?){ Full(RedirectResponse(/Login)) }else{ Full(PlainTextResponse(No such location)) } val testLogin = TestAccess(() = logged) override def deleteMenuLoc = Empty override def createMenuLoc: Box[Menu] = Full(Menu(Loc(Create +Prefix, createPath, Continue..., locSnippets, LocGroup(company), testLogin, Loc.Template(createTemplate On May 13, 4:03 pm, David Pollak feeder.of.the.be...@gmail.com wrote: On Wed, May 13, 2009 at 3:30 PM, glenn gl...@exmbly.com wrote: Thanks for the heads-up on the 1.1-SNAPSHOT version, but now, when I compile, I get errors. I don't think this has anything to do with menu redirection, but, I have a Company class defined like so: CRUDify should be mixed into the Meta object not into th instance class. In this case, move CRUDify to object Company. This was the original intent with CRUDify, but I did not put the proper constraints on it in 1.0... I fixed that up in 1.1. class Company extends LongKeyedMapper[Company] with Address[Company] with IdPK with CRUDify[Long,Company] { ... } And, this is what my compiler output tells me: illegal inheritance; self-type com.exmbly.scala.apbul.model.Company does not conform to net.liftweb.mapper.CRUDify [Long,com.exmbly.scala.apbul.model.Company]'s selftype net.liftweb.mapper.CRUDify [Long,com.exmbly.scala.apbul.model.Company] with com.exmbly.scala.apbul.model.Company with net.liftweb.mapper.KeyedMetaMapper [Long,com.exmbly.scala.apbul.model.Company] Was something changed in the definition of Crudify? What do I need to change in my code? The error is a bit confusing. Glenn... On May 13, 2:58 pm, David Pollak feeder.of.the.be...@gmail.com wrote: On Wed, May 13, 2009 at 2:19 PM, glenn gl...@exmbly.com wrote: David, Pardon my ignorance, but I see a Test case class in the Lift 1.0 api for Loc, but not TestAccess, which seems similar. I added TestAccess to 1.1-SNAPSHOT last night. It's possible to write something in 1.0, but it's a lot harder... basically, you have to write a Snippet and do a custom LocParam. Most of us are on 1.1-SNAPSHOT and the sites I deploy are on 1.1-SNAPSHOT and there hasn't been an instability due to working on trunk-head that I've seen. Glenn... On May 13, 6:58 am, David Pollak feeder.of.the.be...@gmail.com wrote: Glenn, I've added another Loc param: /** * Allows extra access testing for a given menu location such that * you can build a menu that is displayed but redirects the user to a login * page if they are not logged in */ case class TestAccess(func: () = Box[LiftResponse]) extends LocParam This will let you write a function that tests access for the page and return a RedirectResponse if the user needs to log in. It will not
[Lift] Re: Jetty Session problem
Hi: It just happened once so I cannot tell exactly the reason. However from the logs it seems there is a wierd GET command with jsession id, while most of the commands aren't. Proxy Server? Is it in my configuration ? Or just they use the same proxy server?? And may I ask if I can disable the jsession id in the GET command to force them to use cookies? 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] Schedule for 1.1
Hi, I am about to use Lift for a new project and I wonder whether I should use 1.0 or go for 1.1. Any ideas when 1.1 will be released? And what about the record framework? Is it production ready yet or in near future? Thanx Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---