[Lift] take a lift to the opera for a better performance?

2009-06-18 Thread Meredith Gregory
Lifted,

Has anyone played with Opera's Unite? i tried it out, today and was
disappointed by the performance of their chat service/lounge. i was running
over a network that is notoriously slow, but google chat between yvr and sfo
was beating the pants off what i was getting from the machine to itself
opera - safari.

i was wondering if it might be possible to inject lift into the opera mix at
a level where you might see some performance improvement. As it stands,
their out of the box perf is so bad i can't believe they released when they
did. i think it will hurt adoption.

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: QA, before merging code

2009-06-18 Thread marius d.

Oliver thanks for raising this flag. I'll try to look later on today
one more time at the code as I'm not sure I fully understand the
principles of your addition. I remember doing some comments on the
topic but haven't looked on your code for a while.

Are you willing to have a quick chat on it ?


Br's,
Marius

On Jun 18, 3:00 am, Oliver Lambert olambo...@gmail.com wrote:
 Hi,

 Seems theres been a little bit of discussion about methodologies of coding
 and development processes in the latest threads which is cool
 and makes me think about my current coding efforts.

 I created a branch a while ago where I put in my take on a slightly
 alternative (or complementary?) binding process (the particular code
 adds a bind by name to BindHelpers). I was hoping for some feedback from a
 few of you (David, Marius, and anyone else) before
 merging it back with the main site, as I feel what I have done might be
 contentious and I don't want to cause any problems.

 Whats the normal process of committing changes. Is the code QA'ed in some
 way or do I just do it,and wait for people to say #!.

 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: scalajpa - while accessing two distincts databases, the second access is made with a connection to the first database

2009-06-18 Thread Viktor Klang
I yield to your superiority.
Seriously.

2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 Objects and monads are really not the same. At it's heart the concept of
 monad is an appropriately parametric notion of composition. If you have any
 experience with abstract algebra, you might recognize that the notion of a
 group http://en.wikipedia.org/wiki/Symmetry_group is an appropriately
 parametric notion of symmetry. Groups give an exceptionally well abstracted
 account of symmetry. Monads give an exceptionally well abstracted notion of
 composition. This is a lot easier to see in the Category Theoretic
 presentation.

 A monad http://en.wikipedia.org/wiki/Monad_%28category_theory%29 is
 presented by three pieces of data:

- An endofunctor http://en.wikipedia.org/wiki/Functor M : C - C
(intuitively, think of M as a parametric type constructor and C as the
universe of types and maps)
- A natural 
 transformationhttp://en.wikipedia.org/wiki/Natural_transformationunit: Id 
 - M -- this is a higher-order critter: it takes maps to maps; but
i'll give you a metaphor in just a moment.
- A natural transformation mult: M^2 - M

 One picture you can have in your mind is M is a kind of box factory. Then
 unit says how you can put things into a box, and mult says how you can
 flatten nested boxes into an ordinary box (this is the origins of flatMap in
 Scala's presentation). Another way of understanding this is that M is a kind
 of higher-order compositor, i.e. a way of combining things just like
 multiplication, as in a*b, is a way of combining things. Then the unit is
 the analog of having a unit for your multiplication and mult is the analog
 of an associativity law ( a*(b*c) = (a*b)*c ). These line up with the box
 analogy more easily if you write things with prefix notation instead of
 infix notation.

- Let's write {*| a, b |*} instead of a*b. The reason we adopt this
more verbose notation is that we can note the different kind of boxes with
the 'color' of the braces. M-colored braces, {M| a, b |M}, are associated
with an M-box.
- Then unit( a ) = {M| a |M}, it puts a in an M-box. This has an
alternate presentation of the form {M| |M}.{M| a |M} = {M| a |M}. i mention
it to point out the analogy with the binary operation _*_, but it muddies
the water a little with begging the question about the _._. So, i will just
leave it -- without explanation -- for you to explore.
- And mult( {M| {M| a11, ..., a1J |M} ... {M| aI1, ... aIJ' |M} |M} ) =
{M| a11, ..., aIJ' |M}. It tells you how to canonically flatten M-boxes.
This functions as an association because if boxes canonically flatten, then
{M| a, {M| b, c |M} |M} = {M| a, b, c |M} = {M| {M| a, b |M}, c |M}.


 The apparent lexical connection between this way of thinking about things
 and XML *is not accidental*. Monads can be viewed as colored braces, aka
 matched tags. Monads are a semantical creature that presents syntactically
 like XML.

 This way of thinking about things is really different from objects. To be
 sure, there are notions of objects that are universal and so can be made to
 fit or encode just about anything; but, that doesn't mean the encodings are
 nice, or scalable or maintainable. You have only to to look at something
 like LINQ -- which is really just a presentation of monads -- to see just
 how flexible and yet compact the monadic way of structuring composition is.
 Specifically, both set-comprehension notation and SELECT-FROM-WHERE, when
 interpreted polymorphically, provide a natural representation of the monad.

- { pattern | t1 - generator1, ..., tn - generatorN, constraint1,
..., constraintK }
- SELECT pattern FROM generator WHERE constraint

 Those to pieces of computational machinery have very simple, and natural
 mappings to the monad operations. You will win if you work these out for
 yourself. Phil Wadler has excellent papers to provide cheat sheets. The
 Scala for-comprehension and the corresponding operations of map, flatMap and
 filter are also excellent cheat sheets. But, you get the joy if you work
 this out for yourself.

 Best wishes,

 --greg

 2009/6/17 Oliver Lambert olambo...@gmail.com



 2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 The short answer is no. The longer answer is

- i worked this all out on my own; so, you guys -- who can program
lift on top of scala on top of JVM and are therefore about 20X smarter 
 than
i am -- can too.

 I think if we were all 20X (or 2X) smarter than you, we would have taken
 over Google by now.


- And also, help is always available, if there is something specific
you don't understand, let me know and i will do my best to convey it to 
 you.

 As suggested by another kind person, I may have to start by going back to
 (an American?) school.

 Heres a question, why should I care about Monad's when they are already in
 OO, just not called Monads?



  

[Lift] Lift and Goat Rodeo

2009-06-18 Thread David Pollak
Folks,

At the end of the Scala Lift Off, after I finished my third beer, Martin
Odersky came over to me and asked, so, what's the future of Lift?

I gave a hand-waving answer about the features for 1.1.  But Martin is not a
hand-waving kind of guy and I think I owe him and the other folks in the
Scala and Lift communities more.

There's a lot more that's necessary for web app development than Lift, an
abstraction to the HTTP request/response cycle, can provide.

Over the last couple of years, I've been noticing trends in web development,
in the needs of my various consulting gigs, and in some other projects.
It's clear to me that it's time for a unified data and data management model
that goes beyond OR mapping and that is scalably transactional.  I've put
together a model that looks to the developer like STM but is backed with
ZooKeeper and Cassandra.  I've blogged about it at
http://blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-Such.html

Just as my web framework manifesto was the genesis of what has become Lift,
I hope that my notions and ramblings in this blog post will become concrete,
usable code over the next few months and a solid platform for building the
next generation of web systems over the next few years... all built with
Scala at their core.

Thanks,

David

-- 
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: Lift and Goat Rodeo

2009-06-18 Thread fan...@gmail.com

David Pollak a écrit :
 Folks,
 
[...]

 Over the last couple of years, I've been noticing trends in web 
 development, in the needs of my various consulting gigs, and in some 
 other projects.  It's clear to me that it's time for a unified data and 
 data management model that goes beyond OR mapping and that is scalably 
 transactional.  I've put together a model that looks to the developer 
 like STM but is backed with ZooKeeper and Cassandra.  I've blogged about 
 it at 
 http://blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-Such.html
 
 Just as my web framework manifesto was the genesis of what has become 
 Lift, I hope that my notions and ramblings in this blog post will become 
 concrete, usable code over the next few months and a solid platform for 
 building the next generation of web systems over the next few years... 
 all built with Scala at their core.
 

Wow :) I hope this project will be as successful as lift... Its goals 
seem great !

-- 
Francois Armand
http://fanf42.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 Goat Rodeo

2009-06-18 Thread Matt Williams

This sounds very exciting David, please ensure to keep us posted on any
developments.

This notion of Q's - is this the method by which actors will be
distributed (managed via zookeeper, i would assume)?

Any reference materials you can point me to further whet my appetite?

On Thu, 2009-06-18 at 00:19 -0700, David Pollak wrote:
 Folks,
 
 At the end of the Scala Lift Off, after I finished my third beer,
 Martin Odersky came over to me and asked, so, what's the future of
 Lift?
 
 I gave a hand-waving answer about the features for 1.1.  But Martin is
 not a hand-waving kind of guy and I think I owe him and the other
 folks in the Scala and Lift communities more.
 
 There's a lot more that's necessary for web app development than Lift,
 an abstraction to the HTTP request/response cycle, can provide.
 
 Over the last couple of years, I've been noticing trends in web
 development, in the needs of my various consulting gigs, and in some
 other projects.  It's clear to me that it's time for a unified data
 and data management model that goes beyond OR mapping and that is
 scalably transactional.  I've put together a model that looks to the
 developer like STM but is backed with ZooKeeper and Cassandra.  I've
 blogged about it at
 http://blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-Such.html
 
 Just as my web framework manifesto was the genesis of what has become
 Lift, I hope that my notions and ramblings in this blog post will
 become concrete, usable code over the next few months and a solid
 platform for building the next generation of web systems over the next
 few years... all built with Scala at their core.
 
 Thanks,
 
 David
 
 -- 
 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: Thoughts on separation of display from logic

2009-06-18 Thread Kevin Wright
How about this one then:

bind(nodeseq, prefix,
(suffix, node) - Text(this text replaced a prefix:suffix element)
);

On problem is it mucks up the Pair[String, () = NodeSeq] that bind expects,
not too pretty either.

One other solution I considered was an alternative overloaded version of
bind, something like:
bind(nodeseq, prefix){ Match(suffix) = Text(this text replaced a
prefix:suffix element),
node @ Match(suffix) = ... do something with the node, bindhelpers
not necessary
}

where Match is an extractor, possibly accepting XPath expressions


On Thu, Jun 18, 2009 at 12:29 AM, David Pollak 
feeder.of.the.be...@gmail.com wrote:

 Crud... adding xpathisms to bind... where will it end? :-)




 On Wed, Jun 17, 2009 at 3:41 PM, Kevin Wright 
 kev.lee.wri...@googlemail.com wrote:

 One possibility I already considered is something like:
 bind(nodeseq, prefix,
 suffix - Text(matched an element),
 @suffix - Text(matched an attribute),
 @suffix=value - Text(matched an attribute with specified value));

 the bindings here would respectively match the elements:

 prefix:suffixcontent/prefix:suffix
 span prefix:suffix=placeholdercontent/span
 span prefix:suffix=valuecontent/span

 Use of the span elements above was an arbitrary choice

 What's missing is an intuitive way to access the node that has been bound,
 especially if you only want to change the contents


 On Wed, Jun 17, 2009 at 10:19 PM, David Pollak 
 feeder.of.the.be...@gmail.com wrote:



 On Wed, Jun 17, 2009 at 2:07 PM, Kris Nuttycombe 
 kris.nuttyco...@gmail.com wrote:


 We'd still need some attribute to disambiguate in the case of multiple
 textarea tags, wouldn't we?


 I don't think so. The only NodeSeq being passed to the function is the
 NodeSeq inside the tag that's getting bound to.



 Kris

 On Wed, Jun 17, 2009 at 2:51 PM, David
 Pollakfeeder.of.the.be...@gmail.com wrote:
  I can see a set of methods that look like:
  textarea(f: String = Unit)(n: NodeSeq) that will slurp the values and
  attributes out of the NodeSeq... so you'd bind like:
  biography - textarea(s = setBio(s)) _
 
  On Wed, Jun 17, 2009 at 10:22 AM, Matt Williams m...@makeable.co.uk
 wrote:
 
  I wholeheartedly agree with the philosophy of separating the display
  from the program logic, and am currently getting to grips with the
  generators, but am finding that now I end up with a degree of markup
  within my code.
 
  Can you think of any caveats to infering the node type passed, and
  dynamically using the relevant generators to construct the returned
  node.
 
  I am thinking something along the lines of:
 
  person:biography
  textarea style=myStyle cols=20 rows=5
  This is a sample of some biography text
  /textarea
  /person:biography
 
  Where it would automatically infer that it is a textarea, pass
 through
  the relevant attributes, and insert whatever function, values, etc I
  have specified in my snippet.
 
  What are your thoughts on this?
 
  Brgds,
 
  Matt
 
 
 
 
 
 
  --
  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
 
  
 





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








 --
 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: Lift and Goat Rodeo

2009-06-18 Thread Narayanaswamy, Mohan
David,
 
Amazing, I love your PASSION. 
 
All the best.
 
Mohan



From: liftweb@googlegroups.com [mailto:lift...@googlegroups.com] On
Behalf Of David Pollak
Sent: 18 June 2009 15:20
To: David Pollak
Subject: [Lift] Lift and Goat Rodeo


Folks,

At the end of the Scala Lift Off, after I finished my third beer, Martin
Odersky came over to me and asked, so, what's the future of Lift?

I gave a hand-waving answer about the features for 1.1.  But Martin is
not a hand-waving kind of guy and I think I owe him and the other folks
in the Scala and Lift communities more.

There's a lot more that's necessary for web app development than Lift,
an abstraction to the HTTP request/response cycle, can provide.

Over the last couple of years, I've been noticing trends in web
development, in the needs of my various consulting gigs, and in some
other projects.  It's clear to me that it's time for a unified data and
data management model that goes beyond OR mapping and that is scalably
transactional.  I've put together a model that looks to the developer
like STM but is backed with ZooKeeper and Cassandra.  I've blogged about
it at
http://blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-Suc
h.html

Just as my web framework manifesto was the genesis of what has become
Lift, I hope that my notions and ramblings in this blog post will become
concrete, usable code over the next few months and a solid platform for
building the next generation of web systems over the next few years...
all built with Scala at their core.

Thanks,

David

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




==
Please access the attached hyperlink for an important electronic communications 
disclaimer: 

http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
==

--~--~-~--~~~---~--~~
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: Thoughts on separation of display from logic

2009-06-18 Thread Kevin Wright
Ignore that first one, it makes no sense, really not sure what I was
thinking there...

On Thu, Jun 18, 2009 at 10:25 AM, Kevin Wright 
kev.lee.wri...@googlemail.com wrote:

 How about this one then:

 bind(nodeseq, prefix,
 (suffix, node) - Text(this text replaced a prefix:suffix element)
 );

 On problem is it mucks up the Pair[String, () = NodeSeq] that bind
 expects, not too pretty either.

 One other solution I considered was an alternative overloaded version of
 bind, something like:
 bind(nodeseq, prefix){ Match(suffix) = Text(this text replaced a
 prefix:suffix element),
 node @ Match(suffix) = ... do something with the node, bindhelpers
 not necessary
 }

 where Match is an extractor, possibly accepting XPath expressions



 On Thu, Jun 18, 2009 at 12:29 AM, David Pollak 
 feeder.of.the.be...@gmail.com wrote:

 Crud... adding xpathisms to bind... where will it end? :-)




 On Wed, Jun 17, 2009 at 3:41 PM, Kevin Wright 
 kev.lee.wri...@googlemail.com wrote:

 One possibility I already considered is something like:
 bind(nodeseq, prefix,
  suffix - Text(matched an element),
 @suffix - Text(matched an attribute),
 @suffix=value - Text(matched an attribute with specified
 value));

 the bindings here would respectively match the elements:

 prefix:suffixcontent/prefix:suffix
 span prefix:suffix=placeholdercontent/span
 span prefix:suffix=valuecontent/span

 Use of the span elements above was an arbitrary choice

 What's missing is an intuitive way to access the node that has been
 bound, especially if you only want to change the contents


 On Wed, Jun 17, 2009 at 10:19 PM, David Pollak 
 feeder.of.the.be...@gmail.com wrote:



 On Wed, Jun 17, 2009 at 2:07 PM, Kris Nuttycombe 
 kris.nuttyco...@gmail.com wrote:


 We'd still need some attribute to disambiguate in the case of multiple
 textarea tags, wouldn't we?


 I don't think so. The only NodeSeq being passed to the function is the
 NodeSeq inside the tag that's getting bound to.



 Kris

 On Wed, Jun 17, 2009 at 2:51 PM, David
 Pollakfeeder.of.the.be...@gmail.com wrote:
  I can see a set of methods that look like:
  textarea(f: String = Unit)(n: NodeSeq) that will slurp the values
 and
  attributes out of the NodeSeq... so you'd bind like:
  biography - textarea(s = setBio(s)) _
 
  On Wed, Jun 17, 2009 at 10:22 AM, Matt Williams m...@makeable.co.uk
 wrote:
 
  I wholeheartedly agree with the philosophy of separating the display
  from the program logic, and am currently getting to grips with the
  generators, but am finding that now I end up with a degree of markup
  within my code.
 
  Can you think of any caveats to infering the node type passed, and
  dynamically using the relevant generators to construct the returned
  node.
 
  I am thinking something along the lines of:
 
  person:biography
  textarea style=myStyle cols=20 rows=5
  This is a sample of some biography text
  /textarea
  /person:biography
 
  Where it would automatically infer that it is a textarea, pass
 through
  the relevant attributes, and insert whatever function, values, etc I
  have specified in my snippet.
 
  What are your thoughts on this?
 
  Brgds,
 
  Matt
 
 
 
 
 
 
  --
  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
 
  
 





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








 --
 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: Thoughts on separation of display from logic

2009-06-18 Thread Oliver Lambert
I modified the BindHelper in the branch, I am working on some time back to
allow automatic mixin binding by name.
If you have in your html
  input name=favourite:yourName size=20 maxlength=40/,
then it will accept in the snippet
  bind(favourite, xhtml, yourName - SHtml.text(show string, s =
setBio(s))
and output something like
   input name=38833747474# size=20 maxlength=40 value=show string/
if you include attributes in the snippets bind, that are already in the
html, it will substitute them

Is this something like what you are trying to achieve?

On Thu, Jun 18, 2009 at 6:51 AM, David Pollak feeder.of.the.be...@gmail.com
 wrote:

 I can see a set of methods that look like:
 textarea(f: String = Unit)(n: NodeSeq) that will slurp the values and
 attributes out of the NodeSeq... so you'd bind like:

 biography - textarea(s = setBio(s)) _

 On Wed, Jun 17, 2009 at 10:22 AM, Matt Williams m...@makeable.co.ukwrote:


 I wholeheartedly agree with the philosophy of separating the display
 from the program logic, and am currently getting to grips with the
 generators, but am finding that now I end up with a degree of markup
 within my code.

 Can you think of any caveats to infering the node type passed, and
 dynamically using the relevant generators to construct the returned
 node.

 I am thinking something along the lines of:

 person:biography
 textarea style=myStyle cols=20 rows=5
 This is a sample of some biography text
 /textarea
 /person:biography

 Where it would automatically infer that it is a textarea, pass through
 the relevant attributes, and insert whatever function, values, etc I
 have specified in my snippet.

 What are your thoughts on this?

 Brgds,

 Matt






 --
 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: scalajpa - while accessing two distincts databases, the second access is made with a connection to the first database

2009-06-18 Thread Meredith Gregory
Viktor,

My co-routine yields back to yours!

Hey, it's like Garrison Keillor's Tales from Lake
Wobegonhttp://en.wikipedia.org/wiki/Lake_Wobegon:
where *all* of the children are above average. If you think about it, that
just keeps *lift*ing the children higher and higher and higher...

Speaking of which, i think David's goat rodeo ideas fit pretty well with
some ideas i've been working on regarding a uniform approach to data. This
takes the whole LINQ idea up a couple of notches. To see what i mean, take a
look at the slides for a recent talk i
gavehttp://svn.biosimilarity.com/src/open/talks/MonadicDesignPatternsForTheWeb.pdf.
Comments (peanuts, rotten tomatoes...) would be most welcome.

Best wishes,

--greg

P.S. Oliver's sincere question compelled me to respond with my own best
understanding of the topic.

2009/6/18 Viktor Klang viktor.kl...@gmail.com

 I yield to your superiority.
 Seriously.


 2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 Objects and monads are really not the same. At it's heart the concept of
 monad is an appropriately parametric notion of composition. If you have any
 experience with abstract algebra, you might recognize that the notion of
 a group http://en.wikipedia.org/wiki/Symmetry_group is an appropriately
 parametric notion of symmetry. Groups give an exceptionally well abstracted
 account of symmetry. Monads give an exceptionally well abstracted notion of
 composition. This is a lot easier to see in the Category Theoretic
 presentation.

 A monad http://en.wikipedia.org/wiki/Monad_%28category_theory%29 is
 presented by three pieces of data:

- An endofunctor http://en.wikipedia.org/wiki/Functor M : C - C
(intuitively, think of M as a parametric type constructor and C as the
universe of types and maps)
- A natural 
 transformationhttp://en.wikipedia.org/wiki/Natural_transformationunit: Id 
 - M -- this is a higher-order critter: it takes maps to maps; but
i'll give you a metaphor in just a moment.
- A natural transformation mult: M^2 - M

 One picture you can have in your mind is M is a kind of box factory.
 Then unit says how you can put things into a box, and mult says how you can
 flatten nested boxes into an ordinary box (this is the origins of flatMap in
 Scala's presentation). Another way of understanding this is that M is a kind
 of higher-order compositor, i.e. a way of combining things just like
 multiplication, as in a*b, is a way of combining things. Then the unit is
 the analog of having a unit for your multiplication and mult is the analog
 of an associativity law ( a*(b*c) = (a*b)*c ). These line up with the box
 analogy more easily if you write things with prefix notation instead of
 infix notation.

- Let's write {*| a, b |*} instead of a*b. The reason we adopt this
more verbose notation is that we can note the different kind of boxes with
the 'color' of the braces. M-colored braces, {M| a, b |M}, are associated
with an M-box.
- Then unit( a ) = {M| a |M}, it puts a in an M-box. This has an
alternate presentation of the form {M| |M}.{M| a |M} = {M| a |M}. i 
 mention
it to point out the analogy with the binary operation _*_, but it muddies
the water a little with begging the question about the _._. So, i will 
 just
leave it -- without explanation -- for you to explore.
- And mult( {M| {M| a11, ..., a1J |M} ... {M| aI1, ... aIJ' |M} |M} )
= {M| a11, ..., aIJ' |M}. It tells you how to canonically flatten M-boxes.
This functions as an association because if boxes canonically flatten, 
 then
{M| a, {M| b, c |M} |M} = {M| a, b, c |M} = {M| {M| a, b |M}, c |M}.


 The apparent lexical connection between this way of thinking about things
 and XML *is not accidental*. Monads can be viewed as colored braces, aka
 matched tags. Monads are a semantical creature that presents syntactically
 like XML.

 This way of thinking about things is really different from objects. To be
 sure, there are notions of objects that are universal and so can be made to
 fit or encode just about anything; but, that doesn't mean the encodings are
 nice, or scalable or maintainable. You have only to to look at something
 like LINQ -- which is really just a presentation of monads -- to see just
 how flexible and yet compact the monadic way of structuring composition is.
 Specifically, both set-comprehension notation and SELECT-FROM-WHERE, when
 interpreted polymorphically, provide a natural representation of the monad.

- { pattern | t1 - generator1, ..., tn - generatorN, constraint1,
..., constraintK }
- SELECT pattern FROM generator WHERE constraint

 Those to pieces of computational machinery have very simple, and natural
 mappings to the monad operations. You will win if you work these out for
 yourself. Phil Wadler has excellent papers to provide cheat sheets. The
 Scala for-comprehension and the corresponding operations of map, flatMap and
 filter are also excellent cheat sheets. 

[Lift] Re: scalajpa - while accessing two distincts databases, the second access is made with a connection to the first database

2009-06-18 Thread Viktor Klang
I just want to say that it's educating and awesome (in the true sense of the
word) to have you on this list, enriching us with alot of good ideas,
theories and concepts.

2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Viktor,

 My co-routine yields back to yours!

 Hey, it's like Garrison Keillor's Tales from Lake 
 Wobegonhttp://en.wikipedia.org/wiki/Lake_Wobegon:
 where *all* of the children are above average. If you think about it, that
 just keeps *lift*ing the children higher and higher and higher...

 Speaking of which, i think David's goat rodeo ideas fit pretty well with
 some ideas i've been working on regarding a uniform approach to data. This
 takes the whole LINQ idea up a couple of notches. To see what i mean, take a
 look at the slides for a recent talk i 
 gavehttp://svn.biosimilarity.com/src/open/talks/MonadicDesignPatternsForTheWeb.pdf.
 Comments (peanuts, rotten tomatoes...) would be most welcome.

 Best wishes,

 --greg

 P.S. Oliver's sincere question compelled me to respond with my own best
 understanding of the topic.

 2009/6/18 Viktor Klang viktor.kl...@gmail.com

 I yield to your superiority.
 Seriously.


 2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 Objects and monads are really not the same. At it's heart the concept of
 monad is an appropriately parametric notion of composition. If you have any
 experience with abstract algebra, you might recognize that the notion of
 a group http://en.wikipedia.org/wiki/Symmetry_group is an
 appropriately parametric notion of symmetry. Groups give an exceptionally
 well abstracted account of symmetry. Monads give an exceptionally well
 abstracted notion of composition. This is a lot easier to see in the
 Category Theoretic presentation.

 A monad http://en.wikipedia.org/wiki/Monad_%28category_theory%29 is
 presented by three pieces of data:

- An endofunctor http://en.wikipedia.org/wiki/Functor M : C - C
(intuitively, think of M as a parametric type constructor and C as the
universe of types and maps)
- A natural 
 transformationhttp://en.wikipedia.org/wiki/Natural_transformationunit: Id 
 - M -- this is a higher-order critter: it takes maps to maps; but
i'll give you a metaphor in just a moment.
- A natural transformation mult: M^2 - M

 One picture you can have in your mind is M is a kind of box factory.
 Then unit says how you can put things into a box, and mult says how you can
 flatten nested boxes into an ordinary box (this is the origins of flatMap in
 Scala's presentation). Another way of understanding this is that M is a kind
 of higher-order compositor, i.e. a way of combining things just like
 multiplication, as in a*b, is a way of combining things. Then the unit is
 the analog of having a unit for your multiplication and mult is the analog
 of an associativity law ( a*(b*c) = (a*b)*c ). These line up with the box
 analogy more easily if you write things with prefix notation instead of
 infix notation.

- Let's write {*| a, b |*} instead of a*b. The reason we adopt this
more verbose notation is that we can note the different kind of boxes 
 with
the 'color' of the braces. M-colored braces, {M| a, b |M}, are associated
with an M-box.
- Then unit( a ) = {M| a |M}, it puts a in an M-box. This has an
alternate presentation of the form {M| |M}.{M| a |M} = {M| a |M}. i 
 mention
it to point out the analogy with the binary operation _*_, but it muddies
the water a little with begging the question about the _._. So, i will 
 just
leave it -- without explanation -- for you to explore.
- And mult( {M| {M| a11, ..., a1J |M} ... {M| aI1, ... aIJ' |M} |M} )
= {M| a11, ..., aIJ' |M}. It tells you how to canonically flatten 
 M-boxes.
This functions as an association because if boxes canonically flatten, 
 then
{M| a, {M| b, c |M} |M} = {M| a, b, c |M} = {M| {M| a, b |M}, c |M}.


 The apparent lexical connection between this way of thinking about things
 and XML *is not accidental*. Monads can be viewed as colored braces, aka
 matched tags. Monads are a semantical creature that presents syntactically
 like XML.

 This way of thinking about things is really different from objects. To be
 sure, there are notions of objects that are universal and so can be made to
 fit or encode just about anything; but, that doesn't mean the encodings are
 nice, or scalable or maintainable. You have only to to look at something
 like LINQ -- which is really just a presentation of monads -- to see just
 how flexible and yet compact the monadic way of structuring composition is.
 Specifically, both set-comprehension notation and SELECT-FROM-WHERE, when
 interpreted polymorphically, provide a natural representation of the monad.

- { pattern | t1 - generator1, ..., tn - generatorN, constraint1,
..., constraintK }
- SELECT pattern FROM generator WHERE constraint

 Those to pieces of computational machinery have very simple, and natural
 mappings to the 

[Lift] BBCode2XHTML

2009-06-18 Thread Viktor Klang
Hi guys!

I'm in dire need of an XSS-safe and generally harmless way of allowing
end-users to add some markup to texts.
In the spirit of re-use and lack of time, I wonder if any of you have any
libraries to recommend that can transform a String maybe containing BBCode
to the same string but with xhtml compliant markup.

Googled it a bit and saw KefirBB http://sourceforge.net/projects/kefir-bb/and
JavaBBCode https://javabbcode.dev.java.net/ but none of them seem lean
enough (I mean, how much code does it need to transform a String??)

So what's it gonna be guys, is there a saviour out there or will I need to
pull out the Scala REPL?


Cheers!
-- 
Viktor Klang
Scala Loudmouth

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

2009-06-18 Thread marius d.

Dave is there a reason why writes are allowed outside a transaction
boundaries ?

Br's,
Marius

On Jun 18, 10:19 am, David Pollak feeder.of.the.be...@gmail.com
wrote:
 Folks,

 At the end of the Scala Lift Off, after I finished my third beer, Martin
 Odersky came over to me and asked, so, what's the future of Lift?

 I gave a hand-waving answer about the features for 1.1.  But Martin is not a
 hand-waving kind of guy and I think I owe him and the other folks in the
 Scala and Lift communities more.

 There's a lot more that's necessary for web app development than Lift, an
 abstraction to the HTTP request/response cycle, can provide.

 Over the last couple of years, I've been noticing trends in web development,
 in the needs of my various consulting gigs, and in some other projects.
 It's clear to me that it's time for a unified data and data management model
 that goes beyond OR mapping and that is scalably transactional.  I've put
 together a model that looks to the developer like STM but is backed with
 ZooKeeper and Cassandra.  I've blogged about it 
 athttp://blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-...

 Just as my web framework manifesto was the genesis of what has become Lift,
 I hope that my notions and ramblings in this blog post will become concrete,
 usable code over the next few months and a solid platform for building the
 next generation of web systems over the next few years... all built with
 Scala at their core.

 Thanks,

 David

 --
 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: scalajpa - while accessing two distincts databases, the second access is made with a connection to the first database

2009-06-18 Thread Meredith Gregory
Oliver,

You wrote:

we would have taken over Google by now.


My not-so-secret plan for taking over Google is contained in the deck i
posted in response to
Viktorhttp://svn.biosimilarity.com/src/open/talks/MonadicDesignPatternsForTheWeb.pdf.
Part of the reason i was excited that Jonas took on to make the JTA wrapper
monadic is that it composes perfectly with the ideas explained in the deck.
These ideas dovetail perfectly with the DSL stuff i've been working on.

My feeling is that we are at a point where things could really start to
happen. The ideas are 'in the air' so to speak.

Best wishes,

--greg

2009/6/17 Oliver Lambert olambo...@gmail.com



 2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 The short answer is no. The longer answer is

- i worked this all out on my own; so, you guys -- who can program
lift on top of scala on top of JVM and are therefore about 20X smarter 
 than
i am -- can too.

 I think if we were all 20X (or 2X) smarter than you, we would have taken
 over Google by now.


-
- And also, help is always available, if there is something specific
you don't understand, let me know and i will do my best to convey it to 
 you.

 As suggested by another kind person, I may have to start by going back to
 (an American?) school.

 Heres a question, why should I care about Monad's when they are already in
 OO, just not called Monads?



-

 Best wishes,

 --greg

 P.S. Here is a version of the paragraph with links to useful bits of lore
 from the literature.

 For myself, i was unhappy with the notion of name. The 
 π-calculihttp://en.wikipedia.org/wiki/Pi-calculusand lambda
 calculi http://en.wikipedia.org/wiki/Lambda_calculus suffer a
 dependence on a notion of name. Both families of calculi require at least 
 countably
 infinitely http://en.wikipedia.org/wiki/Countable many 
 nameshttp://www.cs.nps.navy.mil/research/languages/statements/gordon.html,
 and a notion of equality on names. If names have no internal structure then
 these theories *cannot be 
 effectivehttp://en.wikipedia.org/wiki/Computable_function
 *. The reasons is that the notion of equality must then be realized as an
 infinitary table which cannot fit in any computer we have access to.
 Therefore, in effective theories, names must have internal structure. Since
 they have internal structure and are at least countably infinite, one is in
 danger of undermining the foundational character of these proposals for
 computing. Therefore, the only possible solution is that the notion of
 structured name must come from the notion of program proposed by the model.
 This argument is airtight. If you want a foundational model of computing
 with nominal structure, the nominal structure must derive from the notion of
 computation being put forward, i.e. it must *reflect* the notion of
 computationhttp://svn.biosimilarity.com/src/open/papers/trunk/concurrency/rho/ex_nihilo_entcs/ex_nihilo_finco.pdf.
 This gives rise to all kinds of new an beautiful phenomena. One measure of
 your way into compositional thinking is whether this is happening. Is your
 approach to compositional thinking beginning to yield whole new aspects of
 computing, and new 'wholes' of computation, new forms of organization.


 2009/6/16 Oliver Lambert olambo...@gmail.com



 2009/6/17 Meredith Gregory lgreg.mered...@gmail.com

 Jeremy,

 Most excellent question award to you, sir!

 How to bootstrap thinking compositionally... this is what i did

- learn some compositional idioms by heart
   - do you know the shape of the paradoxical combinator by heart
   - do you know the data making up a monad
   - do you know the data making up a distributive law between
   monads
   - use them in real world applications and see where they fail
   - when is calculating the least/greatest fixpoint of a recursive
   spec for a problem the suboptimal solution
   - when is a monad not the answer
   - when is an indexed form of composition inadequate
   - improve them
   - is it a situational improvement or
   - a fundamental improvement
   - see where the very programming model itself fails
   - is functional composition the only sort of composition
   - how is parallel composition like functional composition
   - is parallel composition easily represented in categorical
   composition
   - improve it
   - what is the view of the world in your notion of composition
   - play with new programming models
   - does your new notion of composition give rise to a whole
   generation of different models
   - invent new idioms in these models
   - what are the things these models naturally express
   - and teach them to someone who wishes to bootstrap thinking
compositionally

 For myself, i was unhappy with the notion of name. The π-calculi and
 lambda calculi suffer a dependence on a notion of name. Both families of
 calculi require at least 

[Lift] Re: scalajpa - while accessing two distincts databases, the second access is made with a connection to the first database

2009-06-18 Thread Oliver Lambert
Hi Greg,
Thank you, I enjoyed reading that. Perhaps the Greedy Empire, should indeed,
be worried.

cheers
Oliver

2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 You wrote:

 we would have taken over Google by now.


 My not-so-secret plan for taking over Google is contained in the deck i
 posted in response to 
 Viktorhttp://svn.biosimilarity.com/src/open/talks/MonadicDesignPatternsForTheWeb.pdf.
 Part of the reason i was excited that Jonas took on to make the JTA wrapper
 monadic is that it composes perfectly with the ideas explained in the deck.
 These ideas dovetail perfectly with the DSL stuff i've been working on.

 My feeling is that we are at a point where things could really start to
 happen. The ideas are 'in the air' so to speak.

 Best wishes,

 --greg

 2009/6/17 Oliver Lambert olambo...@gmail.com



 2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 The short answer is no. The longer answer is

- i worked this all out on my own; so, you guys -- who can program
lift on top of scala on top of JVM and are therefore about 20X smarter 
 than
i am -- can too.

 I think if we were all 20X (or 2X) smarter than you, we would have taken
 over Google by now.


-
- And also, help is always available, if there is something specific
you don't understand, let me know and i will do my best to convey it to 
 you.

 As suggested by another kind person, I may have to start by going back to
 (an American?) school.

 Heres a question, why should I care about Monad's when they are already in
 OO, just not called Monads?



-

 Best wishes,

 --greg

 P.S. Here is a version of the paragraph with links to useful bits of lore
 from the literature.

 For myself, i was unhappy with the notion of name. The 
 π-calculihttp://en.wikipedia.org/wiki/Pi-calculusand lambda
 calculi http://en.wikipedia.org/wiki/Lambda_calculus suffer a
 dependence on a notion of name. Both families of calculi require at least 
 countably
 infinitely http://en.wikipedia.org/wiki/Countable many 
 nameshttp://www.cs.nps.navy.mil/research/languages/statements/gordon.html,
 and a notion of equality on names. If names have no internal structure then
 these theories *cannot be 
 effectivehttp://en.wikipedia.org/wiki/Computable_function
 *. The reasons is that the notion of equality must then be realized as
 an infinitary table which cannot fit in any computer we have access to.
 Therefore, in effective theories, names must have internal structure. Since
 they have internal structure and are at least countably infinite, one is in
 danger of undermining the foundational character of these proposals for
 computing. Therefore, the only possible solution is that the notion of
 structured name must come from the notion of program proposed by the model.
 This argument is airtight. If you want a foundational model of computing
 with nominal structure, the nominal structure must derive from the notion of
 computation being put forward, i.e. it must *reflect* the notion of
 computationhttp://svn.biosimilarity.com/src/open/papers/trunk/concurrency/rho/ex_nihilo_entcs/ex_nihilo_finco.pdf.
 This gives rise to all kinds of new an beautiful phenomena. One measure of
 your way into compositional thinking is whether this is happening. Is your
 approach to compositional thinking beginning to yield whole new aspects of
 computing, and new 'wholes' of computation, new forms of organization.


 2009/6/16 Oliver Lambert olambo...@gmail.com



 2009/6/17 Meredith Gregory lgreg.mered...@gmail.com

 Jeremy,

 Most excellent question award to you, sir!

 How to bootstrap thinking compositionally... this is what i did

- learn some compositional idioms by heart
   - do you know the shape of the paradoxical combinator by heart
   - do you know the data making up a monad
   - do you know the data making up a distributive law between
   monads
   - use them in real world applications and see where they fail
   - when is calculating the least/greatest fixpoint of a recursive
   spec for a problem the suboptimal solution
   - when is a monad not the answer
   - when is an indexed form of composition inadequate
   - improve them
   - is it a situational improvement or
   - a fundamental improvement
   - see where the very programming model itself fails
   - is functional composition the only sort of composition
   - how is parallel composition like functional composition
   - is parallel composition easily represented in categorical
   composition
   - improve it
   - what is the view of the world in your notion of composition
   - play with new programming models
   - does your new notion of composition give rise to a whole
   generation of different models
   - invent new idioms in these models
   - what are the things these models naturally express
   - and teach them to someone who wishes to bootstrap thinking

[Lift] Re: New hosting for demo.liftweb.net

2009-06-18 Thread TylerWeir

Is it just the basic slice? 128 Megatrons of RAM?

On Jun 18, 1:45 am, David Pollak feeder.of.the.be...@gmail.com
wrote:
 Folks,
 I'm trying a Xen slice on prgrm.com I'm currently 
 runninghttp://demo.liftweb.netthere.  Woo Hoo!

 David

 --
 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: scalajpa - while accessing two distincts databases, the second access is made with a connection to the first database

2009-06-18 Thread Derek Chen-Becker
No one need fear. Greg is a benevolent evil genius ;) Seriously, it's
threads like this that make me realize just how many freakin' brilliant
people are on list.

Derek

2009/6/18 Oliver Lambert olambo...@gmail.com

 Hi Greg,
 Thank you, I enjoyed reading that. Perhaps the Greedy Empire, should
 indeed, be worried.

 cheers
 Oliver


 2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 You wrote:

 we would have taken over Google by now.


 My not-so-secret plan for taking over Google is contained in the deck i
 posted in response to 
 Viktorhttp://svn.biosimilarity.com/src/open/talks/MonadicDesignPatternsForTheWeb.pdf.
 Part of the reason i was excited that Jonas took on to make the JTA wrapper
 monadic is that it composes perfectly with the ideas explained in the deck.
 These ideas dovetail perfectly with the DSL stuff i've been working on.

 My feeling is that we are at a point where things could really start to
 happen. The ideas are 'in the air' so to speak.

 Best wishes,

 --greg

 2009/6/17 Oliver Lambert olambo...@gmail.com



 2009/6/18 Meredith Gregory lgreg.mered...@gmail.com

 Oliver,

 The short answer is no. The longer answer is

- i worked this all out on my own; so, you guys -- who can program
lift on top of scala on top of JVM and are therefore about 20X smarter 
 than
i am -- can too.

 I think if we were all 20X (or 2X) smarter than you, we would have taken
 over Google by now.


-
- And also, help is always available, if there is something specific
you don't understand, let me know and i will do my best to convey it to 
 you.

 As suggested by another kind person, I may have to start by going back
 to (an American?) school.

 Heres a question, why should I care about Monad's when they are already
 in OO, just not called Monads?



-

 Best wishes,

 --greg

 P.S. Here is a version of the paragraph with links to useful bits of
 lore from the literature.

 For myself, i was unhappy with the notion of name. The 
 π-calculihttp://en.wikipedia.org/wiki/Pi-calculusand lambda
 calculi http://en.wikipedia.org/wiki/Lambda_calculus suffer a
 dependence on a notion of name. Both families of calculi require at least 
 countably
 infinitely http://en.wikipedia.org/wiki/Countable many 
 nameshttp://www.cs.nps.navy.mil/research/languages/statements/gordon.html,
 and a notion of equality on names. If names have no internal structure then
 these theories *cannot be 
 effectivehttp://en.wikipedia.org/wiki/Computable_function
 *. The reasons is that the notion of equality must then be realized as
 an infinitary table which cannot fit in any computer we have access to.
 Therefore, in effective theories, names must have internal structure. Since
 they have internal structure and are at least countably infinite, one is in
 danger of undermining the foundational character of these proposals for
 computing. Therefore, the only possible solution is that the notion of
 structured name must come from the notion of program proposed by the model.
 This argument is airtight. If you want a foundational model of computing
 with nominal structure, the nominal structure must derive from the notion 
 of
 computation being put forward, i.e. it must *reflect* the notion of
 computationhttp://svn.biosimilarity.com/src/open/papers/trunk/concurrency/rho/ex_nihilo_entcs/ex_nihilo_finco.pdf.
 This gives rise to all kinds of new an beautiful phenomena. One measure of
 your way into compositional thinking is whether this is happening. Is your
 approach to compositional thinking beginning to yield whole new aspects of
 computing, and new 'wholes' of computation, new forms of organization.


 2009/6/16 Oliver Lambert olambo...@gmail.com



 2009/6/17 Meredith Gregory lgreg.mered...@gmail.com

 Jeremy,

 Most excellent question award to you, sir!

 How to bootstrap thinking compositionally... this is what i did

- learn some compositional idioms by heart
   - do you know the shape of the paradoxical combinator by heart
   - do you know the data making up a monad
   - do you know the data making up a distributive law between
   monads
   - use them in real world applications and see where they fail
   - when is calculating the least/greatest fixpoint of a
   recursive spec for a problem the suboptimal solution
   - when is a monad not the answer
   - when is an indexed form of composition inadequate
   - improve them
   - is it a situational improvement or
   - a fundamental improvement
   - see where the very programming model itself fails
   - is functional composition the only sort of composition
   - how is parallel composition like functional composition
   - is parallel composition easily represented in categorical
   composition
   - improve it
   - what is the view of the world in your notion of composition
   - play with new programming models
   - does your new notion of composition give rise to 

[Lift] Re: BBCode2XHTML

2009-06-18 Thread marius d.

Isn't Lift XSS safe by default ? ... in the sense that it applies the
proper escaping.

Br's,
Marius

On Jun 18, 2:06 pm, Viktor Klang viktor.kl...@gmail.com wrote:
 Hi guys!

 I'm in dire need of an XSS-safe and generally harmless way of allowing
 end-users to add some markup to texts.
 In the spirit of re-use and lack of time, I wonder if any of you have any
 libraries to recommend that can transform a String maybe containing BBCode
 to the same string but with xhtml compliant markup.

 Googled it a bit and saw KefirBB 
 http://sourceforge.net/projects/kefir-bb/and
 JavaBBCode https://javabbcode.dev.java.net/ but none of them seem lean
 enough (I mean, how much code does it need to transform a String??)

 So what's it gonna be guys, is there a saviour out there or will I need to
 pull out the Scala REPL?

 Cheers!
 --
 Viktor Klang
 Scala Loudmouth
--~--~-~--~~~---~--~~
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: BBCode2XHTML

2009-06-18 Thread David Pollak
Lift's Textile support is what you want.
See the chat window on http://demo.liftweb.net  Enter I like *beer* into the
window and see what happens.

And yes, it's XSS safe.

On Thu, Jun 18, 2009 at 4:06 AM, Viktor Klang viktor.kl...@gmail.comwrote:

 Hi guys!

 I'm in dire need of an XSS-safe and generally harmless way of allowing
 end-users to add some markup to texts.
 In the spirit of re-use and lack of time, I wonder if any of you have any
 libraries to recommend that can transform a String maybe containing BBCode
 to the same string but with xhtml compliant markup.

 Googled it a bit and saw KefirBBhttp://sourceforge.net/projects/kefir-bb/and
 JavaBBCode https://javabbcode.dev.java.net/ but none of them seem lean
 enough (I mean, how much code does it need to transform a String??)

 So what's it gonna be guys, is there a saviour out there or will I need to
 pull out the Scala REPL?


 Cheers!
 --
 Viktor Klang
 Scala Loudmouth

 



-- 
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] Error during sign-up

2009-06-18 Thread Tobias Daub

Hi There,

I just got this error when I tried to sign-up a new user with the 
default interface.

thanks

--

Exception occured while processing /user_mgt/sign_up

Message: java.lang.AbstractMethodError: 
org.tobster.model.User$.addlQueryParams()Lnet/liftweb/mapper/MetaMapper$addlQueryParams$;

net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply(MetaMapper.scala:299)

net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply(MetaMapper.scala:298)
net.liftweb.mapper.DB$.use(DB.scala:317)
net.liftweb.mapper.MetaMapper$class.findMapFieldDb(MetaMapper.scala:297)
org.tobster.model.User$.findMapFieldDb(User.scala:9)
net.liftweb.mapper.MetaMapper$class.findMapDb(MetaMapper.scala:293)
org.tobster.model.User$.findMapDb(User.scala:9)
net.liftweb.mapper.MetaMapper$class.findAll(MetaMapper.scala:259)
org.tobster.model.User$.findAll(User.scala:9)
net.liftweb.mapper.MappedString.valUnique(MappedString.scala:173)
net.liftweb.mapper.ProtoUser$email$$anonfun$1.apply(ProtoUser.scala:61)
net.liftweb.mapper.ProtoUser$email$$anonfun$1.apply(ProtoUser.scala:61)

net.liftweb.mapper.MappedField$$anonfun$validate$1.apply(MappedField.scala:557)

net.liftweb.mapper.MappedField$$anonfun$validate$1.apply(MappedField.scala:553)
scala.List.flatMap(List.scala:1132)
net.liftweb.mapper.MappedField$class.validate(MappedField.scala:553)
net.liftweb.mapper.MappedEmail.validate(MappedEmail.scala:34)
net.liftweb.mapper.MetaMapper$$anonfun$11.apply(MetaMapper.scala:522)
net.liftweb.mapper.MetaMapper$$anonfun$11.apply(MetaMapper.scala:522)
scala.List.flatMap(List.scala:1132)

net.liftweb.mapper.MetaMapper$class.runValidationList(MetaMapper.scala:522)
org.tobster.model.User$.runValidationList(User.scala:9)
net.liftweb.mapper.MetaMapper$class.validate(MetaMapper.scala:536)
org.tobster.model.User$.validate(User.scala:9)
net.liftweb.mapper.Mapper$$anonfun$validate$1.apply(Mapper.scala:105)
net.liftweb.mapper.Mapper$$anonfun$validate$1.apply(Mapper.scala:105)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.mapper.Safe$.runSafe(Safe.scala:44)
net.liftweb.mapper.Mapper$class.runSafe(Mapper.scala:50)
org.tobster.model.User.runSafe(User.scala:24)
net.liftweb.mapper.Mapper$class.validate(Mapper.scala:104)
org.tobster.model.User.validate(User.scala:24)

net.liftweb.mapper.MetaMegaProtoUser$class.testSignup$1(ProtoUser.scala:340)

net.liftweb.mapper.MetaMegaProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUser.scala:360)

net.liftweb.mapper.MetaMegaProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUser.scala:360)
net.liftweb.http.S$NFuncHolder$$anonfun$apply$49.apply(S.scala:1695)
net.liftweb.http.S$NFuncHolder$$anonfun$apply$49.apply(S.scala:1695)
scala.List.map(List.scala:812)
net.liftweb.http.S$NFuncHolder.apply(S.scala:1695)

net.liftweb.http.LiftSession$$anonfun$buildFunc$1$2.apply(LiftSession.scala:339)

net.liftweb.http.LiftSession$$anonfun$6$$anonfun$apply$19.apply(LiftSession.scala:354)

net.liftweb.http.LiftSession$$anonfun$6$$anonfun$apply$19.apply(LiftSession.scala:354)
scala.List.map(List.scala:812)
net.liftweb.http.LiftSession$$anonfun$6.apply(LiftSession.scala:354)
net.liftweb.http.LiftSession$$anonfun$6.apply(LiftSession.scala:343)
scala.List.flatMap(List.scala:1132)
net.liftweb.http.LiftSession.runParams(LiftSession.scala:343)
net.liftweb.http.LiftSession.processRequest(LiftSession.scala:543)

net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$$dispatchStatefulRequest(LiftServlet.scala:239)
net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:155)
net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:155)
net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:908)

net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$$anonfun$apply$18.apply(S.scala:1026)
net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:845)

net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply(S.scala:846)

net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$$doWith(DB.scala:117)

net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB$$anon$$doWith$1.apply(DB.scala:118)

net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB$$anon$$doWith$1.apply(DB.scala:118)
net.liftweb.mapper.DB$.use(DB.scala:317)

net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$$doWith(DB.scala:118)
net.liftweb.mapper.DB$$anon$1.apply(DB.scala:124)
net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:846)


[Lift] error during sign-up (solved)

2009-06-18 Thread Tobias Daub

Sorry,

After I did mvn clean install it was ok.

thanks anyway




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

2009-06-18 Thread Matt Williams

Theres a textile package available in the repository.
And its now 30x faster! :)

On Thu, 2009-06-18 at 13:06 +0200, Viktor Klang wrote:
 Hi guys!
 
 I'm in dire need of an XSS-safe and generally harmless way of allowing
 end-users to add some markup to texts.
 In the spirit of re-use and lack of time, I wonder if any of you have
 any libraries to recommend that can transform a String maybe
 containing BBCode to the same string but with xhtml compliant markup.
 
 Googled it a bit and saw KefirBB and JavaBBCode but none of them seem
 lean enough (I mean, how much code does it need to transform a
 String??)
 
 So what's it gonna be guys, is there a saviour out there or will I
 need to pull out the Scala REPL?
 
 
 Cheers!
 -- 
 Viktor Klang
 Scala Loudmouth
 
  


--~--~-~--~~~---~--~~
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] selectObj again

2009-06-18 Thread Tobias Daub

Hi There,

I'm still having problems with the selectObj method.

Here's the code:

*/* The basic trade types are: BUY and SELL */
object tradeType extends 
MappedLongForeignKey(this.asInstanceOf[MapperType], TradeTypeMetaObj){
 
override def _toForm = Full(SHtml.selectObj
  (List(

(TradeTypeMetaObj.findAll(By(TradeTypeMetaObj.name, BUY)), kaufen),

(TradeTypeMetaObj.findAll(By(TradeTypeMetaObj.name, SELL)),verkaufen)),
   
Full(TradeTypeMetaObj.findAll(By(TradeTypeMetaObj.name, BUY))),
   (t: TradeType) = set(t))
  )
}*



and here's the compiler error:


[INFO] Compiling 1 source files to 
/home/wacky/workspace_VirtuelleBoerse/virtualMarket/target/classes
[WARNING] 
/home/wacky/workspace_VirtuelleBoerse/virtualMarket/src/main/scala/org/tobster/model/Order.scala:50:
 
error: value set is not a member of Long
[WARNING](t: TradeType) = set(t))
[WARNING]  ^
[WARNING] one error found


What do I've to do, to store the selected object in the corresponding 
table.


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: Lift and Goat Rodeo

2009-06-18 Thread maku

David, that sounds really great.

I tried to think about what's a good approach to be really scalable in
context of data writing/reading (e.g. when you have to write an app
for a huge number of users)
A RDMBS approach would not be sufficient.

Looking forward for further information for this subject.

Regards,
Martin





On 18 Jun., 09:19, David Pollak feeder.of.the.be...@gmail.com wrote:
 Folks,

 At the end of the Scala Lift Off, after I finished my third beer, Martin
 Odersky came over to me and asked, so, what's the future of Lift?

 I gave a hand-waving answer about the features for 1.1.  But Martin is not a
 hand-waving kind of guy and I think I owe him and the other folks in the
 Scala and Lift communities more.

 There's a lot more that's necessary for web app development than Lift, an
 abstraction to the HTTP request/response cycle, can provide.

 Over the last couple of years, I've been noticing trends in web development,
 in the needs of my various consulting gigs, and in some other projects.
 It's clear to me that it's time for a unified data and data management model
 that goes beyond OR mapping and that is scalably transactional.  I've put
 together a model that looks to the developer like STM but is backed with
 ZooKeeper and Cassandra.  I've blogged about it 
 athttp://blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-...

 Just as my web framework manifesto was the genesis of what has become Lift,
 I hope that my notions and ramblings in this blog post will become concrete,
 usable code over the next few months and a solid platform for building the
 next generation of web systems over the next few years... all built with
 Scala at their core.

 Thanks,

 David

 --
 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: Lift and Goat Rodeo

2009-06-18 Thread David Pollak
On Thu, Jun 18, 2009 at 4:23 AM, marius d. marius.dan...@gmail.com wrote:


 Dave is there a reason why writes are allowed outside a transaction
 boundaries ?


Writes are not allowed outside of transactional boundaries.  You have to
enter a transaction to get a TRef, a transactional reference.  You can only
read or write via a TRef.




 Br's,
 Marius

 On Jun 18, 10:19 am, David Pollak feeder.of.the.be...@gmail.com
 wrote:
  Folks,
 
  At the end of the Scala Lift Off, after I finished my third beer, Martin
  Odersky came over to me and asked, so, what's the future of Lift?
 
  I gave a hand-waving answer about the features for 1.1.  But Martin is
 not a
  hand-waving kind of guy and I think I owe him and the other folks in the
  Scala and Lift communities more.
 
  There's a lot more that's necessary for web app development than Lift, an
  abstraction to the HTTP request/response cycle, can provide.
 
  Over the last couple of years, I've been noticing trends in web
 development,
  in the needs of my various consulting gigs, and in some other projects.
  It's clear to me that it's time for a unified data and data management
 model
  that goes beyond OR mapping and that is scalably transactional.  I've put
  together a model that looks to the developer like STM but is backed with
  ZooKeeper and Cassandra.  I've blogged about it athttp://
 blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-...
 
  Just as my web framework manifesto was the genesis of what has become
 Lift,
  I hope that my notions and ramblings in this blog post will become
 concrete,
  usable code over the next few months and a solid platform for building
 the
  next generation of web systems over the next few years... all built with
  Scala at their core.
 
  Thanks,
 
  David
 
  --
  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: New hosting for demo.liftweb.net

2009-06-18 Thread David Pollak
On Thu, Jun 18, 2009 at 6:21 AM, TylerWeir tyler.w...@gmail.com wrote:


 Is it just the basic slice? 128 Megatrons of RAM?


It's running on the 512mb slice... at $12/mo it seemed like a reasonable
price to pay.




 On Jun 18, 1:45 am, David Pollak feeder.of.the.be...@gmail.com
 wrote:
  Folks,
  I'm trying a Xen slice on prgrm.com I'm currently
 runninghttp://demo.liftweb.netthere.  Woo Hoo!
 
  David
 
  --
  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: Error during sign-up

2009-06-18 Thread Derek Chen-Becker
This looks like it's related to the code that David just committed. I wonder
if your maven repo is out of sync. Can you try wiping ~/.m2 and see if that
fixes it?

Derek

On Thu, Jun 18, 2009 at 5:01 AM, Tobias Daub hannes.flo...@gmx.li wrote:


 Hi There,

 I just got this error when I tried to sign-up a new user with the
 default interface.

 thanks

 --

 Exception occured while processing /user_mgt/sign_up

 Message: java.lang.AbstractMethodError:
 org.tobster.model.User$.addlQueryParams()Lnet/liftweb/mapper/MetaMapper$addlQueryParams$;

  
 net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply(MetaMapper.scala:299)

  
 net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply(MetaMapper.scala:298)
net.liftweb.mapper.DB$.use(DB.scala:317)

  net.liftweb.mapper.MetaMapper$class.findMapFieldDb(MetaMapper.scala:297)
org.tobster.model.User$.findMapFieldDb(User.scala:9)
net.liftweb.mapper.MetaMapper$class.findMapDb(MetaMapper.scala:293)
org.tobster.model.User$.findMapDb(User.scala:9)
net.liftweb.mapper.MetaMapper$class.findAll(MetaMapper.scala:259)
org.tobster.model.User$.findAll(User.scala:9)
net.liftweb.mapper.MappedString.valUnique(MappedString.scala:173)

  net.liftweb.mapper.ProtoUser$email$$anonfun$1.apply(ProtoUser.scala:61)

  net.liftweb.mapper.ProtoUser$email$$anonfun$1.apply(ProtoUser.scala:61)

  
 net.liftweb.mapper.MappedField$$anonfun$validate$1.apply(MappedField.scala:557)

  
 net.liftweb.mapper.MappedField$$anonfun$validate$1.apply(MappedField.scala:553)
scala.List.flatMap(List.scala:1132)
net.liftweb.mapper.MappedField$class.validate(MappedField.scala:553)
net.liftweb.mapper.MappedEmail.validate(MappedEmail.scala:34)

  net.liftweb.mapper.MetaMapper$$anonfun$11.apply(MetaMapper.scala:522)

  net.liftweb.mapper.MetaMapper$$anonfun$11.apply(MetaMapper.scala:522)
scala.List.flatMap(List.scala:1132)

  net.liftweb.mapper.MetaMapper$class.runValidationList(MetaMapper.scala:522)
org.tobster.model.User$.runValidationList(User.scala:9)
net.liftweb.mapper.MetaMapper$class.validate(MetaMapper.scala:536)
org.tobster.model.User$.validate(User.scala:9)

  net.liftweb.mapper.Mapper$$anonfun$validate$1.apply(Mapper.scala:105)

  net.liftweb.mapper.Mapper$$anonfun$validate$1.apply(Mapper.scala:105)
net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65)
net.liftweb.mapper.Safe$.runSafe(Safe.scala:44)
net.liftweb.mapper.Mapper$class.runSafe(Mapper.scala:50)
org.tobster.model.User.runSafe(User.scala:24)
net.liftweb.mapper.Mapper$class.validate(Mapper.scala:104)
org.tobster.model.User.validate(User.scala:24)

  net.liftweb.mapper.MetaMegaProtoUser$class.testSignup$1(ProtoUser.scala:340)

  
 net.liftweb.mapper.MetaMegaProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUser.scala:360)

  
 net.liftweb.mapper.MetaMegaProtoUser$$anonfun$innerSignup$1$1.apply(ProtoUser.scala:360)
net.liftweb.http.S$NFuncHolder$$anonfun$apply$49.apply(S.scala:1695)
net.liftweb.http.S$NFuncHolder$$anonfun$apply$49.apply(S.scala:1695)
scala.List.map(List.scala:812)
net.liftweb.http.S$NFuncHolder.apply(S.scala:1695)

  
 net.liftweb.http.LiftSession$$anonfun$buildFunc$1$2.apply(LiftSession.scala:339)

  
 net.liftweb.http.LiftSession$$anonfun$6$$anonfun$apply$19.apply(LiftSession.scala:354)

  
 net.liftweb.http.LiftSession$$anonfun$6$$anonfun$apply$19.apply(LiftSession.scala:354)
scala.List.map(List.scala:812)
net.liftweb.http.LiftSession$$anonfun$6.apply(LiftSession.scala:354)
net.liftweb.http.LiftSession$$anonfun$6.apply(LiftSession.scala:343)
scala.List.flatMap(List.scala:1132)
net.liftweb.http.LiftSession.runParams(LiftSession.scala:343)
net.liftweb.http.LiftSession.processRequest(LiftSession.scala:543)
net.liftweb.http.LiftServlet.net
 $liftweb$http$LiftServlet$$dispatchStatefulRequest(LiftServlet.scala:239)
net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:155)
net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:155)
net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:908)

  
 net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$$anonfun$apply$18.apply(S.scala:1026)
net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:845)

  net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply(S.scala:846)
net.liftweb.mapper.DB$$anon$1.net
 $liftweb$mapper$DB$$anon$$doWith(DB.scala:117)

  
 net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB$$anon$$doWith$1.apply(DB.scala:118)

  
 net.liftweb.mapper.DB$$anon$1$$anonfun$net$liftweb$mapper$DB$$anon$$doWith$1.apply(DB.scala:118)
net.liftweb.mapper.DB$.use(DB.scala:317)
net.liftweb.mapper.DB$$anon$1.net
 $liftweb$mapper$DB$$anon$$doWith(DB.scala:118)

[Lift] Re: Lift and Goat Rodeo

2009-06-18 Thread David Pollak
On Thu, Jun 18, 2009 at 8:29 AM, TSP tim.pig...@optrak.co.uk wrote:


 Hi David,
 I am working in the typical business application space, where rdbms
 are quite nice solutions - lots of tables but in your application you
 never really need an awful lot of rows for anything other than
 consolidated reporting.
 What concerns me is that if the attention of the principal author of
 lift is on building systems for mega social networking activities that
 I really don't need, does that mean that other aspects of Lift
 development will fall by the wayside? if this is the case, will Lift
 still be a useful platform for my purposes? I may be wrong but I
 suspect most people's needs may be more prosaic.


Tim,

I'm not leaving Lift.  Lift is a critical part of Goat Rodeo, but Goat Rodeo
is necessary to span data and logic into the browser as well as the backing
store.  The concrete things you'll see out of me related to Lift in the next
few months are:

   - Completion of the record package
   - Integration of jsync into Lift for better synchronization of
   client/server state (with a bunch of security enhancements)
   - Some componentization of display logic so you'll be able to define the
   JavaScript parts of your UI in a more declarative way
   - Wizard... the ability to define multi-screen input forms

Plus, as Derek pointed out on another thread, this community totally rocks
and I'm not going anywhere because I love the people and energy in the Lift
community.

I could have made Goat Rodeo part of Lift, but it's going to be another year
or more before the Goat Rodeo APIs settle and I want to make sure that Lift
APIs are more stable.

So, no, I'm not going anywhere.  In fact, I'm not traveling in Q3 or Q4 and
I've got no book to write, so I'm much more focused on enhancing Lift,
Lift-related technologies and contributing to the Lift community.

Thanks,

David

PS -- btw, if I did get hit by a bus tomorrow, Lift would continue to grow
and thrive.  The existing Lift committers could take the project forward in
spectacular ways.  I may be the loudest mouth in the Lift community, but I
am not the biggest brain or the best coder.




 Tim
 



-- 
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] Neo4J

2009-06-18 Thread Jeremy Day
Good morning,

Has anyone used a graph database, such as Neo4J, as their back end in a Lift
project?

Jeremy

--~--~-~--~~~---~--~~
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] REST Record

2009-06-18 Thread Marius

Hi,

I think that Record framework may play a relevant role in processing
REST requests. I mean picture the following model:

class MyRecord extends Record[MyRecord] {

def meta = MyRecordMeta

object firstName extends StringField(this, John)
object lastName extends StringField(this, Doe)
 }

object MyRecordMeta extends MyRecord with MetaRecord[MyRecord] {
 override def mutable_? = false
}

In boot we could say something like:

MyRecordMeta.dispatch.append {

case (Req(create :: person :: Nil, _, _), rec) =
//rec is the record constructed by this meta record based on the
REST QS parameters.
val validationResult = MyRecordMeta.validate(rec)

...
   // return a Box[LiftResponse]
}

// The http Request would look something like: http//host/create/
person?firstName=IsaaclastName=Newton

As you can see it is very similar with DispatchPF, in fact under the
hood it will just register a DispatchPF construct the record for us
and we can use the actual information in a type safe manner.


I could add this support soon enough but first I'd like to know if you
think this would be helpful.

Br's,
Marius
--~--~-~--~~~---~--~~
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 Goat Rodeo

2009-06-18 Thread marius d.

Sorry Dave but something still escapes me.

Transaction.write also takes a TRef parameter which is never used.
Furthermore nothing seems to prevent one to call new TRef... outside a
Transaction.

I assume the normal usage is:

val ref = new Ref(QString())

ref.map(tref = // do transactional reads and writes. Very cool)

but then I can do:

val tref = new TRef(ref)

tref(QString(new val)) ... but this does not seam to be
transactional since we're outside a transaction context?

Perhaps TRef.set should call Transaction.write from a ref.map( ... )
as this gives transaction wrapping?



Br's,
Marius

On Jun 18, 6:14 pm, David Pollak feeder.of.the.be...@gmail.com
wrote:
 On Thu, Jun 18, 2009 at 4:23 AM, marius d. marius.dan...@gmail.com wrote:

  Dave is there a reason why writes are allowed outside a transaction
  boundaries ?

 Writes are not allowed outside of transactional boundaries.  You have to
 enter a transaction to get a TRef, a transactional reference.  You can only
 read or write via a TRef.





  Br's,
  Marius

  On Jun 18, 10:19 am, David Pollak feeder.of.the.be...@gmail.com
  wrote:
   Folks,

   At the end of the Scala Lift Off, after I finished my third beer, Martin
   Odersky came over to me and asked, so, what's the future of Lift?

   I gave a hand-waving answer about the features for 1.1.  But Martin is
  not a
   hand-waving kind of guy and I think I owe him and the other folks in the
   Scala and Lift communities more.

   There's a lot more that's necessary for web app development than Lift, an
   abstraction to the HTTP request/response cycle, can provide.

   Over the last couple of years, I've been noticing trends in web
  development,
   in the needs of my various consulting gigs, and in some other projects.
   It's clear to me that it's time for a unified data and data management
  model
   that goes beyond OR mapping and that is scalably transactional.  I've put
   together a model that looks to the developer like STM but is backed with
   ZooKeeper and Cassandra.  I've blogged about it athttp://
  blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-...

   Just as my web framework manifesto was the genesis of what has become
  Lift,
   I hope that my notions and ramblings in this blog post will become
  concrete,
   usable code over the next few months and a solid platform for building
  the
   next generation of web systems over the next few years... all built with
   Scala at their core.

   Thanks,

   David

   --
   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 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] lift-paypal: Paypal Production PDT not working - help!

2009-06-18 Thread Dano

I trying to get our site (buyafeature.com) live today and ran into a
problem with the paypal feature.  I am using the lift-paypal module
and things have been working just fine in development.

The problem I am seeing is that when I press the Return to Website
button in paypal, it tries to redirect to the following URL:

http://buyafeature.com/paypal/complete?tx=36627495TV601683Lst=Completedamt=5.00cc=USDcm=rRJJNK1ZJOCLMF1Ritem_number=ENTH-32196merchant_return_link=Return+to+Enthiosys%2C+Inc.form_charset=UTF-8

And then the browser shows the following error:

The Requested URL /paypal/complete was not found on this server

I tried to reproduced this on the development sandbox but it works
fine (i.e. returns to the starting page in my app and my server gets
the PDT event).

Has anyone seen this or have any ideas on what to try?

Thanks in advance.


Dan

--~--~-~--~~~---~--~~
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: Thoughts on separation of display from logic

2009-06-18 Thread Kris Nuttycombe

Though that's undeniably a bit of a rabbit hole, it would also be the
fully general solution and could have really interesting applications
in terms of being able to bind not just full NodeSeqs but individual
attributes, and even attributes in multiple nodes. Sounds like an
exciting feature to me!

onward and xbindward,

Kris

On Wed, Jun 17, 2009 at 5:29 PM, David
Pollakfeeder.of.the.be...@gmail.com wrote:
 Crud... adding xpathisms to bind... where will it end? :-)



 On Wed, Jun 17, 2009 at 3:41 PM, Kevin Wright
 kev.lee.wri...@googlemail.com wrote:

 One possibility I already considered is something like:
 bind(nodeseq, prefix,
     suffix - Text(matched an element),
     @suffix - Text(matched an attribute),
     @suffix=value - Text(matched an attribute with specified value));
 the bindings here would respectively match the elements:
 prefix:suffixcontent/prefix:suffix
 span prefix:suffix=placeholdercontent/span
 span prefix:suffix=valuecontent/span

 Use of the span elements above was an arbitrary choice
 What's missing is an intuitive way to access the node that has been bound,
 especially if you only want to change the contents

 On Wed, Jun 17, 2009 at 10:19 PM, David Pollak
 feeder.of.the.be...@gmail.com wrote:


 On Wed, Jun 17, 2009 at 2:07 PM, Kris Nuttycombe
 kris.nuttyco...@gmail.com wrote:

 We'd still need some attribute to disambiguate in the case of multiple
 textarea tags, wouldn't we?

 I don't think so. The only NodeSeq being passed to the function is the
 NodeSeq inside the tag that's getting bound to.


 Kris

 On Wed, Jun 17, 2009 at 2:51 PM, David
 Pollakfeeder.of.the.be...@gmail.com wrote:
  I can see a set of methods that look like:
  textarea(f: String = Unit)(n: NodeSeq) that will slurp the values and
  attributes out of the NodeSeq... so you'd bind like:
  biography - textarea(s = setBio(s)) _
 
  On Wed, Jun 17, 2009 at 10:22 AM, Matt Williams m...@makeable.co.uk
  wrote:
 
  I wholeheartedly agree with the philosophy of separating the display
  from the program logic, and am currently getting to grips with the
  generators, but am finding that now I end up with a degree of markup
  within my code.
 
  Can you think of any caveats to infering the node type passed, and
  dynamically using the relevant generators to construct the returned
  node.
 
  I am thinking something along the lines of:
 
  person:biography
  textarea style=myStyle cols=20 rows=5
  This is a sample of some biography text
  /textarea
  /person:biography
 
  Where it would automatically infer that it is a textarea, pass
  through
  the relevant attributes, and insert whatever function, values, etc I
  have specified in my snippet.
 
  What are your thoughts on this?
 
  Brgds,
 
  Matt
 
 
 
 
 
 
  --
  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
 
  
 





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








 --
 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: lift-paypal: Paypal Production PDT not working - help!

2009-06-18 Thread Dano

More information:

In my object which extends PaypalPDT, I had a line which overridded
the variable pdtPath:

override def pdtPath = complete



On Jun 18, 11:58 am, Dano olearydani...@gmail.com wrote:
 I trying to get our site (buyafeature.com) live today and ran into a
 problem with the paypal feature.  I am using the lift-paypal module
 and things have been working just fine in development.

 The problem I am seeing is that when I press the Return to Website
 button in paypal, it tries to redirect to the following URL:

 http://buyafeature.com/paypal/complete?tx=36627495TV601683Lst=Comple...

 And then the browser shows the following error:

 The Requested URL /paypal/complete was not found on this server

 I tried to reproduced this on the development sandbox but it works
 fine (i.e. returns to the starting page in my app and my server gets
 the PDT event).

 Has anyone seen this or have any ideas on what to try?

 Thanks in advance.

 Dan
--~--~-~--~~~---~--~~
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-paypal: Paypal Production PDT not working - help!

2009-06-18 Thread Dano

Sorry, my post got submitted too early.

When I commented out the line: override def pdtPath = complete

I get the same failure mode as in production.

Do I need to set pdtPath or what do I change to work with the default?

Thanks.


Dan

On Jun 18, 12:04 pm, Dano olearydani...@gmail.com wrote:
 More information:

 In my object which extends PaypalPDT, I had a line which overridded
 the variable pdtPath:

 override def pdtPath = complete

 On Jun 18, 11:58 am, Dano olearydani...@gmail.com wrote:

  I trying to get our site (buyafeature.com) live today and ran into a
  problem with the paypal feature.  I am using the lift-paypal module
  and things have been working just fine in development.

  The problem I am seeing is that when I press the Return to Website
  button in paypal, it tries to redirect to the following URL:

 http://buyafeature.com/paypal/complete?tx=36627495TV601683Lst=Comple...

  And then the browser shows the following error:

  The Requested URL /paypal/complete was not found on this server

  I tried to reproduced this on the development sandbox but it works
  fine (i.e. returns to the starting page in my app and my server gets
  the PDT event).

  Has anyone seen this or have any ideas on what to try?

  Thanks in advance.

  Dan
--~--~-~--~~~---~--~~
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] interaction with hibernate crowd?

2009-06-18 Thread Meredith Gregory
Lifted and Scalata,

Has anyone had any joy engaging the hibernate crowd? i've been trying every
channel i can to get someone in the hibernate know to take a look at what i
believe is a bug and no one even responds at all.

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 Goat Rodeo

2009-06-18 Thread David Pollak
Yeah... I haven't sealed things yet.  You can do these things... but not for
long. ;-)

On Jun 18, 2009 10:36 AM, marius d. marius.dan...@gmail.com wrote:


Sorry Dave but something still escapes me.

Transaction.write also takes a TRef parameter which is never used.
Furthermore nothing seems to prevent one to call new TRef... outside a
Transaction.

I assume the normal usage is:

val ref = new Ref(QString())

ref.map(tref = // do transactional reads and writes. Very cool)

but then I can do:

val tref = new TRef(ref)

tref(QString(new val)) ... but this does not seam to be
transactional since we're outside a transaction context?

Perhaps TRef.set should call Transaction.write from a ref.map( ... )
as this gives transaction wrapping?



Br's,
Marius

On Jun 18, 6:14 pm, David Pollak feeder.of.the.be...@gmail.com
wrote:

 On Thu, Jun 18, 2009 at 4:23 AM, marius d. marius.dan...@gmail.com
wrote:Dave is there a ...

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

2009-06-18 Thread Viktor Klang

I think I was the first external committer to Neo4j.It is a really  
interesting product, and I had quite a few nice use-cases for it, but  
unfortunately their adoption of AfferoGPLv3 prohibited me from using it.

Viktor,
Lift
Scala

18 jun 2009 kl. 17.39 Jeremy Day jeremy@gmail.com skrev:

 Good morning,

 Has anyone used a graph database, such as Neo4J, as their back end  
 in a Lift project?

 Jeremy

 

--~--~-~--~~~---~--~~
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-paypal: Paypal Production PDT not working - help!

2009-06-18 Thread Dano

Resolved.

I backed out my override on pdtPath and adjusted my paypal
configuration to point to /paypal/pdt and things worked.

Moral of the story: Do NOT override pdtPath!!

On Jun 18, 12:07 pm, Dano olearydani...@gmail.com wrote:
 Sorry, my post got submitted too early.

 When I commented out the line: override def pdtPath = complete

 I get the same failure mode as in production.

 Do I need to set pdtPath or what do I change to work with the default?

 Thanks.

 Dan

 On Jun 18, 12:04 pm, Dano olearydani...@gmail.com wrote:

  More information:

  In my object which extends PaypalPDT, I had a line which overridded
  the variable pdtPath:

  override def pdtPath = complete

  On Jun 18, 11:58 am, Dano olearydani...@gmail.com wrote:

   I trying to get our site (buyafeature.com) live today and ran into a
   problem with the paypal feature.  I am using the lift-paypal module
   and things have been working just fine in development.

   The problem I am seeing is that when I press the Return to Website
   button in paypal, it tries to redirect to the following URL:

  http://buyafeature.com/paypal/complete?tx=36627495TV601683Lst=Comple...

   And then the browser shows the following error:

   The Requested URL /paypal/complete was not found on this server

   I tried to reproduced this on the development sandbox but it works
   fine (i.e. returns to the starting page in my app and my server gets
   the PDT event).

   Has anyone seen this or have any ideas on what to try?

   Thanks in advance.

   Dan
--~--~-~--~~~---~--~~
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: Neo4J

2009-06-18 Thread Jeremy Day
Viktor,

Interesting.  I'm starting the very initial development on a little
commercial product and I'm thinking about using Neo4J as the back end.  I'll
need to eyeball their license again to make sure that it's compatible with
what I want to do.

Jeremy

On Thu, Jun 18, 2009 at 2:53 PM, Viktor Klang viktor.kl...@gmail.comwrote:


 I think I was the first external committer to Neo4j.It is a really
 interesting product, and I had quite a few nice use-cases for it, but
 unfortunately their adoption of AfferoGPLv3 prohibited me from using it.

 Viktor,
 Lift
 Scala

 18 jun 2009 kl. 17.39 Jeremy Day jeremy@gmail.com skrev:

  Good morning,
 
  Has anyone used a graph database, such as Neo4J, as their back end
  in a Lift project?
 
  Jeremy
 
  

 


--~--~-~--~~~---~--~~
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] Very basic questions

2009-06-18 Thread DFectuoso

Hi! I'm starting to use lift/scala(I don't know either) and already I
have a couple of (very very basic) questions.
I'm reading The definitive guide to lift and even tho it's been
enough to actually understand some of the key elements of a lift
application I am having some problems understanding some of the code
and how you people work with Lift.

1.- What tools do you use to program, debug and run the website? At
this moment I'm using text mate to program and the terminal to run
yetti; It's very slow to run yetti every time and its hard to
understand the errors so i tried eclipse but I had trouble installing
the maven plug-in so... what is your toolbox?

2.- What is _ and Full in different places?
I see that  in a binding name - SHtml.text(name, name = _)  or when
checking for cases there's a case for Full(_) and for _ ; what does _
means and what does Full mean; and whats the difference between Full
(_) and _.

3.-Reading about the flow from request to response; i cant avoid to
ask: How many times does the Boot(or bootloader) run? Once when i run
the app(or web server; yetti in my case) or once every time there's a
request?

Thank you very much!




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

2009-06-18 Thread Viktor Klang
Last time I checked they had commercial licenses for sale (contact for  
pricing details)

Viktor,
Rogue Software Architect

18 jun 2009 kl. 22.10 Jeremy Day jeremy@gmail.com skrev:

 Viktor,

 Interesting.  I'm starting the very initial development on a little  
 commercial product and I'm thinking about using Neo4J as the back  
 end.  I'll need to eyeball their license again to make sure that  
 it's compatible with what I want to do.

 Jeremy

 On Thu, Jun 18, 2009 at 2:53 PM, Viktor Klang  
 viktor.kl...@gmail.com wrote:

 I think I was the first external committer to Neo4j.It is a really
 interesting product, and I had quite a few nice use-cases for it, but
 unfortunately their adoption of AfferoGPLv3 prohibited me from using  
 it.

 Viktor,
 Lift
 Scala

 18 jun 2009 kl. 17.39 Jeremy Day jeremy@gmail.com skrev:

  Good morning,
 
  Has anyone used a graph database, such as Neo4J, as their back end
  in a Lift project?
 
  Jeremy
 
  




 

--~--~-~--~~~---~--~~
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: interaction with hibernate crowd?

2009-06-18 Thread Meredith Gregory
Viktor,

i finally got someone on the hibernate IRC channel to take a look at the
problem. He claims that if he removes the final declarator from a field for
which i have only a getter and then adds a setter hibernate works as
advertised. i will test this out. If no joy i might take you up on your kind
offer.

Best wishes,

--greg

On Thu, Jun 18, 2009 at 1:10 PM, Viktor Klang viktor.kl...@gmail.comwrote:

 Gregory, send the available debug info regarding the suspected defect and
 I'll see what I can do.

 Viktor,Rogue Software Architect

 18 jun 2009 kl. 21.24 Meredith Gregory lgreg.mered...@gmail.com skrev:

 Lifted and Scalata,

 Has anyone had any joy engaging the hibernate crowd? i've been trying every
 channel i can to get someone in the hibernate know to take a look at what i
 believe is a bug and no one even responds at all.

 Best wishes,

 --greg

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

 +1 206.650.3740

 http://biosimilarity.blogspot.comhttp://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

--~--~-~--~~~---~--~~
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: interaction with hibernate crowd?

2009-06-18 Thread Meredith Gregory
All,

Can anyone recommend an alternative to hibernate for a JPA implementation?
i've been stuck on this bug for several days, now; i need to move on.

Best wishes,

--greg

On Thu, Jun 18, 2009 at 2:09 PM, Meredith Gregory
lgreg.mered...@gmail.comwrote:

 Viktor,

 i finally got someone on the hibernate IRC channel to take a look at the
 problem. He claims that if he removes the final declarator from a field for
 which i have only a getter and then adds a setter hibernate works as
 advertised. i will test this out. If no joy i might take you up on your kind
 offer.

 Best wishes,

 --greg


 On Thu, Jun 18, 2009 at 1:10 PM, Viktor Klang viktor.kl...@gmail.comwrote:

 Gregory, send the available debug info regarding the suspected defect and
 I'll see what I can do.

 Viktor,Rogue Software Architect

 18 jun 2009 kl. 21.24 Meredith Gregory lgreg.mered...@gmail.com skrev:

 Lifted and Scalata,

 Has anyone had any joy engaging the hibernate crowd? i've been trying
 every channel i can to get someone in the hibernate know to take a look at
 what i believe is a bug and no one even responds at all.

 Best wishes,

 --greg

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

 +1 206.650.3740

 http://biosimilarity.blogspot.comhttp://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://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: Very basic questions

2009-06-18 Thread Kris Nuttycombe

Hi, and welcome to Lift!

On Thu, Jun 18, 2009 at 10:46 AM, DFectuososantiago1...@gmail.com wrote:

 Hi! I'm starting to use lift/scala(I don't know either) and already I
 have a couple of (very very basic) questions.
 I'm reading The definitive guide to lift and even tho it's been
 enough to actually understand some of the key elements of a lift
 application I am having some problems understanding some of the code
 and how you people work with Lift.

 1.- What tools do you use to program, debug and run the website? At
 this moment I'm using text mate to program and the terminal to run
 yetti; It's very slow to run yetti every time and its hard to
 understand the errors so i tried eclipse but I had trouble installing
 the maven plug-in so... what is your toolbox?

I tend to like Netbeans 6.7 (currently in rc3 status) with the Scala
plugin. Others use Eclipse, IDEA, Vim, and Emacs with varying degrees
of success. I'm not familiar with yetti (jetty?) but a lot of folks in
the Lift community use JavaRebel speed things up and avoid container
restarts. I run my app on Glassfish (with JavaRebel in development),
but any servlet container will work and jetty is probably be the best
for getting started.

 2.- What is _ and Full in different places?
 I see that  in a binding name - SHtml.text(name, name = _)  or when
 checking for cases there's a case for Full(_) and for _ ; what does _
 means and what does Full mean; and whats the difference between Full
 (_) and _.

_ is the great wildcard in Scala. In the binding example, name = _
is equivalent to the anonymous function (s: String) = name = s. A
case matching on Full(_) will match any Full box, ignoring the type of
its contents. A case matching on _ will match any value not matched by
previous clauses.

 3.-Reading about the flow from request to response; i cant avoid to
 ask: How many times does the Boot(or bootloader) run? Once when i run
 the app(or web server; yetti in my case) or once every time there's a
 request?

Boot is run on startup, and not re-run subsequently. This can cause
some trickiness when using JavaRebel; you will need to restart the
application if you make changes to Boot.

Kris

--~--~-~--~~~---~--~~
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: interaction with hibernate crowd?

2009-06-18 Thread Kris Nuttycombe

Ah, this makes sense to me. Final fields in Hibernate-manage objects
will almost certainly cause problems in my experience (at least using
field-based access; I've no experience with property-based mappings.)

Kris.

On Thu, Jun 18, 2009 at 3:09 PM, Meredith
Gregorylgreg.mered...@gmail.com wrote:
 Viktor,

 i finally got someone on the hibernate IRC channel to take a look at the
 problem. He claims that if he removes the final declarator from a field for
 which i have only a getter and then adds a setter hibernate works as
 advertised. i will test this out. If no joy i might take you up on your kind
 offer.

 Best wishes,

 --greg

 On Thu, Jun 18, 2009 at 1:10 PM, Viktor Klang viktor.kl...@gmail.com
 wrote:

 Gregory, send the available debug info regarding the suspected defect and
 I'll see what I can do.

 Viktor,
 Rogue Software Architect
 18 jun 2009 kl. 21.24 Meredith Gregory lgreg.mered...@gmail.com skrev:

 Lifted and Scalata,

 Has anyone had any joy engaging the hibernate crowd? i've been trying
 every channel i can to get someone in the hibernate know to take a look at
 what i believe is a bug and no one even responds at all.

 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

 


--~--~-~--~~~---~--~~
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: interaction with hibernate crowd?

2009-06-18 Thread Derek Chen-Becker
Is this final field something that is intended to be retrieved from the DB?
As far as I know, JPA doesn't support final fields, period. If this getter
is really just wrapping something else, it should be marked as @Transient.

Derek

On Thu, Jun 18, 2009 at 4:09 PM, Meredith Gregory
lgreg.mered...@gmail.comwrote:

 Viktor,

 i finally got someone on the hibernate IRC channel to take a look at the
 problem. He claims that if he removes the final declarator from a field for
 which i have only a getter and then adds a setter hibernate works as
 advertised. i will test this out. If no joy i might take you up on your kind
 offer.

 Best wishes,

 --greg


 On Thu, Jun 18, 2009 at 1:10 PM, Viktor Klang viktor.kl...@gmail.comwrote:

 Gregory, send the available debug info regarding the suspected defect and
 I'll see what I can do.

 Viktor,Rogue Software Architect

 18 jun 2009 kl. 21.24 Meredith Gregory lgreg.mered...@gmail.com skrev:

 Lifted and Scalata,

 Has anyone had any joy engaging the hibernate crowd? i've been trying
 every channel i can to get someone in the hibernate know to take a look at
 what i believe is a bug and no one even responds at all.

 Best wishes,

 --greg

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

 +1 206.650.3740

 http://biosimilarity.blogspot.comhttp://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

 


--~--~-~--~~~---~--~~
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-paypal: Paypal Production PDT not working - help!

2009-06-18 Thread Derek Chen-Becker
It seems to me that the pdtPath should be configurable. If other people
agree we should at least open an issue on GitHub to track this.

Derek

On Thu, Jun 18, 2009 at 3:07 PM, Dano olearydani...@gmail.com wrote:


 Resolved.

 I backed out my override on pdtPath and adjusted my paypal
 configuration to point to /paypal/pdt and things worked.

 Moral of the story: Do NOT override pdtPath!!

 On Jun 18, 12:07 pm, Dano olearydani...@gmail.com wrote:
  Sorry, my post got submitted too early.
 
  When I commented out the line: override def pdtPath = complete
 
  I get the same failure mode as in production.
 
  Do I need to set pdtPath or what do I change to work with the default?
 
  Thanks.
 
  Dan
 
  On Jun 18, 12:04 pm, Dano olearydani...@gmail.com wrote:
 
   More information:
 
   In my object which extends PaypalPDT, I had a line which overridded
   the variable pdtPath:
 
   override def pdtPath = complete
 
   On Jun 18, 11:58 am, Dano olearydani...@gmail.com wrote:
 
I trying to get our site (buyafeature.com) live today and ran into a
problem with the paypal feature.  I am using the lift-paypal module
and things have been working just fine in development.
 
The problem I am seeing is that when I press the Return to Website
button in paypal, it tries to redirect to the following URL:
 
   
 http://buyafeature.com/paypal/complete?tx=36627495TV601683Lst=Comple...
 
And then the browser shows the following error:
 
The Requested URL /paypal/complete was not found on this server
 
I tried to reproduced this on the development sandbox but it works
fine (i.e. returns to the starting page in my app and my server gets
the PDT event).
 
Has anyone seen this or have any ideas on what to try?
 
Thanks in advance.
 
Dan
 


--~--~-~--~~~---~--~~
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: interaction with hibernate crowd?

2009-06-18 Thread Meredith Gregory
Derek, Kris,

Thanks. The problem is more subtle. i have modified my code emitter to not
mark the field as final and to add the setter. i still get the same problem.
However, i've got sample code derived from the emitted code that generates
the correct schema. That is the key is used, not a tinyblob.

Best wishes,

--greg

On Thu, Jun 18, 2009 at 3:07 PM, Derek Chen-Becker dchenbec...@gmail.comwrote:

 Is this final field something that is intended to be retrieved from the DB?
 As far as I know, JPA doesn't support final fields, period. If this getter
 is really just wrapping something else, it should be marked as @Transient.

 Derek


 On Thu, Jun 18, 2009 at 4:09 PM, Meredith Gregory 
 lgreg.mered...@gmail.com wrote:

 Viktor,

 i finally got someone on the hibernate IRC channel to take a look at the
 problem. He claims that if he removes the final declarator from a field for
 which i have only a getter and then adds a setter hibernate works as
 advertised. i will test this out. If no joy i might take you up on your kind
 offer.

 Best wishes,

 --greg


 On Thu, Jun 18, 2009 at 1:10 PM, Viktor Klang viktor.kl...@gmail.comwrote:

 Gregory, send the available debug info regarding the suspected defect and
 I'll see what I can do.

 Viktor,Rogue Software Architect

 18 jun 2009 kl. 21.24 Meredith Gregory lgreg.mered...@gmail.com skrev:

 Lifted and Scalata,

 Has anyone had any joy engaging the hibernate crowd? i've been trying
 every channel i can to get someone in the hibernate know to take a look at
 what i believe is a bug and no one even responds at all.

 Best wishes,

 --greg

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

 +1 206.650.3740

 http://biosimilarity.blogspot.comhttp://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://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] Properties Files and Databases

2009-06-18 Thread Peter Robinett

Hi all,

I'm looking to switch a basic Lift install to use MySQL. I see that
this has been addressed on the wiki (http://wiki.liftweb.net/index.php/
HowTo_configure_lift_with_MySQL), though it involves hardcoding the
connection details in Boot.scala. I'd like something easier to deploy
to various machines.

The thread following Jörn's announcement of the wiki page on MySQL is
useful (http://groups.google.com/group/liftweb/browse_thread/thread/
bd4e74b68e8aa2a9/9eb2c2ef39442d63) but none of them mention using
properties files, which I understand from this mailing list (e.g.
http://groups.google.com/group/liftweb/browse_thread/thread/49eb17b5dd6fc46a)
is the best way store database settings.

So, I created src/main/resources/props/peter.db.xml:
?xml version=1.0 encoding=UTF-8?
!DOCTYPE properties SYSTEM http://java.sun.com/dtd/properties.dtd;
properties
comment/comment
entry key=db.drivercom.mysql.jdbc.Driver/entry
entry key=db.urljdbc:mysql://localhost/mydb/entry
entry key=db.usermyusername/entry
entry key=db.passwordmypassword/entry
/properties

Unfortunately, the property file does appear to be loaded, as the
DBVendor code in Boot.scala generated by the lift-archetype-basic
archetype falls back to its derby defaults. Do you have any idea what
I'm doing wrong? Not having any experience with Java, I wouldn't be
surprised if it's something as simple as getting the properties XML
wrong...

Thanks for your help!

Peter

--~--~-~--~~~---~--~~
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] Mapper and display generation

2009-06-18 Thread glenn

I'm looking for a relatively simple way to modify the form and form
elements that are generated by Mapper, such as adding or modifying
attributes.

I've been using the following method in my model classes that extend
Mapper:

def mf(in: Node, name:String, value:String): NodeSeq = in match
{
case e: Elem = e % new UnprefixedAttribute(name, Text(value),
Null)
case _ = NodeSeq.Empty
  }

I then override _toForm method in the fields, like so:

object description extends MappedString(this, 255) {
   override def _toForm = super._toForm.map(_.flatMap(mf
(_,size,80)))
  }

This adds a size attribute to the input element on the form.

I also tried this with WYMEditor, to output a xhtml editor:

object detail extends MappedTextarea(this, 1024) {
   override def _toForm = super._toForm.map(_.flatMap(mf
(_,class,wymeditor)))
  }

and it works OK. But it seems like there should be a simpler way to
style field output. Also,
if I wanted to add attributes to the submit button in the form,
itself, say if  I CRUDify my model, I have to override
crudDoForm entirely just to get to the input button. At least I think
I do.



--~--~-~--~~~---~--~~
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: Thoughts on separation of display from logic

2009-06-18 Thread David Pollak
On Thu, Jun 18, 2009 at 11:27 AM, Kris Nuttycombe kris.nuttyco...@gmail.com
 wrote:


 Though that's undeniably a bit of a rabbit hole, it would also be the
 fully general solution and could have really interesting applications
 in terms of being able to bind not just full NodeSeqs but individual
 attributes, and even attributes in multiple nodes. Sounds like an
 exciting feature to me!


You can bind to attributes right now.  You just need to use AttrBindParam
or FuncAttrBindParam on the right side of the -




 onward and xbindward,

 Kris

 On Wed, Jun 17, 2009 at 5:29 PM, David
 Pollakfeeder.of.the.be...@gmail.com wrote:
  Crud... adding xpathisms to bind... where will it end? :-)
 
 
 
  On Wed, Jun 17, 2009 at 3:41 PM, Kevin Wright
  kev.lee.wri...@googlemail.com wrote:
 
  One possibility I already considered is something like:
  bind(nodeseq, prefix,
  suffix - Text(matched an element),
  @suffix - Text(matched an attribute),
  @suffix=value - Text(matched an attribute with specified
 value));
  the bindings here would respectively match the elements:
  prefix:suffixcontent/prefix:suffix
  span prefix:suffix=placeholdercontent/span
  span prefix:suffix=valuecontent/span
 
  Use of the span elements above was an arbitrary choice
  What's missing is an intuitive way to access the node that has been
 bound,
  especially if you only want to change the contents
 
  On Wed, Jun 17, 2009 at 10:19 PM, David Pollak
  feeder.of.the.be...@gmail.com wrote:
 
 
  On Wed, Jun 17, 2009 at 2:07 PM, Kris Nuttycombe
  kris.nuttyco...@gmail.com wrote:
 
  We'd still need some attribute to disambiguate in the case of multiple
  textarea tags, wouldn't we?
 
  I don't think so. The only NodeSeq being passed to the function is the
  NodeSeq inside the tag that's getting bound to.
 
 
  Kris
 
  On Wed, Jun 17, 2009 at 2:51 PM, David
  Pollakfeeder.of.the.be...@gmail.com wrote:
   I can see a set of methods that look like:
   textarea(f: String = Unit)(n: NodeSeq) that will slurp the values
 and
   attributes out of the NodeSeq... so you'd bind like:
   biography - textarea(s = setBio(s)) _
  
   On Wed, Jun 17, 2009 at 10:22 AM, Matt Williams 
 m...@makeable.co.uk
   wrote:
  
   I wholeheartedly agree with the philosophy of separating the
 display
   from the program logic, and am currently getting to grips with the
   generators, but am finding that now I end up with a degree of
 markup
   within my code.
  
   Can you think of any caveats to infering the node type passed, and
   dynamically using the relevant generators to construct the returned
   node.
  
   I am thinking something along the lines of:
  
   person:biography
   textarea style=myStyle cols=20 rows=5
   This is a sample of some biography text
   /textarea
   /person:biography
  
   Where it would automatically infer that it is a textarea, pass
   through
   the relevant attributes, and insert whatever function, values, etc
 I
   have specified in my snippet.
  
   What are your thoughts on this?
  
   Brgds,
  
   Matt
  
  
  
  
  
  
   --
   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
  
   
  
 
 
 
 
 
  --
  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
 
 
 
 
 
 
 
 
  --
  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
 
  
 

 



-- 
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: lift-paypal: Paypal Production PDT not working - help!

2009-06-18 Thread David Pollak
On Thu, Jun 18, 2009 at 3:17 PM, Derek Chen-Becker dchenbec...@gmail.comwrote:

 It seems to me that the pdtPath should be configurable. If other people
 agree we should at least open an issue on GitHub to track this.


Sure.




 Derek


 On Thu, Jun 18, 2009 at 3:07 PM, Dano olearydani...@gmail.com wrote:


 Resolved.

 I backed out my override on pdtPath and adjusted my paypal
 configuration to point to /paypal/pdt and things worked.

 Moral of the story: Do NOT override pdtPath!!

 On Jun 18, 12:07 pm, Dano olearydani...@gmail.com wrote:
  Sorry, my post got submitted too early.
 
  When I commented out the line: override def pdtPath = complete
 
  I get the same failure mode as in production.
 
  Do I need to set pdtPath or what do I change to work with the default?
 
  Thanks.
 
  Dan
 
  On Jun 18, 12:04 pm, Dano olearydani...@gmail.com wrote:
 
   More information:
 
   In my object which extends PaypalPDT, I had a line which overridded
   the variable pdtPath:
 
   override def pdtPath = complete
 
   On Jun 18, 11:58 am, Dano olearydani...@gmail.com wrote:
 
I trying to get our site (buyafeature.com) live today and ran into
 a
problem with the paypal feature.  I am using the lift-paypal module
and things have been working just fine in development.
 
The problem I am seeing is that when I press the Return to Website
button in paypal, it tries to redirect to the following URL:
 
   
 http://buyafeature.com/paypal/complete?tx=36627495TV601683Lst=Comple...
 
And then the browser shows the following error:
 
The Requested URL /paypal/complete was not found on this server
 
I tried to reproduced this on the development sandbox but it works
fine (i.e. returns to the starting page in my app and my server gets
the PDT event).
 
Has anyone seen this or have any ideas on what to try?
 
Thanks in advance.
 
Dan



 



-- 
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: New hosting for demo.liftweb.net

2009-06-18 Thread David Pollak
On Thu, Jun 18, 2009 at 4:32 PM, Alex Boisvert boisv...@intalio.com wrote:

 Typo:

 http://www.prgmr.com/


Thanks... can't spell... can't type




 On Thu, Jun 18, 2009 at 4:18 PM, Derek Chen-Becker 
 dchenbec...@gmail.comwrote:

 Is it really at prgrm.com? If I go there it looks like a hacked site...

 http://www.prgrm.com/

 Derek


 On Thu, Jun 18, 2009 at 9:25 AM, David Pollak 
 feeder.of.the.be...@gmail.com wrote:



 On Thu, Jun 18, 2009 at 6:21 AM, TylerWeir tyler.w...@gmail.com wrote:


 Is it just the basic slice? 128 Megatrons of RAM?


 It's running on the 512mb slice... at $12/mo it seemed like a reasonable
 price to pay.




 On Jun 18, 1:45 am, David Pollak feeder.of.the.be...@gmail.com
 wrote:
  Folks,
  I'm trying a Xen slice on prgrm.com I'm currently
 runninghttp://demo.liftweb.netthere.  Woo Hoo!
 
  David
 
  --
  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







 



-- 
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: Properties Files and Databases

2009-06-18 Thread David Pollak
If your username is peter, put a file in src/main/resources/props named
peter.props
In that file, place the following lines:

db.driver=*the_name_name_of_your_driver*
db.url=*the_url_to_access_your_database*
db.user=*the_username*
db.password=*the_db_password*
test.me=true

**
**

Add the following line to Boot.scala:

println(Props.get(test.me)


When you run your app Full(true) should appear on the console and the
correct db settings should be picked up.

Thanks,

David

**

On Thu, Jun 18, 2009 at 3:49 PM, Peter Robinett pe...@bubblefoundry.comwrote:


 Hi all,

 I'm looking to switch a basic Lift install to use MySQL. I see that
 this has been addressed on the wiki (http://wiki.liftweb.net/index.php/
 HowTo_configure_lift_with_MySQL), though it involves hardcoding the
 connection details in Boot.scala. I'd like something easier to deploy
 to various machines.

 The thread following Jörn's announcement of the wiki page on MySQL is
 useful (http://groups.google.com/group/liftweb/browse_thread/thread/
 bd4e74b68e8aa2a9/9eb2c2ef39442d63) but none of them mention using
 properties files, which I understand from this mailing list (e.g.

 http://groups.google.com/group/liftweb/browse_thread/thread/49eb17b5dd6fc46a
 )
 is the best way store database settings.

 So, I created src/main/resources/props/peter.db.xml:
 ?xml version=1.0 encoding=UTF-8?
 !DOCTYPE properties SYSTEM http://java.sun.com/dtd/properties.dtd;
 properties
comment/comment
entry key=db.drivercom.mysql.jdbc.Driver/entry
entry key=db.urljdbc:mysql://localhost/mydb/entry
entry key=db.usermyusername/entry
entry key=db.passwordmypassword/entry
 /properties

 Unfortunately, the property file does appear to be loaded, as the
 DBVendor code in Boot.scala generated by the lift-archetype-basic
 archetype falls back to its derby defaults. Do you have any idea what
 I'm doing wrong? Not having any experience with Java, I wouldn't be
 surprised if it's something as simple as getting the properties XML
 wrong...

 Thanks for your help!

 Peter

 



-- 
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: Making MetaMegaProtoUser templateable

2009-06-18 Thread David Pollak
I'd suggest copying/pasting the code from ProtoUser and MegaProtoUser and
munging the code so that you don't have to work around the embedded
MegaProtoUser code.  See
http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/scala/org/apache/esme/model/User.scala?r1=779789r2=784317diff_format=h
I recently made this change to the

On Thu, Jun 18, 2009 at 1:51 PM, dflemstr david.flemst...@gmail.com wrote:


 Hello everyone,
 I'm having some problems with making the MetaMegaProtoUser edit
 method templateable (because I believe in the concept of separating
 content and design) and am succeeding quite well, except for with one
 little detail: I can't make my changes in the edit form persistent; it
 seems that the User instance gets lost somewhere in the process and
 that all the client-side changes therefore also get lost.

 The code is at the end of the message. The edit method is called with
 a template which also is at the very end of the message.

 I would really appreciate if anyone with more Lift experience than me
 could spot the mistake, because I simply cannot find it.


 -
 The snippet (inside a subclass of MetaMegaProtoUser):

  /** Create an edit form with the specified template */
  def edit(xhtml: NodeSeq) = {
val theUser: User = currentUser.open_! // we know we're logged in

def testEdit() {
  theUser.validate match {
case Nil =
  theUser.save
  S.notice(Profile updated) //The Lift Core has a spelling
 mistake in its translation, so I don't use S.??
  S.redirectTo(homePage)

case xs =
  S.error(xs)
  S.mapSnippet(S.currentSnippet.open_!, innerEdit)
  }
}

def innerEdit(t: NodeSeq) = bind(user, t,
field - ((h: NodeSeq) = localForm
 (h, theUser, true)),
submit - SHtml.submit(S.??(edit),
 testEdit _))
innerEdit(xhtml)
  }

  /** Make a form with all the editable fields of an user, from a
 template */
  protected def localForm(xhtml: NodeSeq, user: User, ignorePassword:
 Boolean): NodeSeq = {
signupFields
  .map(fi = getSingleton.getActualBaseField(user, fi)) //get
 actual fields
  .filter(f = !ignorePassword || (f match { //remove the password
 field
case f: MappedPassword[_] = false
case _ = true
  }))
  .flatMap(f =
  bind(field, xhtml,
name - Text(f.displayName),
form - f.toForm)
)
  }


 -
 The template:

 lift:surround with=default at=content
lift:User.edit form=POST
table
tbody
user:field
tr
tdfield:name//td
tdfield:form//td
/tr
/user:field
/tbody
tfoot
tr
tdnbsp;/td
tduser:submit//td
/tr
/tfoot
/table
/lift:User.edit
 /lift:surround

 



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