[Lift] Re: Conversation Context

2009-01-23 Thread Marius



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

2009-01-23 Thread Meredith Gregory
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

2009-01-23 Thread David Pollak
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*

2009-01-23 Thread David Pollak
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

2009-01-23 Thread Charles F. Munat

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
-~--~~~~--~~--~--~---