[Lift] Re: Conversation Context
On Jan 22, 8:31 pm, Bryan germ...@gmail.com wrote: Hi Marius, I would like the conversations contained within each tab. If I were to use just a Session variable then the user's state/data would collide and therefore cause unexpected behavior. It would not if you use different SessionVar for each context of yours. This link does a better job of describing how conversations solve this problem: http://www.informit.com/content/images/9780131347960/samplechapter/01 Thanks, Bryan On Jan 22, 12:29 pm, Marius marius.dan...@gmail.com wrote: The conversation context could be kept in a SessionVar. When your context terminates (say user clicked a button). You can attach a cleanUp function to the SessionVar (see registerCleanupFunc) so when your context terminates you can just call remove() on your SessionVar Would that help or I'm just misunderstanding your case? Br's, Marius On Jan 22, 6:24 pm, Bryan germ...@gmail.com wrote: Does lift offer conversation contexts? If so, could someone provide me with an example. I am not sure if conversation context is the proper term, but I am using this term as it is used by JBoss Seam. A partial description would be an approach that allows state to be scoped to a unit of work and automatically handles memory cleanup when a conversation is no longer in use. This would allow users to work in multiple tabs. Keeping the back button working during this process would be a *huge* plus. Thanks, Bryan --~--~-~--~~~---~--~~ 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] web logic
David, i just noticed this paragraph. Perhaps some sort of pi-calculus based way of describing web app logic would allow for better reasoning. I've noodled with doing some sort of stuff with pi-calculus in Lift. I stopped the exploration because I was unable to find reasonable language constructs to express what I wanted economically and in a way that a Rails or Struts or Wicket developer could pick up reasonably easily. But, I digress. i would have to agree with this assessment. The pi-calculus is a formal device. Just like the lambda calculus, it's a stripped down, minimal expression of some intuitions about computation (in pi's case, it's computation as interaction). That said, in the same way that lambda provides excellent guidance -- a blueprint, if you will -- for the basic design of languages like, Lisp, Scheme, OCaml, F#, Haskell and Scala, one might hope that the pi-calculus could provide some guidance or a blueprint for a new family of languages that is better suited to computing in a highly parallel, highly distributed setting, such as the web applications powered up on networks of racks and racks of multicore processors. Some examples of languages following largely similar intuitions as expressed in the pi-calculus include Erlang, Rosette and the actor sublanguage of Scala. People have already given a pi-calculus semantics to core Erlang. My PhD work was driven by my desire to give a similar account of Rosette. It took forever for me to work out a reasonable account of reflection -- which was a key feature of Rosette that i put to use in commercial, mission-critical applications. All that said, i would, and i think the whole community would also benefit from your experience and intuitions regarding what sort of language features have helped you and what didn't work out so well. Best wishes, --greg -- L.G. Meredith Managing Partner Biosimilarity LLC 806 55th St NE Seattle, WA 98105 +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: web logic
On Fri, Jan 23, 2009 at 9:29 AM, Meredith Gregory lgreg.mered...@gmail.comwrote: David, i just noticed this paragraph. Perhaps some sort of pi-calculus based way of describing web app logic would allow for better reasoning. I've noodled with doing some sort of stuff with pi-calculus in Lift. I stopped the exploration because I was unable to find reasonable language constructs to express what I wanted economically and in a way that a Rails or Struts or Wicket developer could pick up reasonably easily. But, I digress. i would have to agree with this assessment. The pi-calculus is a formal device. Just like the lambda calculus, it's a stripped down, minimal expression of some intuitions about computation (in pi's case, it's computation as interaction). That said, in the same way that lambda provides excellent guidance -- a blueprint, if you will -- for the basic design of languages like, Lisp, Scheme, OCaml, F#, Haskell and Scala, one might hope that the pi-calculus could provide some guidance or a blueprint for a new family of languages that is better suited to computing in a highly parallel, highly distributed setting, such as the web applications powered up on networks of racks and racks of multicore processors. Some examples of languages following largely similar intuitions as expressed in the pi-calculus include Erlang, Rosette and the actor sublanguage of Scala. People have already given a pi-calculus semantics to core Erlang. My PhD work was driven by my desire to give a similar account of Rosette. It took forever for me to work out a reasonable account of reflection -- which was a key feature of Rosette that i put to use in commercial, mission-critical applications. All that said, i would, and i think the whole community would also benefit from your experience and intuitions regarding what sort of language features have helped you and what didn't work out so well. I'm putting together a presentation for QCon that will trace Scala language features to Lift features. As with all my presentations, it will be available in the presentations directory at http://github.com/dpp/lift-samples/tree/master Best wishes, --greg -- L.G. Meredith Managing Partner Biosimilarity LLC 806 55th St NE Seattle, WA 98105 +1 206.650.3740 http://biosimilarity.blogspot.com -- Lift, the simply functional web framework http://liftweb.net Collaborative Task Management http://much4.us 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] *Breaking Change*
Folks, I changed the return type of S.ajaxCall to (String, JsExp). I'm in the process of adding function garbage collection to Lift. This means that Lift will know what functions exist on all the pages associated with the current session. Lift will remove any server-side functions that are not referenced on pages. In order to know what is on the pages, everything that has a function associated with it must also have the attribute lift:gc=... in the tag. That way, Lift can scrape the page and figure out what functions are currently referenced on the page. ajaxCall must return not only the javascript, but also the function name so that the name can be included in the tag. Thanks, David -- Lift, the simply functional web framework http://liftweb.net Collaborative Task Management http://much4.us 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: Still confused about redirects
Thanks! That helps. I'll try to figure it out. Chas. Marius wrote: LiftRules.prepend.dispatch is the right way. You pattern-match for *.html and return a PermRedirectResponse. Br's, Marius On Jan 23, 3:05 am, Charles F. Munat c...@munat.com wrote: I'm trying to do something dead simple, so it's impossible, of course. I have some legacy pages that don't exist anymore, and I want to send permanent (301) redirects to the browser. For example: Redirect permanent /thebook.htmlhttp://mysite.com/the_book/ The above should work in my vhosts.d conf file, but, of course, it doesn't. Have tried it 50 ways. Searched for information about how to do redirects in Jetty: no joy. David gave me a hint some time ago using LiftRules.prepend.dispatch, but I'm too stupid to understand it. What I *really* want is for any request to any *.html page NOT index.html to go to the home page. Or, I'd be happy to just provide a list of from and to paths and have some code that does the redirects. This seems like a useful feature since my Lift sites will often replace legacy sites and it would be nice to be able to set up a list of old page - new page and just have the redirects go out (maybe with the option of permanent or temporary). Anyone know how to do this that can explain it in kindergarten terms? My brain is really fried today. Thanks! Chas. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---