[Lift] Record is the default db interface in the Lift1.1 ?

2009-10-21 Thread Neil.Lv

Hi all,

  Record is the default db interface in the Lift1.1 ?

  Is there anybody who know some examples about the Record in the
lift1.1 ?

  Thanks very much ! :(

Cheers,
  Neil

--~--~-~--~~~---~--~~
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: Record is the default db interface in the Lift1.1 ?

2009-10-21 Thread Timothy Perrett

Neil,

Record is not yet the default - please use mapper unless you want a  
custom backend for some other (non-rdbms) service.

Cheers, Tim

On 21 Oct 2009, at 08:42, Neil.Lv wrote:

>
> Hi all,
>
>  Record is the default db interface in the Lift1.1 ?
>
>  Is there anybody who know some examples about the Record in the
> lift1.1 ?
>
>  Thanks very much ! :(
>
> Cheers,
>  Neil
>
> >
>


--~--~-~--~~~---~--~~
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: net.liftweb.widgets.autocomplete in version 1.1-M6

2009-10-21 Thread Tweek

Thanks,
I'd open the ticket and i'll waiting for solution.

Regards

--~--~-~--~~~---~--~~
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] Where is the default.props in the lift1.1-M6 and the Full method ?

2009-10-21 Thread Neil.Lv

Hi all,

   Where is the default.props in the lift1.1-M6 whether the file name
is defualt.props ?

   I see this code in the Boot.scala

   ###
Props.get("db.driver")
  ###

   If it uses the default Props, and where is it ?

   And i have a silly question about the helper method Full(). What
can it do for us?

   ###
 Full(user), Full(pwd)) => DriverManager.getConnection(dbUrl,
user, pwd)
   ###

   Thanks for any information!

Cheers,
  Neil

--~--~-~--~~~---~--~~
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: Where is the default.props in the lift1.1-M6 and the Full method ?

2009-10-21 Thread GA

Hello Neil,

the file must be located in src/main/resources/props/default.props

Here you have an example that it is working for us:

db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost/dbname
db.user=userName
db.password=Password

You should create the props directory and the file.

I do not know about the Full method. I also should ask the silly  
question. :-)

I hope this helps.

Cheers,

GA



On Oct 21, 2009, at 10:24 AM, Neil.Lv wrote:

>
> Hi all,
>
>   Where is the default.props in the lift1.1-M6 whether the file name
> is defualt.props ?
>
>   I see this code in the Boot.scala
>
>   ###
>Props.get("db.driver")
>  ###
>
>   If it uses the default Props, and where is it ?
>
>   And i have a silly question about the helper method Full(). What
> can it do for us?
>
>   ###
> Full(user), Full(pwd)) => DriverManager.getConnection(dbUrl,
> user, pwd)
>   ###
>
>   Thanks for any information!
>
> Cheers,
>  Neil
>
> >


--~--~-~--~~~---~--~~
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] Where is the default User table's definition ?

2009-10-21 Thread Neil.Lv

Hi all,

   I have a question about the lift's default definition.

   Where is the source file that i can find the details about the
MetaMegaProtoUser, MegaProtoUser ?

   Thanks very much !

Cheers,
  Neil

--~--~-~--~~~---~--~~
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: Record is the default db interface in the Lift1.1 ?

2009-10-21 Thread Jeppe Nejsum Madsen

Timothy Perrett  writes:

> Neil,
>
> Record is not yet the default - please use mapper unless you want a  
> custom backend for some other (non-rdbms) service.

Any timeframe for the rdbms backend?

/Jeppe


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



[Lift] Re: Trouble With JPA Book Example

2009-10-21 Thread Steve Swing

Does mvn -Dscala.version=2.7.5 install work for you?

If so you can define this in pom.xml files to avoid typing on the cmd-
line every time you build:

2.7.5


On Oct 20, 8:38 pm, AndyM  wrote:
> Still getting the same issue, with
>
> mvn -U archetype:generate  \
> -DarchetypeRepository=http://scala-tools.org/repo-snapshots\
> -DarchetypeGroupId=net.liftweb \
> -DarchetypeArtifactId=lift-archetype-jpa-basic \
> -DarchetypeVersion=1.1-SNAPSHOT \
> -DgroupId=com.foo.jpaweb \
> -DartifactId=JPADemo \
> -Dversion=1.0-SNAPSHOT
>
> On Oct 20, 7:58 pm, David Pollak 
> wrote:
>
>
>
> > For some reason the pom.xml files in the JPA archetypes referred to lift M4
> > rather than SNAPSHOT.  I've pushed a change.  Once the build 
> > (http://hudson.scala-tools.org/job/Lift/1298/) is done, try re-executing
> > your mvn command (make sure you do a mvn -U to pull the latest).
>
> > To the committers - sorry for not going through review board on this one,
> > but it was a clear problem with a clear fix (kind of like pushing a fix to a
> > type-o in documentation)
>
> > On Tue, Oct 20, 2009 at 4:28 PM, AndyM  wrote:
>
> > > I'm having trouble doing an mvn install on the JPA example from the
> > > book...
>
> > > > mvn archetype:generate \
> > > -DarchetypeRepository=http://scala-tools.org/repo-snapshots\
> > > -DarchetypeGroupId=net.liftweb \
> > > -DarchetypeArtifactId=lift-archetype-jpa-basic \
> > > -DarchetypeVersion=1.1-SNAPSHOT \
> > > -DgroupId=com.foo.jpaweb \
> > > -DartifactId=JPADemo \
> > > -Dversion=1.0-SNAPSHOT
>
> > > >cd JPADemo
> > > >mvn install
>
> > > org.apache.maven.reactor.MavenExecutionException: The POM expression: $
> > > {scala.version} could not be evaluated. Reason: Expression value '$
> > > {scala.version}' references itself in 'com.foo.jpaweb:JPADemo:pom:1.0-
> > > SNAPSHOT'. for project com.foo.jpaweb:JPADemo at /home/amast/lift/
> > > bookexample/JPADemo/pom.xml
> > >        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
> > >         [deleted for brevity]
> > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> > > Caused by: org.apache.maven.project.InvalidProjectModelException: The
> > > POM expression: ${scala.version} could not be evaluated. Reason:
> > > Expression value '${scala.version}' references itself in
> > > 'com.foo.jpaweb:JPADemo:pom:1.0-SNAPSHOT'. for project
> > > com.foo.jpaweb:JPADemo at /home/amast/lift/bookexample/JPADemo/pom.xml
> > >        at 
> > > org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal
> > > (DefaultMavenProjectBuilder.java:882)
> > >        at
>
> > > org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInte
> > >  rnal
> > > (DefaultMavenProjectBuilder.java:506)
> > >        ... [deleted for brevity]
> > > Caused by:
> > > org.apache.maven.project.interpolation.ModelInterpolationException:
> > > The POM expression: ${scala.version} could not be evaluated. Reason:
> > > Expression value '${scala.version}' references itself in
> > > 'com.foo.jpaweb:JPADemo:pom:1.0-SNAPSHOT'.
> > >        at
>
> > > org.apache.maven.project.interpolation.RegexBasedModelInterpolator.interpol
> > >  ateInternal
> > > (RegexBasedModelInterpolator.java:172)
> > > ...[deleted for brevity]
>
> > > Any help would be greatly appreciated.
>
> > --
> > Lift, the simply functional web frameworkhttp://liftweb.net
> > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > Follow me:http://twitter.com/dpp
> > Surf the harmonics

--~--~-~--~~~---~--~~
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: Where is the default User table's definition ?

2009-10-21 Thread TylerWeir

Hi Neil,

Many of your recent questions can be answered by looking at Lift's
source.

Have you cloned the GitHub repository?
http://www.github.com/dpp/liftweb

Exploring the source will only assist you in further development.

Tyler

On Oct 21, 5:45 am, "Neil.Lv"  wrote:
> Hi all,
>
>    I have a question about the lift's default definition.
>
>    Where is the source file that i can find the details about the
> MetaMegaProtoUser, MegaProtoUser ?
>
>    Thanks very much !
>
> Cheers,
>   Neil
--~--~-~--~~~---~--~~
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: Record is the default db interface in the Lift1.1 ?

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 4:10 AM, Jeppe Nejsum Madsen wrote:

>
> Timothy Perrett  writes:
>
> > Neil,
> >
> > Record is not yet the default - please use mapper unless you want a
> > custom backend for some other (non-rdbms) service.
>
> Any timeframe for the rdbms backend?
>
>
It's going to ship with 1.1, so Marius or I will have to find time in the
next 2 months.


> /Jeppe
>
>
> >
>


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

--~--~-~--~~~---~--~~
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: html not being evalutated

2009-10-21 Thread David Pollak
On Tue, Oct 20, 2009 at 10:16 PM, jack  wrote:

>
> OK, I see why this is happening. the {exp} in the NodeSeq convert exp
> to a String. So I did by creating a string and then converting it to a
> NodeSeq at the end. Is there a way to do this without using and
> intermediary string?
>

I don't know what a source is, but you really, really have to be careful
about promoting a String to a NodeSeq.  If the String has user-generated
content in it, then you've got a cross-site scripting vulnerability waiting
to happen.  For user-generated content, I suggest using Textile parser built
into Lift.

In any case, if you don't have a NodeSeq in your data structure, you'll have
to parse it into XML before displaying it.


>
> On Oct 21, 1:03 am, jack  wrote:
> > I have the following method display. source.body has html tags in it
> > but the actual tags are showing instead of being evaluated. e.g. I'm
> > seeing things like 'Hey There' instead of 'Hey There' in bold.
> > This method is in a CometActor and is running when the page is
> > rendered. Am I missing something obvious?
> >
> >  def display(sources:List[Source]):NodeSeq = {
> >
> > 
> > {
> >for {source <- sources} yield {source.body}
> > }
> >
> > 
> > 
> >   }
> >
>


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

--~--~-~--~~~---~--~~
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: Where is the default.props in the lift1.1-M6 and the Full method ?

2009-10-21 Thread Neil.Lv

Hello GA,

  Yeah, this information is very useful.

  Thank you very much !

Cheers,
  Neil

On Oct 21, 4:48 pm, GA  wrote:
> Hello Neil,
>
> the file must be located in src/main/resources/props/default.props
>
> Here you have an example that it is working for us:
>
> db.driver=org.postgresql.Driver
> db.url=jdbc:postgresql://localhost/dbname
> db.user=userName
> db.password=Password
>
> You should create the props directory and the file.
>
> I do not know about the Full method. I also should ask the silly  
> question. :-)
>
> I hope this helps.
>
> Cheers,
>
> GA
>
> On Oct 21, 2009, at 10:24 AM, Neil.Lv wrote:
>
>
>
> > Hi all,
>
> >   Where is the default.props in the lift1.1-M6 whether the file name
> > is defualt.props ?
>
> >   I see this code in the Boot.scala
>
> >   ###
> >    Props.get("db.driver")
> >  ###
>
> >   If it uses the default Props, and where is it ?
>
> >   And i have a silly question about the helper method Full(). What
> > can it do for us?
>
> >   ###
> >     Full(user), Full(pwd)) => DriverManager.getConnection(dbUrl,
> > user, pwd)
> >   ###
>
> >   Thanks for any information!
>
> > Cheers,
> >  Neil

--~--~-~--~~~---~--~~
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: Record is the default db interface in the Lift1.1 ?

2009-10-21 Thread Jeppe Nejsum Madsen

David Pollak  writes:

> On Wed, Oct 21, 2009 at 4:10 AM, Jeppe Nejsum Madsen wrote:
>
>>
>> Timothy Perrett  writes:
>>
>> > Neil,
>> >
>> > Record is not yet the default - please use mapper unless you want a
>> > custom backend for some other (non-rdbms) service.
>>
>> Any timeframe for the rdbms backend?
>>
>>
> It's going to ship with 1.1, so Marius or I will have to find time in the
> next 2 months.

Ok, thanks for the update. 

I'm not sure really how record is positioned to mapper. I haven't paid
much attention since I'm only interested in the RDBMS stuff (for now
:-), but if record is going to replace mapper as the default for RDBMS
integration, I think it's important to get some time before release of
1.1 to play with this stuff

/Jeppe


--~--~-~--~~~---~--~~
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: Where is the default User table's definition ?

2009-10-21 Thread Neil.Lv

Hello Tyler ,

  I haven't cloned the source code from github.

  Thank you very much !

Cheers,
  Neil

On Oct 21, 7:52 pm, TylerWeir  wrote:
> Hi Neil,
>
> Many of your recent questions can be answered by looking at Lift's
> source.
>
> Have you cloned the GitHub repository?http://www.github.com/dpp/liftweb
>
> Exploring the source will only assist you in further development.
>
> Tyler
>
> On Oct 21, 5:45 am, "Neil.Lv"  wrote:
>
> > Hi all,
>
> >    I have a question about the lift's default definition.
>
> >    Where is the source file that i can find the details about the
> > MetaMegaProtoUser, MegaProtoUser ?
>
> >    Thanks very much !
>
> > Cheers,
> >   Neil

--~--~-~--~~~---~--~~
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] Menu generated from database?

2009-10-21 Thread philip

Hi,

How can I get a Liftweb menu to be generated from database content?

Alternatively, can the menu come from a XML datasource? could I load/
serialize from that?
Could it change dynamically at any time?

Thanks, Philip


--~--~-~--~~~---~--~~
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: html not being evalutated

2009-10-21 Thread jack

Let's say source.body is Search.  If I put
source.body in a span like this -

{source.body}

source.body will be converted to text and the actual link tags will be
displayed. What is the right way to do this?

On Oct 21, 9:06 am, David Pollak 
wrote:
> On Tue, Oct 20, 2009 at 10:16 PM, jack  wrote:
>
> > OK, I see why this is happening. the {exp} in the NodeSeq convert exp
> > to a String. So I did by creating a string and then converting it to a
> > NodeSeq at the end. Is there a way to do this without using and
> > intermediary string?
>
> I don't know what a source is, but you really, really have to be careful
> about promoting a String to a NodeSeq.  If the String has user-generated
> content in it, then you've got a cross-site scripting vulnerability waiting
> to happen.  For user-generated content, I suggest using Textile parser built
> into Lift.
>
> In any case, if you don't have a NodeSeq in your data structure, you'll have
> to parse it into XML before displaying it.
>
>
>
>
>
> > On Oct 21, 1:03 am, jack  wrote:
> > > I have the following method display. source.body has html tags in it
> > > but the actual tags are showing instead of being evaluated. e.g. I'm
> > > seeing things like 'Hey There' instead of 'Hey There' in bold.
> > > This method is in a CometActor and is running when the page is
> > > rendered. Am I missing something obvious?
>
> > >  def display(sources:List[Source]):NodeSeq = {
>
> > >     
> > >     {
> > >        for {source <- sources} yield {source.body}
> > >     }
>
> > >     
> > >     
> > >   }
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Surf the harmonics
--~--~-~--~~~---~--~~
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: html not being evalutated

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 6:32 AM, jack  wrote:

>
> Let's say source.body is Search.  If I put
> source.body in a span like this -
>
> {source.body}
>
> source.body will be converted to text and the actual link tags will be
> displayed. What is the right way to do this?
>
>
How was source.body generated?


> On Oct 21, 9:06 am, David Pollak 
> wrote:
> > On Tue, Oct 20, 2009 at 10:16 PM, jack  wrote:
> >
> > > OK, I see why this is happening. the {exp} in the NodeSeq convert exp
> > > to a String. So I did by creating a string and then converting it to a
> > > NodeSeq at the end. Is there a way to do this without using and
> > > intermediary string?
> >
> > I don't know what a source is, but you really, really have to be careful
> > about promoting a String to a NodeSeq.  If the String has user-generated
> > content in it, then you've got a cross-site scripting vulnerability
> waiting
> > to happen.  For user-generated content, I suggest using Textile parser
> built
> > into Lift.
> >
> > In any case, if you don't have a NodeSeq in your data structure, you'll
> have
> > to parse it into XML before displaying it.
> >
> >
> >
> >
> >
> > > On Oct 21, 1:03 am, jack  wrote:
> > > > I have the following method display. source.body has html tags in it
> > > > but the actual tags are showing instead of being evaluated. e.g. I'm
> > > > seeing things like 'Hey There' instead of 'Hey There' in bold.
> > > > This method is in a CometActor and is running when the page is
> > > > rendered. Am I missing something obvious?
> >
> > > >  def display(sources:List[Source]):NodeSeq = {
> >
> > > > 
> > > > {
> > > >for {source <- sources} yield {source.body}
> > > > }
> >
> > > > 
> > > > 
> > > >   }
> >
> > --
> > Lift, the simply functional web frameworkhttp://liftweb.net
> > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > Follow me:http://twitter.com/dpp
> > Surf the harmonics
> >
>


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

--~--~-~--~~~---~--~~
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] Enhance Msgs snippet to show all messages

2009-10-21 Thread Heiko Seeberger
Hi,
I had a hard time figuring out why the ProtoUser's changePassword page will
show an error message when the wrong old password is given but won't show
any messages when the new password is too short or two different new
passwords are entered. In the end it is very simple: The first error is not
related to a particular field, because it is created via S.error(??"Some
error text")), and the second error comes from a validation of a mapped
field. Now the Msgs built-in snippet will only display messages NOT related
to a particular field.

I propose to enhance the Msgs snippet such that it can be configured to
display ALL messages, e.g. via an showAll attribute. What do you think?

Heiko

--

My job: weiglewilczek.com
My blog: heikoseeberger.name
Follow me: twitter.com/hseeberger
OSGi on Scala: scalamodules.org
Lift, the simply functional web framework: liftweb.net

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



[Lift] Re: html not being evalutated

2009-10-21 Thread Jack Widman
Oops. I just noticed I made source.body a String and not a NodeSeq.
Sometimes source.body is text with html tags in it. Like -

Hey dude, what are you doing?
I guess I should make it a NodeSeq. Sorry about that.
Jack

On Wed, Oct 21, 2009 at 9:33 AM, David Pollak  wrote:

>
>
> On Wed, Oct 21, 2009 at 6:32 AM, jack  wrote:
>
>>
>> Let's say source.body is Search.  If I put
>> source.body in a span like this -
>>
>> {source.body}
>>
>> source.body will be converted to text and the actual link tags will be
>> displayed. What is the right way to do this?
>>
>>
> How was source.body generated?
>
>
>> On Oct 21, 9:06 am, David Pollak 
>> wrote:
>> > On Tue, Oct 20, 2009 at 10:16 PM, jack  wrote:
>> >
>> > > OK, I see why this is happening. the {exp} in the NodeSeq convert exp
>> > > to a String. So I did by creating a string and then converting it to a
>> > > NodeSeq at the end. Is there a way to do this without using and
>> > > intermediary string?
>> >
>> > I don't know what a source is, but you really, really have to be careful
>> > about promoting a String to a NodeSeq.  If the String has user-generated
>> > content in it, then you've got a cross-site scripting vulnerability
>> waiting
>> > to happen.  For user-generated content, I suggest using Textile parser
>> built
>> > into Lift.
>> >
>> > In any case, if you don't have a NodeSeq in your data structure, you'll
>> have
>> > to parse it into XML before displaying it.
>> >
>> >
>> >
>> >
>> >
>> > > On Oct 21, 1:03 am, jack  wrote:
>> > > > I have the following method display. source.body has html tags in it
>> > > > but the actual tags are showing instead of being evaluated. e.g. I'm
>> > > > seeing things like 'Hey There' instead of 'Hey There' in
>> bold.
>> > > > This method is in a CometActor and is running when the page is
>> > > > rendered. Am I missing something obvious?
>> >
>> > > >  def display(sources:List[Source]):NodeSeq = {
>> >
>> > > > 
>> > > > {
>> > > >for {source <- sources} yield {source.body}
>> > > > }
>> >
>> > > > 
>> > > > 
>> > > >   }
>> >
>> > --
>> > Lift, the simply functional web frameworkhttp://liftweb.net
>> > Beginning Scalahttp://www.apress.com/book/view/1430219890
>> > Follow me:http://twitter.com/dpp
>> > Surf the harmonics
>>
>>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
>
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
> >
>


-- 
Jack

--~--~-~--~~~---~--~~
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: Where is the default.props in the lift1.1-M6 and the Full method ?

2009-10-21 Thread Jim Barrows
On Wed, Oct 21, 2009 at 1:48 AM, GA  wrote:

>
> Hello Neil,
>
> the file must be located in src/main/resources/props/default.props
>
> Here you have an example that it is working for us:
>
> db.driver=org.postgresql.Driver
> db.url=jdbc:postgresql://localhost/dbname
> db.user=userName
> db.password=Password
>
> You should create the props directory and the file.
>
> I do not know about the Full method. I also should ask the silly
> question. :-)
>

Look at the Box class.  This works like Scala's Option class, only more
specialized for web development.


>
> I hope this helps.
>
> Cheers,
>
> GA
>
>
>
> On Oct 21, 2009, at 10:24 AM, Neil.Lv wrote:
>
> >
> > Hi all,
> >
> >   Where is the default.props in the lift1.1-M6 whether the file name
> > is defualt.props ?
> >
> >   I see this code in the Boot.scala
> >
> >   ###
> >Props.get("db.driver")
> >  ###
> >
> >   If it uses the default Props, and where is it ?
> >
> >   And i have a silly question about the helper method Full(). What
> > can it do for us?
> >
> >   ###
> > Full(user), Full(pwd)) => DriverManager.getConnection(dbUrl,
> > user, pwd)
> >   ###
> >
> >   Thanks for any information!
> >
> > Cheers,
> >  Neil
> >
> > >
>
>
> >
>


-- 
James A Barrows

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



[Lift] Re: Menu generated from database?

2009-10-21 Thread Jim Barrows
On Wed, Oct 21, 2009 at 6:26 AM, philip  wrote:

>
> Hi,
>
> How can I get a Liftweb menu to be generated from database content?
>

The meditative answer is: functions are first class citizens in Scala. :)


>
> Alternatively, can the menu come from a XML datasource? could I load/
> serialize from that?
> Could it change dynamically at any time?
>

//From Bootstrap
 // Build SiteMap
val entries =
  Menu(Loc("Home",   List("index"),"Home")) ::
  Menu(Loc("Create", List("createBusiness"), "Create Business", Hidden))
::
  Nil

LiftRules.setSiteMap(SiteMap(entries:_*))

so you could replace any menu entry in the above with a function call that
returns a single, or list of Menu's.


>
> Thanks, Philip
>
>
> >
>


-- 
James A Barrows

--~--~-~--~~~---~--~~
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: Enhance Msgs snippet to show all messages

2009-10-21 Thread Marius

Why not use both  and  ?

Br's,
Marius

On Oct 21, 4:39 pm, Heiko Seeberger 
wrote:
> Hi,
> I had a hard time figuring out why the ProtoUser's changePassword page will
> show an error message when the wrong old password is given but won't show
> any messages when the new password is too short or two different new
> passwords are entered. In the end it is very simple: The first error is not
> related to a particular field, because it is created via S.error(??"Some
> error text")), and the second error comes from a validation of a mapped
> field. Now the Msgs built-in snippet will only display messages NOT related
> to a particular field.
>
> I propose to enhance the Msgs snippet such that it can be configured to
> display ALL messages, e.g. via an showAll attribute. What do you think?
>
> Heiko
>
> --
>
> My job: weiglewilczek.com
> My blog: heikoseeberger.name
> Follow me: twitter.com/hseeberger
> OSGi on Scala: scalamodules.org
> Lift, the simply functional web framework: liftweb.net
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: get warnings for every request

2009-10-21 Thread Derek Chen-Becker
No, I think you're remembering something different. Right now I'm working on
time formatting, double SQL logging and improved MS SQL server support.

Derek

On Tue, Oct 20, 2009 at 11:13 AM, Marius  wrote:

>
> Yup please file a ticket. I think Derek worked on this a while ago.
> Derek, please correct me if I'm wrong
>
> Br's,
> Marius
>
> On Oct 20, 5:16 pm, Ross Mellgren  wrote:
> > I encountered these and sent a message to the list last week or so. I
> > didn't hear anything back, maybe the best route is to file an issue?
> >
> > http://github.com/dpp/liftweb/issues
> >
> > -Ross
> >
> > On Oct 20, 2009, at 5:30 AM, night_stalker wrote:
> >
> >
> >
> > > Hi all.
> > > When using , the result page is fine as I wished,
> > > yet these warnings run into the log for every request:
> >
> > > WARN - Unused binding values for : content, main
> > > WARN - Unused binding values for : sidebar, main
> > > WARN - Unused binding values for : sidebar
> >
> > > Am I missing something, or, can I disable these warnings?
> > > The lift version is 1.1-M6, template code are like below:
> >
> > > 
> > > templates-hidden/someLayout.html
> >
> > > ...begin stuff
> > > 
> > > ...between stuff
> > > 
> > > ...end stuff
> >
> > > 
> > > somePage.html
> >
> > > 
> > >  
> > >...sidebar stuff
> > >  
> > >  
> > >...content stuff
> > >  
> > > 
> >
>

--~--~-~--~~~---~--~~
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: Rolling out the new Lift Actors code

2009-10-21 Thread Derek Chen-Becker
I like making big changes on Wednesdays, so I would say push it now. I
suppose tomorrow would work, too, but I would be very reluctant to do it on
Friday.

Derek

On Tue, Oct 20, 2009 at 4:35 PM, David Pollak  wrote:

> Folks,
>
> I've just pushed the completed Lift Actor code to the dpp_wip_actorize
> branch.  Jonas and I coordinated on the Actor API and Akka Actors will use
> the same basic trait so Akka Actors could be used to power Lift's Comet.
>
> I am ready to push this code to SNAPSHOT.  When I do this, there will be
> breaking changes to all Lift apps (basically, you'll have to import
> net.liftweb.base._)
>
> Does anyone have a timetable for this push?  I'd like to have at least a
> week of solid testing before we do Milestone 7 (currently scheduled for
> November 4th).
>
> Please let me know your thoughts.
>
> 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
> Surf the harmonics
>
> >
>

--~--~-~--~~~---~--~~
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: S.uri not including query params

2009-10-21 Thread Derek Chen-Becker
http://github.com/dpp/liftweb/issues/#issue/121

If I have some time this afternoon I'll fix it.

On Tue, Oct 20, 2009 at 8:07 PM, Naftoli Gugenheim wrote:

>
> Then my addition to MetaMegaProtoUser of loginRedirect has a bug, because
> loginFirst sets it based on S.uri.
> Since I'm not usually around an internet connection, I won't be able to go
> through filing a ticket, putting a diff on Review Board, and pushing it, in
> any small amount of time.
>
>
> -
> David Pollak wrote:
>
> On Tue, Oct 20, 2009 at 2:48 PM, Naftoli Gugenheim  >wrote:
>
> > Is S.uri supposed to return the part of the URL after '?'?
> >
>
> No
>
>
> > >
> >
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
>
>
> >
>

--~--~-~--~~~---~--~~
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: Are we willing to make a breaking change for Joda Time?

2009-10-21 Thread Derek Chen-Becker
It sounds like you're pretty set against making separate impl traits and
would prefer just putting things directly on TimeHelper. I'm OK with that,
but I would really like to add a lift-joda module that contains the
JodaHelpers, JodaTimeFormats and JodaTimeHelpers traits as I would like to
use them. I should be able to delegate a good chunk of the methods to
TimeHelpers.jt*, so there shouldn't be any *redundant* code. Is that a
reasonable compromise?

Derek

On Tue, Oct 20, 2009 at 11:35 PM, Derek Chen-Becker
wrote:

> I agree that the goal isn't to remove java.util.Date. For trivial time
> handling it works just fine. What I'm trying to achieve here is a way to
> make Joda Time be the default impl while leaving the user a choice. By using
> separate traits instead of different names on the same trait, we achieve a
> few things:
>
>1. A consistent API for both java.util and Joda Time in terms of method
>names. As Naftoli pointed out, people expect naming of functions consistent
>with what they do and having two different "now"s on the same trait is 
> going
>to look a little strange to people, I think.
>2. A clean *optional* usage of Joda Time. If we put code that utilizes
>Joda Time directly into TimeHelpers then it's not an optional dependency.
>Making a separate trait means that if someone doesn't use the Joda Time
>trait then they don't need to have the Joda Time jar in their classpath and
>they never know that it's not there.
>3. A relatively simple code change path to move from java.util to Joda
>Time by simply changing imports.
>
> Your assertion that Date is a simple wrapper for a Long timestamp is pretty
> accurate, but really Joda Time's DateTime is a superset of *Calendar*, not
> Date. Just look at what we had to do with CalendarExtension to get some
> simple date manipulation functions, where those same methods are already
> defined on DateTime. The vast majority of Joda Time's classes are immutable,
> and the mutators return new instances instead of modifying the current
> instance. TimeSpan's current handling of duration addition doesn't cope with
> DST, which I'm sure will show up as a bug in someone's code if it hasn't
> already. Having done a fair amount of java.util.Date handling and then
> moving to Joda Time, I find it hard to call the difference between the two
> APIs "marginal". In any case, I still feel that my proposal makes Joda Time
> available in a nicer way while leaving existing code completely untouched
> (by introducing a JodaHelpers trait that mirrors Helpers).
>
> Derek
>
>
> On Tue, Oct 20, 2009 at 9:25 PM, David Pollak <
> feeder.of.the.be...@gmail.com> wrote:
>
>>
>>
>> On Tue, Oct 20, 2009 at 6:56 PM, Naftoli Gugenheim 
>> wrote:
>>
>>>
>>> I agree with this.
>>> My understanding is that the goal is that Lift should use Joda for its
>>> time functions rather than java.util.
>>
>>
>> This is not the goal.  The goal is to make JodeTime available.  There is
>> no reason to remove support for java.util.Date.  None.
>>
>> JodaTime offers some advantages, but there's no reason, none, nada, to
>> *remove* support for java.util.Date.
>>
>> I'm cool with different names (not jtNow, but choose something else).
>>
>> But I view removal of support for java.util.Date as gratuitous.  Sure, if
>> we were to make the clean-slate decision today, I'd opt for primary support
>> of JodaTime and secondary support for java.util.Date.  But we're making a
>> decision based on legacy.  We're not going to cut off java.util.Date just
>> because something marginally better (and I'm not being facetious here... at
>> the bottom, these are just wrappers for number of milliseconds since Jan 1,
>> 1970).
>>
>>
>>> If the Joda methods have different and longer names, then it's existing
>>> side by side with the java.util implementation, not replacing it.
>>> To many people, it is important that methods etc. should be named
>>> properly and aesthetically. It's not pleasant to use names like "jtNow" in
>>> your code when that is the method that gets used normally. Sure, if 'now'
>>> was the usual method and a 'jtNow' method was called in special
>>> circumstances, it's an understandable name. But names that are used in
>>> ordinary circumstances should have straightforward names.
>>> (Names should be concise expressions of what they represent. This aids in
>>> memorization and code readability.)
>>> Also, it will be impossible to deprecate the java.util implementation and
>>> have a clean API instead. If we use separate traits with the same method
>>> names, then we will be able to.
>>>
>>>
>>> -
>>> Derek Chen-Becker wrote:
>>>
>>> On Tue, Oct 20, 2009 at 4:59 PM, David Pollak <
>>> feeder.of.the.be...@gmail.com
>>> > wrote:
>>>
>>> > What I checked in allows you to use JodaTime just as easily (well with
>>> 2
>>> > extra characters in a few method names) as java.util.Date.  How is
>>> anything
>>> > more "default" than that?

[Lift] Re: Rolling out the new Lift Actors code

2009-10-21 Thread David Pollak
Okay, it's up on review board http://reviewboard.liftweb.net/r/54/

I'm not sure a review will be the right answer (it's 14 pages of diffs,
mostly header file changes), but once I get two thumbs up on the patch, I'll
apply it and send out a message to the list.

On Wed, Oct 21, 2009 at 7:14 AM, Derek Chen-Becker wrote:

> I like making big changes on Wednesdays, so I would say push it now. I
> suppose tomorrow would work, too, but I would be very reluctant to do it on
> Friday.
>
> Derek
>
>
> On Tue, Oct 20, 2009 at 4:35 PM, David Pollak <
> feeder.of.the.be...@gmail.com> wrote:
>
>> Folks,
>>
>> I've just pushed the completed Lift Actor code to the dpp_wip_actorize
>> branch.  Jonas and I coordinated on the Actor API and Akka Actors will use
>> the same basic trait so Akka Actors could be used to power Lift's Comet.
>>
>> I am ready to push this code to SNAPSHOT.  When I do this, there will be
>> breaking changes to all Lift apps (basically, you'll have to import
>> net.liftweb.base._)
>>
>> Does anyone have a timetable for this push?  I'd like to have at least a
>> week of solid testing before we do Milestone 7 (currently scheduled for
>> November 4th).
>>
>> Please let me know your thoughts.
>>
>> 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
>> Surf the harmonics
>>
>>
>>
>
> >
>


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

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



[Lift] Re: Menu generated from database?

2009-10-21 Thread David Pollak
I owe the list example code to do this... maybe tomorrow.

On Wed, Oct 21, 2009 at 6:26 AM, philip  wrote:

>
> Hi,
>
> How can I get a Liftweb menu to be generated from database content?
>
> Alternatively, can the menu come from a XML datasource? could I load/
> serialize from that?
> Could it change dynamically at any time?
>
> Thanks, Philip
>
>
> >
>


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

--~--~-~--~~~---~--~~
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: Rolling out the new Lift Actors code

2009-10-21 Thread Indrajit Raychaudhuri



On 21/10/09 4:05 AM, David Pollak wrote:
> Folks,
>
> I've just pushed the completed Lift Actor code to the dpp_wip_actorize
> branch.  Jonas and I coordinated on the Actor API and Akka Actors will
> use the same basic trait so Akka Actors could be used to power Lift's Comet.
>
> I am ready to push this code to SNAPSHOT.  When I do this, there will be
> breaking changes to all Lift apps (basically, you'll have to import
> net.liftweb.base._)

We have had some discussion on the list regarding the package name of 
net.liftweb.base sometime back. 
(http://groups.google.com/group/liftweb/browse_thread/thread/e26e765b9c991a2b/5bd9a5e0b5278083)

Eventually, the settlement was:
1. lift-base in dpp_wip_actorize would be renamed lift-common
2. lift-base = (lift-common, lift-util, lift-json, lift-actor,
lift-webkit)

Assuming that, I was hoping if we could have the imports 
net.liftweb.common._ instead of net.liftweb.base._

>
> Does anyone have a timetable for this push?  I'd like to have at least a
> week of solid testing before we do Milestone 7 (currently scheduled for
> November 4th).

I am working on the restructure on a separate branch. Would be good to 
get done with this in next couple of days. I can hold that back and 
factor in these changes before publishing the restructure branch for review.

>
> Please let me know your thoughts.
>
> 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
> Surf the harmonics
>
> >

--~--~-~--~~~---~--~~
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: get warnings for every request

2009-10-21 Thread Marius

Ok ... my memory chip may be corrupted :D

On Oct 21, 5:12 pm, Derek Chen-Becker  wrote:
> No, I think you're remembering something different. Right now I'm working on
> time formatting, double SQL logging and improved MS SQL server support.
>
> Derek
>
> On Tue, Oct 20, 2009 at 11:13 AM, Marius  wrote:
>
> > Yup please file a ticket. I think Derek worked on this a while ago.
> > Derek, please correct me if I'm wrong
>
> > Br's,
> > Marius
>
> > On Oct 20, 5:16 pm, Ross Mellgren  wrote:
> > > I encountered these and sent a message to the list last week or so. I
> > > didn't hear anything back, maybe the best route is to file an issue?
>
> > >http://github.com/dpp/liftweb/issues
>
> > > -Ross
>
> > > On Oct 20, 2009, at 5:30 AM, night_stalker wrote:
>
> > > > Hi all.
> > > > When using , the result page is fine as I wished,
> > > > yet these warnings run into the log for every request:
>
> > > > WARN - Unused binding values for : content, main
> > > > WARN - Unused binding values for : sidebar, main
> > > > WARN - Unused binding values for : sidebar
>
> > > > Am I missing something, or, can I disable these warnings?
> > > > The lift version is 1.1-M6, template code are like below:
>
> > > > 
> > > > templates-hidden/someLayout.html
>
> > > > ...begin stuff
> > > > 
> > > > ...between stuff
> > > > 
> > > > ...end stuff
>
> > > > 
> > > > somePage.html
>
> > > > 
> > > >  
> > > >    ...sidebar stuff
> > > >  
> > > >  
> > > >    ...content stuff
> > > >  
> > > > 
--~--~-~--~~~---~--~~
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] multiple datasources and/or JNDI definitions

2009-10-21 Thread opyate

Hello Lift committers,

I have a quick question about defining a datasource. I usually do it
like this:

DefaultConnectionIdentifier.jndiName = "jdbc/myApp"
// use default internal Derby DB if there's not already a JNDI
connection defined
if (!DB.jndiJdbcConnAvailable_?) { // looks at
DefaultConnectionIdentifier
  Log.warn("No JNDI configured - using default built-in Derby
database.")
  DB.defineConnectionManager(DefaultConnectionIdentifier,
DerbyDBVendor)
}

Is DerbyDBVendor in this case a fallback datasource? (Presumably it
is, if the JNDI lookup is not available...)

If so, this leads to my next question, relating to defining extra
(i.e. non-default) datasources.

The only way (it seems) for me to do it, is by using:

DB.defineConnectionManager(CustomConnId1, SomeDBVendor1)
DB.defineConnectionManager(CustomConnId2, SomeDBVendor2) //
CustomConnId1/2 points to defined JNDI lookups

Is there a way to define custom datasources without specifying a
fallback SomeDBVendor1, SomeDBVendor2, etc?
I couldn't see anything obvious in the latest checkout of DB.scala

At the moment I'm forced to define these fallbacks, and when my app
context reloads, poor Derby steps on its own toes:

Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList
(FileChannelImpl.java:1170)
at sun.nio.ch.FileChannelImpl$SharedFileLockTable.add
(FileChannelImpl.java:1072)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:878)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:962)
at org.apache.derby.impl.io.DirFile4.getExclusiveFileLock(Unknown
Source)

I understand that SomeDBVendor1/2 could contain my db connection
details, but I don't want to have db connection details specified in
ConnectionManager instances in my code, and would rather keep them in
JNDI lookups, and said ConnectionManager instances seems to be
compulsory at this stage.

Please shed some light - I might be missing the boat again
completely :-)

Ultimately I'd like to have the same control over my extra datasources
than I do over DefaultConnectionIdentifier.

Thanks,
Juan

--~--~-~--~~~---~--~~
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: Rolling out the new Lift Actors code

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 9:34 AM, Indrajit Raychaudhuri
wrote:

>
>
>
> On 21/10/09 4:05 AM, David Pollak wrote:
> > Folks,
> >
> > I've just pushed the completed Lift Actor code to the dpp_wip_actorize
> > branch.  Jonas and I coordinated on the Actor API and Akka Actors will
> > use the same basic trait so Akka Actors could be used to power Lift's
> Comet.
> >
> > I am ready to push this code to SNAPSHOT.  When I do this, there will be
> > breaking changes to all Lift apps (basically, you'll have to import
> > net.liftweb.base._)
>
> We have had some discussion on the list regarding the package name of
> net.liftweb.base sometime back.
> (
> http://groups.google.com/group/liftweb/browse_thread/thread/e26e765b9c991a2b/5bd9a5e0b5278083
> )
>
> Eventually, the settlement was:
> 1. lift-base in dpp_wip_actorize would be renamed lift-common
> 2. lift-base = (lift-common, lift-util, lift-json, lift-actor,
> lift-webkit)
>
> Assuming that, I was hoping if we could have the imports
> net.liftweb.common._ instead of net.liftweb.base._
>

Okay, please make the changes to the package names.


>
> >
> > Does anyone have a timetable for this push?  I'd like to have at least a
> > week of solid testing before we do Milestone 7 (currently scheduled for
> > November 4th).
>
> I am working on the restructure on a separate branch. Would be good to
> get done with this in next couple of days. I can hold that back and
> factor in these changes before publishing the restructure branch for
> review.
>
> >
> > Please let me know your thoughts.
> >
> > 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
> > Surf the harmonics
> >
> > >
>
> >
>


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

--~--~-~--~~~---~--~~
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 - wrong database?

2009-10-21 Thread TSP

I tried to construct a test case and the problem seems to have
mysteriously disappeared. Possibly something to do with clean builds.
Sorry to cry wolf.

Tim

--~--~-~--~~~---~--~~
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: Rolling out the new Lift Actors code

2009-10-21 Thread Timothy Perrett
I think when the changes are merged to master there should be some  
kind of announcement to the list explaining the ramifications and the  
things that will break (along with solutions)

Cheers, Tim

On 21 Oct 2009, at 17:54, David Pollak wrote:

>
>
> On Wed, Oct 21, 2009 at 9:34 AM, Indrajit Raychaudhuri  > wrote:
>
>
>
> On 21/10/09 4:05 AM, David Pollak wrote:
> > Folks,
> >
> > I've just pushed the completed Lift Actor code to the  
> dpp_wip_actorize
> > branch.  Jonas and I coordinated on the Actor API and Akka Actors  
> will
> > use the same basic trait so Akka Actors could be used to power  
> Lift's Comet.
> >
> > I am ready to push this code to SNAPSHOT.  When I do this, there  
> will be
> > breaking changes to all Lift apps (basically, you'll have to import
> > net.liftweb.base._)
>
> We have had some discussion on the list regarding the package name of
> net.liftweb.base sometime back.
> (http://groups.google.com/group/liftweb/browse_thread/thread/e26e765b9c991a2b/5bd9a5e0b5278083
>  
> )
>
> Eventually, the settlement was:
> 1. lift-base in dpp_wip_actorize would be renamed lift-common
> 2. lift-base = (lift-common, lift-util, lift-json, lift-actor,
> lift-webkit)
>
> Assuming that, I was hoping if we could have the imports
> net.liftweb.common._ instead of net.liftweb.base._
>
> Okay, please make the changes to the package names.
>
>
> >
> > Does anyone have a timetable for this push?  I'd like to have at  
> least a
> > week of solid testing before we do Milestone 7 (currently  
> scheduled for
> > November 4th).
>
> I am working on the restructure on a separate branch. Would be good to
> get done with this in next couple of days. I can hold that back and
> factor in these changes before publishing the restructure branch for  
> review.
>
> >
> > Please let me know your thoughts.
> >
> > 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
> > Surf the harmonics
> >
> > >
>
>
>
>
>
> -- 
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
> >


--~--~-~--~~~---~--~~
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: Rolling out the new Lift Actors code

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 10:05 AM, Timothy Perrett
wrote:

> I think when the changes are merged to master there should be some kind of
> announcement to the list explaining the ramifications and the things that
> will break (along with solutions)
>

Yeah... I own that.


>
> Cheers, Tim
>
> On 21 Oct 2009, at 17:54, David Pollak wrote:
>
>
>
> On Wed, Oct 21, 2009 at 9:34 AM, Indrajit Raychaudhuri <
> indraj...@gmail.com> wrote:
>
>>
>>
>>
>> On 21/10/09 4:05 AM, David Pollak wrote:
>> > Folks,
>> >
>> > I've just pushed the completed Lift Actor code to the dpp_wip_actorize
>> > branch.  Jonas and I coordinated on the Actor API and Akka Actors will
>> > use the same basic trait so Akka Actors could be used to power Lift's
>> Comet.
>> >
>> > I am ready to push this code to SNAPSHOT.  When I do this, there will be
>> > breaking changes to all Lift apps (basically, you'll have to import
>> > net.liftweb.base._)
>>
>> We have had some discussion on the list regarding the package name of
>> net.liftweb.base sometime back.
>> (
>> http://groups.google.com/group/liftweb/browse_thread/thread/e26e765b9c991a2b/5bd9a5e0b5278083
>> )
>>
>> Eventually, the settlement was:
>> 1. lift-base in dpp_wip_actorize would be renamed lift-common
>> 2. lift-base = (lift-common, lift-util, lift-json, lift-actor,
>> lift-webkit)
>>
>> Assuming that, I was hoping if we could have the imports
>> net.liftweb.common._ instead of net.liftweb.base._
>>
>
> Okay, please make the changes to the package names.
>
>
>>
>> >
>> > Does anyone have a timetable for this push?  I'd like to have at least a
>> > week of solid testing before we do Milestone 7 (currently scheduled for
>> > November 4th).
>>
>> I am working on the restructure on a separate branch. Would be good to
>> get done with this in next couple of days. I can hold that back and
>> factor in these changes before publishing the restructure branch for
>> review.
>>
>> >
>> > Please let me know your thoughts.
>> >
>> > 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
>> > Surf the harmonics
>> >
>> > >
>>
>>
>>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
>
>
>
> >
>


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

--~--~-~--~~~---~--~~
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: Enhance Msgs snippet to show all messages

2009-10-21 Thread Heiko Seeberger
Created Issue 123 and put on reviewboard.
Heiko

2009/10/21 Heiko Seeberger 

> Because that will lead to two different sections on the page (take a look
> at the attachment).
> Heiko
>
> 2009/10/21 Marius 
>
>
>> Why not use both  and  ?
>>
>> Br's,
>> Marius
>>
>> On Oct 21, 4:39 pm, Heiko Seeberger 
>> wrote:
>> > Hi,
>> > I had a hard time figuring out why the ProtoUser's changePassword page
>> will
>> > show an error message when the wrong old password is given but won't
>> show
>> > any messages when the new password is too short or two different new
>> > passwords are entered. In the end it is very simple: The first error is
>> not
>> > related to a particular field, because it is created via S.error(??"Some
>> > error text")), and the second error comes from a validation of a mapped
>> > field. Now the Msgs built-in snippet will only display messages NOT
>> related
>> > to a particular field.
>> >
>> > I propose to enhance the Msgs snippet such that it can be configured to
>> > display ALL messages, e.g. via an showAll attribute. What do you think?
>> >
>> > Heiko
>> >
>> > --
>> >
>> > My job: weiglewilczek.com
>> > My blog: heikoseeberger.name
>> > Follow me: twitter.com/hseeberger
>> > OSGi on Scala: scalamodules.org
>> > Lift, the simply functional web framework: liftweb.net
>> >>
>>
>
>
> --
> Heiko Seeberger
>
> My job: weiglewilczek.com
> My blog: heikoseeberger.name
> Follow me: twitter.com/hseeberger
> OSGi on Scala: scalamodules.org
> Lift, the simply functional web framework: liftweb.net
>



-- 
Heiko Seeberger

My job: weiglewilczek.com
My blog: heikoseeberger.name
Follow me: twitter.com/hseeberger
OSGi on Scala: scalamodules.org
Lift, the simply functional web framework: liftweb.net

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



[Lift] Re: Rolling out the new Lift Actors code

2009-10-21 Thread Jonas Bonér

2009/10/21 David Pollak :
> Folks,
>
> I've just pushed the completed Lift Actor code to the dpp_wip_actorize
> branch.  Jonas and I coordinated on the Actor API and Akka Actors will use
> the same basic trait so Akka Actors could be used to power Lift's Comet.

Very cool David. I'll implement the new API ASAP. I'm very excited
about this. Thanks for making it happen.

>
> I am ready to push this code to SNAPSHOT.  When I do this, there will be
> breaking changes to all Lift apps (basically, you'll have to import
> net.liftweb.base._)
>
> Does anyone have a timetable for this push?  I'd like to have at least a
> week of solid testing before we do Milestone 7 (currently scheduled for
> November 4th).
>
> Please let me know your thoughts.
>
> 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
> Surf the harmonics
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner
code:   http://akkasource.org

--~--~-~--~~~---~--~~
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 - wrong database?

2009-10-21 Thread Derek Chen-Becker
No worries, it happens.

On Wed, Oct 21, 2009 at 11:02 AM, TSP  wrote:

>
> I tried to construct a test case and the problem seems to have
> mysteriously disappeared. Possibly something to do with clean builds.
> Sorry to cry wolf.
>
> Tim
>
> >
>

--~--~-~--~~~---~--~~
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: html not being evalutated

2009-10-21 Thread Derek Chen-Becker
Like David said, be very careful about using NodeSeqs if you're taking
user-generated content, since that can lead directly to cross-site scripting
attacks and other nastiness.

Derek

On Wed, Oct 21, 2009 at 7:41 AM, Jack Widman  wrote:

> Oops. I just noticed I made source.body a String and not a NodeSeq.
> Sometimes source.body is text with html tags in it. Like -
>
> Hey dude, what are you doing?
> I guess I should make it a NodeSeq. Sorry about that.
> Jack
>
>
> On Wed, Oct 21, 2009 at 9:33 AM, David Pollak <
> feeder.of.the.be...@gmail.com> wrote:
>
>>
>>
>> On Wed, Oct 21, 2009 at 6:32 AM, jack  wrote:
>>
>>>
>>> Let's say source.body is Search.  If I put
>>> source.body in a span like this -
>>>
>>> {source.body}
>>>
>>> source.body will be converted to text and the actual link tags will be
>>> displayed. What is the right way to do this?
>>>
>>>
>> How was source.body generated?
>>
>>
>>> On Oct 21, 9:06 am, David Pollak 
>>> wrote:
>>> > On Tue, Oct 20, 2009 at 10:16 PM, jack  wrote:
>>> >
>>> > > OK, I see why this is happening. the {exp} in the NodeSeq convert exp
>>> > > to a String. So I did by creating a string and then converting it to
>>> a
>>> > > NodeSeq at the end. Is there a way to do this without using and
>>> > > intermediary string?
>>> >
>>> > I don't know what a source is, but you really, really have to be
>>> careful
>>> > about promoting a String to a NodeSeq.  If the String has
>>> user-generated
>>> > content in it, then you've got a cross-site scripting vulnerability
>>> waiting
>>> > to happen.  For user-generated content, I suggest using Textile parser
>>> built
>>> > into Lift.
>>> >
>>> > In any case, if you don't have a NodeSeq in your data structure, you'll
>>> have
>>> > to parse it into XML before displaying it.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > > On Oct 21, 1:03 am, jack  wrote:
>>> > > > I have the following method display. source.body has html tags in
>>> it
>>> > > > but the actual tags are showing instead of being evaluated. e.g.
>>> I'm
>>> > > > seeing things like 'Hey There' instead of 'Hey There' in
>>> bold.
>>> > > > This method is in a CometActor and is running when the page is
>>> > > > rendered. Am I missing something obvious?
>>> >
>>> > > >  def display(sources:List[Source]):NodeSeq = {
>>> >
>>> > > > 
>>> > > > {
>>> > > >for {source <- sources} yield
>>> {source.body}
>>> > > > }
>>> >
>>> > > > 
>>> > > > 
>>> > > >   }
>>> >
>>> > --
>>> > Lift, the simply functional web frameworkhttp://liftweb.net
>>> > Beginning Scalahttp://www.apress.com/book/view/1430219890
>>> > Follow me:http://twitter.com/dpp
>>> > Surf the harmonics
>>>
>>>
>>
>>
>> --
>> Lift, the simply functional web framework http://liftweb.net
>> Beginning Scala http://www.apress.com/book/view/1430219890
>>
>> Follow me: http://twitter.com/dpp
>> Surf the harmonics
>>
>>
>>
>
>
> --
> Jack
>
>
> >
>

--~--~-~--~~~---~--~~
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: multiple datasources and/or JNDI definitions

2009-10-21 Thread Derek Chen-Becker
I think that you're making this more complicated that it needs to be,
although I may be misunderstanding the question. The ConnectionIdentifier
trait has a jndiName val on it. If you specify a valid JNDI name for that
val, then you don't need to wire up a connection manager for it. You can
simply do things like:

object MyConnOne extends ConnectionIdentifier { val jndiName =
"jdbc/ConnOne" }
object MyConnTwo extends ConnectionIdentifier { val jndiName =
"jdbc/ConnTwo" }

// Wire up a default
DB.defineConnectionManager(DefaultConnectionIdentifier, DerbyDBVendor)

DB.use(MyConnOne) { conn =>
  DB.exec(conn) { results => ... }
}

Lift will automatically handle retrieving the data source via JNDI if you
specify a ConnectionIdentifier and you don't have a connection manager
defined.

Derek

On Wed, Oct 21, 2009 at 10:38 AM, opyate  wrote:

>
> Hello Lift committers,
>
> I have a quick question about defining a datasource. I usually do it
> like this:
>
>DefaultConnectionIdentifier.jndiName = "jdbc/myApp"
>// use default internal Derby DB if there's not already a JNDI
> connection defined
>if (!DB.jndiJdbcConnAvailable_?) { // looks at
> DefaultConnectionIdentifier
>  Log.warn("No JNDI configured - using default built-in Derby
> database.")
>  DB.defineConnectionManager(DefaultConnectionIdentifier,
> DerbyDBVendor)
>}
>
> Is DerbyDBVendor in this case a fallback datasource? (Presumably it
> is, if the JNDI lookup is not available...)
>
> If so, this leads to my next question, relating to defining extra
> (i.e. non-default) datasources.
>
> The only way (it seems) for me to do it, is by using:
>
> DB.defineConnectionManager(CustomConnId1, SomeDBVendor1)
> DB.defineConnectionManager(CustomConnId2, SomeDBVendor2) //
> CustomConnId1/2 points to defined JNDI lookups
>
> Is there a way to define custom datasources without specifying a
> fallback SomeDBVendor1, SomeDBVendor2, etc?
> I couldn't see anything obvious in the latest checkout of DB.scala
>
> At the moment I'm forced to define these fallbacks, and when my app
> context reloads, poor Derby steps on its own toes:
>
> Caused by: java.nio.channels.OverlappingFileLockException
>at sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList
> (FileChannelImpl.java:1170)
>at sun.nio.ch.FileChannelImpl$SharedFileLockTable.add
> (FileChannelImpl.java:1072)
>at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:878)
>at java.nio.channels.FileChannel.tryLock(FileChannel.java:962)
>at org.apache.derby.impl.io.DirFile4.getExclusiveFileLock(Unknown
> Source)
>
> I understand that SomeDBVendor1/2 could contain my db connection
> details, but I don't want to have db connection details specified in
> ConnectionManager instances in my code, and would rather keep them in
> JNDI lookups, and said ConnectionManager instances seems to be
> compulsory at this stage.
>
> Please shed some light - I might be missing the boat again
> completely :-)
>
> Ultimately I'd like to have the same control over my extra datasources
> than I do over DefaultConnectionIdentifier.
>
> Thanks,
> Juan
>
> >
>

--~--~-~--~~~---~--~~
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: multiple datasources and/or JNDI definitions

2009-10-21 Thread opyate

Thanks Derek.

I also just found this:
http://groups.google.com/group/liftweb/browse_thread/thread/e75046eaf215e97/259da9d9ef22ca7a?lnk=gst&q=%22extends+connectionmanager%22#



On Oct 21, 9:15 pm, Derek Chen-Becker  wrote:
> I think that you're making this more complicated that it needs to be,
> although I may be misunderstanding the question. The ConnectionIdentifier
> trait has a jndiName val on it. If you specify a valid JNDI name for that
> val, then you don't need to wire up a connection manager for it. You can
> simply do things like:
>
> object MyConnOne extends ConnectionIdentifier { val jndiName =
> "jdbc/ConnOne" }
> object MyConnTwo extends ConnectionIdentifier { val jndiName =
> "jdbc/ConnTwo" }
>
> // Wire up a default
> DB.defineConnectionManager(DefaultConnectionIdentifier, DerbyDBVendor)
>
> DB.use(MyConnOne) { conn =>
>   DB.exec(conn) { results => ... }
>
> }
>
> Lift will automatically handle retrieving the data source via JNDI if you
> specify a ConnectionIdentifier and you don't have a connection manager
> defined.
>
> Derek
>
>
>
> On Wed, Oct 21, 2009 at 10:38 AM, opyate  wrote:
>
> > Hello Lift committers,
>
> > I have a quick question about defining a datasource. I usually do it
> > like this:
>
> >    DefaultConnectionIdentifier.jndiName = "jdbc/myApp"
> >    // use default internal Derby DB if there's not already a JNDI
> > connection defined
> >    if (!DB.jndiJdbcConnAvailable_?) { // looks at
> > DefaultConnectionIdentifier
> >      Log.warn("No JNDI configured - using default built-in Derby
> > database.")
> >      DB.defineConnectionManager(DefaultConnectionIdentifier,
> > DerbyDBVendor)
> >    }
>
> > Is DerbyDBVendor in this case a fallback datasource? (Presumably it
> > is, if the JNDI lookup is not available...)
>
> > If so, this leads to my next question, relating to defining extra
> > (i.e. non-default) datasources.
>
> > The only way (it seems) for me to do it, is by using:
>
> > DB.defineConnectionManager(CustomConnId1, SomeDBVendor1)
> > DB.defineConnectionManager(CustomConnId2, SomeDBVendor2) //
> > CustomConnId1/2 points to defined JNDI lookups
>
> > Is there a way to define custom datasources without specifying a
> > fallback SomeDBVendor1, SomeDBVendor2, etc?
> > I couldn't see anything obvious in the latest checkout of DB.scala
>
> > At the moment I'm forced to define these fallbacks, and when my app
> > context reloads, poor Derby steps on its own toes:
>
> > Caused by: java.nio.channels.OverlappingFileLockException
> >        at sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList
> > (FileChannelImpl.java:1170)
> >        at sun.nio.ch.FileChannelImpl$SharedFileLockTable.add
> > (FileChannelImpl.java:1072)
> >        at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:878)
> >        at java.nio.channels.FileChannel.tryLock(FileChannel.java:962)
> >        at org.apache.derby.impl.io.DirFile4.getExclusiveFileLock(Unknown
> > Source)
>
> > I understand that SomeDBVendor1/2 could contain my db connection
> > details, but I don't want to have db connection details specified in
> > ConnectionManager instances in my code, and would rather keep them in
> > JNDI lookups, and said ConnectionManager instances seems to be
> > compulsory at this stage.
>
> > Please shed some light - I might be missing the boat again
> > completely :-)
>
> > Ultimately I'd like to have the same control over my extra datasources
> > than I do over DefaultConnectionIdentifier.
>
> > Thanks,
> > Juan

--~--~-~--~~~---~--~~
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: Rolling out the new Lift Actors code

2009-10-21 Thread Indrajit Raychaudhuri

> > > I am ready to push this code to SNAPSHOT.  When I do this, there will be
> > > breaking changes to all Lift apps (basically, you'll have to import
> > > net.liftweb.base._)
>
> > We have had some discussion on the list regarding the package name of
> > net.liftweb.base sometime back.
> > (
> >http://groups.google.com/group/liftweb/browse_thread/thread/e26e765b9...
> > )
>
> > Eventually, the settlement was:
> > 1. lift-base in dpp_wip_actorize would be renamed lift-common
> > 2. lift-base = (lift-common, lift-util, lift-json, lift-actor,
> > lift-webkit)
>
> > Assuming that, I was hoping if we could have the imports
> > net.liftweb.common._ instead of net.liftweb.base._
>
> Okay, please make the changes to the package names.
>
Done.
http://github.com/dpp/liftweb/commit/c3de2522022e279791e2ee712e7d355100767719

Cheers, Indrajit
--~--~-~--~~~---~--~~
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: multiple datasources and/or JNDI definitions

2009-10-21 Thread Derek Chen-Becker
Right. That message was concerning non-JNDI data sources, which is why I
have to wire up connection managers in that example. If you're using JNDI
it's a lot simpler.

Derek

On Wed, Oct 21, 2009 at 2:19 PM, opyate  wrote:

>
> Thanks Derek.
>
> I also just found this:
>
> http://groups.google.com/group/liftweb/browse_thread/thread/e75046eaf215e97/259da9d9ef22ca7a?lnk=gst&q=%22extends+connectionmanager%22#
>
>
>
> On Oct 21, 9:15 pm, Derek Chen-Becker  wrote:
> > I think that you're making this more complicated that it needs to be,
> > although I may be misunderstanding the question. The ConnectionIdentifier
> > trait has a jndiName val on it. If you specify a valid JNDI name for that
> > val, then you don't need to wire up a connection manager for it. You can
> > simply do things like:
> >
> > object MyConnOne extends ConnectionIdentifier { val jndiName =
> > "jdbc/ConnOne" }
> > object MyConnTwo extends ConnectionIdentifier { val jndiName =
> > "jdbc/ConnTwo" }
> >
> > // Wire up a default
> > DB.defineConnectionManager(DefaultConnectionIdentifier, DerbyDBVendor)
> >
> > DB.use(MyConnOne) { conn =>
> >   DB.exec(conn) { results => ... }
> >
> > }
> >
> > Lift will automatically handle retrieving the data source via JNDI if you
> > specify a ConnectionIdentifier and you don't have a connection manager
> > defined.
> >
> > Derek
> >
> >
> >
> > On Wed, Oct 21, 2009 at 10:38 AM, opyate  wrote:
> >
> > > Hello Lift committers,
> >
> > > I have a quick question about defining a datasource. I usually do it
> > > like this:
> >
> > >DefaultConnectionIdentifier.jndiName = "jdbc/myApp"
> > >// use default internal Derby DB if there's not already a JNDI
> > > connection defined
> > >if (!DB.jndiJdbcConnAvailable_?) { // looks at
> > > DefaultConnectionIdentifier
> > >  Log.warn("No JNDI configured - using default built-in Derby
> > > database.")
> > >  DB.defineConnectionManager(DefaultConnectionIdentifier,
> > > DerbyDBVendor)
> > >}
> >
> > > Is DerbyDBVendor in this case a fallback datasource? (Presumably it
> > > is, if the JNDI lookup is not available...)
> >
> > > If so, this leads to my next question, relating to defining extra
> > > (i.e. non-default) datasources.
> >
> > > The only way (it seems) for me to do it, is by using:
> >
> > > DB.defineConnectionManager(CustomConnId1, SomeDBVendor1)
> > > DB.defineConnectionManager(CustomConnId2, SomeDBVendor2) //
> > > CustomConnId1/2 points to defined JNDI lookups
> >
> > > Is there a way to define custom datasources without specifying a
> > > fallback SomeDBVendor1, SomeDBVendor2, etc?
> > > I couldn't see anything obvious in the latest checkout of DB.scala
> >
> > > At the moment I'm forced to define these fallbacks, and when my app
> > > context reloads, poor Derby steps on its own toes:
> >
> > > Caused by: java.nio.channels.OverlappingFileLockException
> > >at sun.nio.ch.FileChannelImpl$SharedFileLockTable.checkList
> > > (FileChannelImpl.java:1170)
> > >at sun.nio.ch.FileChannelImpl$SharedFileLockTable.add
> > > (FileChannelImpl.java:1072)
> > >at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:878)
> > >at java.nio.channels.FileChannel.tryLock(FileChannel.java:962)
> > >at
> org.apache.derby.impl.io.DirFile4.getExclusiveFileLock(Unknown
> > > Source)
> >
> > > I understand that SomeDBVendor1/2 could contain my db connection
> > > details, but I don't want to have db connection details specified in
> > > ConnectionManager instances in my code, and would rather keep them in
> > > JNDI lookups, and said ConnectionManager instances seems to be
> > > compulsory at this stage.
> >
> > > Please shed some light - I might be missing the boat again
> > > completely :-)
> >
> > > Ultimately I'd like to have the same control over my extra datasources
> > > than I do over DefaultConnectionIdentifier.
> >
> > > Thanks,
> > > Juan
>
> >
>

--~--~-~--~~~---~--~~
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: maintaining logged in user longer outside of SessionVar

2009-10-21 Thread harryh

> See ProtoExtendedSession

After adding this to Boot.scala:

S.addAround(ExtendedSession.requestLoans)

I'm seeing request to load the User object from the database on every
request (including requests for static flies like images/css/js).  Is
there something I can do to make this not happen?  Alternately, should
this be considered a Lift bug?

-harryh
--~--~-~--~~~---~--~~
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 compiled against 2.7.7.RC2 available in scala-tools repository

2009-10-21 Thread Indrajit Raychaudhuri

Folks,

Lift snapshot artifacts built on Scala 2.7.7.RC2 are now available in
scala-tools repository.

The artifacts follow the version pattern 1.1-scala2.7.7.RC2-SNAPSHOT.
So they are all available in the usual snapshot repository location
(http://scala-tools.org/repo-snapshots) as lift--1.1-
scala2.7.7.RC2-SNAPSHOT.

To try out the new version in your project, all that you'd need to do
is change scala.version to 2.7.7.RC2 and set the version number of all
lift-modules to 1.1-scala2.7.7.RC2-SNAPSHOT.

You can also use Maven's project profile feature to switch Lift and
Scala between regular version and 2.7.7.RC2 version.

One way to do this would be to add a project profile section in your
pom.xml as thus:




   
 
   scala277
   
 2.7.7.RC2
   
   
   
   net.liftweb
   lift-core
   1.1-scala2.7.7.RC2-SNAPSHOT
 
   
 
   





With this section in place in your project pom,

- Run "mvn clean install" for scala-2.7.5 version

- Run "mvn -Pscala277 clean install" for scala-2.7.7.RC2 version

Cheers, Indrajit

--~--~-~--~~~---~--~~
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: Rolling out the new Lift Actors code

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 1:21 PM, Indrajit Raychaudhuri
wrote:

>
> > > > I am ready to push this code to SNAPSHOT.  When I do this, there will
> be
> > > > breaking changes to all Lift apps (basically, you'll have to import
> > > > net.liftweb.base._)
> >
> > > We have had some discussion on the list regarding the package name of
> > > net.liftweb.base sometime back.
> > > (
> > >http://groups.google.com/group/liftweb/browse_thread/thread/e26e765b9.
> ..
> > > )
> >
> > > Eventually, the settlement was:
> > > 1. lift-base in dpp_wip_actorize would be renamed lift-common
> > > 2. lift-base = (lift-common, lift-util, lift-json, lift-actor,
> > > lift-webkit)
> >
> > > Assuming that, I was hoping if we could have the imports
> > > net.liftweb.common._ instead of net.liftweb.base._
> >
> > Okay, please make the changes to the package names.
> >
> Done.
>
> http://github.com/dpp/liftweb/commit/c3de2522022e279791e2ee712e7d355100767719
>
>
Thank you!


> Cheers, Indrajit
> >
>


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

--~--~-~--~~~---~--~~
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: maintaining logged in user longer outside of SessionVar

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 1:38 PM, harryh  wrote:

>
> > See ProtoExtendedSession
>
> After adding this to Boot.scala:
>
> S.addAround(ExtendedSession.requestLoans)
>
> I'm seeing request to load the User object from the database on every
> request (including requests for static flies like images/css/js).  Is
> there something I can do to make this not happen?  Alternately, should
> this be considered a Lift bug?
>

It's going to load the user for each stateful request.  I guess we can
change it up to make the load lazy so it'll only happen in the requestvar is
actually accessed.  Does that sould reasonable?


>
> -harryh
> >
>


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

--~--~-~--~~~---~--~~
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: maintaining logged in user longer outside of SessionVar

2009-10-21 Thread harryh

> It's going to load the user for each stateful request.

What do you mean by a stateful request?

> I guess we can change it up to make the load lazy so it'll only happen in the 
> requestvar is
> actually accessed.  Does that sould reasonable?

If that makes it so I don't hit the database when loading static
files, then yes.

-harryh
--~--~-~--~~~---~--~~
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] Testing for SQL Server drivers

2009-10-21 Thread Derek Chen-Becker
Hi,
I've made some changes to Mapper to better support SQL Server,
particularly with Unicode text. Does anyone out there use SQL Server that
would be willing to test the code on the wip-dcb-issue-16-sql-server branch
to make sure nothing breaks?

Thanks,

Derek

--~--~-~--~~~---~--~~
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] A Critique On Lift

2009-10-21 Thread Randinn

http://localhost3000.de/2009/10/a-quick-glance-at-lift/

The site above is a blog post from a Rails developer, he had some good
and bad things to say about Lift and since I do not know enough to
debate with him I thought I'd post it here.
--~--~-~--~~~---~--~~
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] Calling a method from other snippet

2009-10-21 Thread sunanda

Hi,
I have a method updateColumn() in ColumnInfo.scala snippet.
I need to call this method form another snippet GridInfo.scala

How can I do this.

Sunanda
--~--~-~--~~~---~--~~
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] Newbie post: Where are the basics and best practices?

2009-10-21 Thread Strom

Hello everyone,
I am pretty much brand new to lift and scala, and I come from a non-
framework jsp/java servlet/hibernate background. I've been reading
this board, Beginning Scala, The lift book, and googling how to use
the lift framework, but I can't seem to find some basic info. Please
help me out. I know these are very basic questions, and posting on the
group was a last resort after coming up empty on searches. I want to
start off with best practices since I'm beginning from scratch.

1. Directory structure - where is everything?
Looking at the PocketChange example and making a basic lift 1.0
project via netbeans, I know that the DB schema go under "model", the
snippets in "snippet", the templates in the corresponding "webapp/
templates-hidden" directory, and the web pages in the "webapp"
directory.

What I don't know is where /classpath or  are
actually going. Is classpath still going to "src/main/resources/
toserve", or is that old info? Looking at the default.html template,
there's no jquery.js or CSS files in a "toserve" directory; in fact
there is no "toserve" directory period, so I made my own. Also I see
"", and I have no idea where that's going. I don't
see any CSS class with blueprint method, but the syntax looks clean
and I'd like to add my own custom stylesheet in the same fashion.

2. Dynamically generated HTML - what's the best practice, and how to
do it?
I would like to know what the lift equivalent is for the following:

Index

That's the way I was taught to link web pages together because it
avoids hardcoding the page location, but the main point is the stuff
inside <%=...%>. It looks like the lift uses {...}, but this example
from the lift book causes an IllegalArgumentException (bad XML
according to the msgs I've found on this board):


How do I go about making this work, and in what scenarios should I be
using this {...} approach vs snippets?

Note: An earlier example in the lift book used href="/classpath/css/
style.css", but later on said that the 1st method is better. The basic
lift archetype references /classpath everywhere as well, so I don't
know what to believe.

I guess those are the glaring questions I have right now. In addition,
what are some common search terms I could use to find this sort of
basic info on the board, or where can I find best practices info and
more examples of working sites? I'd rather see what documentation/
tutorials already exists for beginners before I send more messages for
the board, but my main issue is knowing whether or not I'm getting the
right information; most every lift example document/wiki/tutorial I've
seen is outdated code or incomplete. I'm looking for more code
examples that comply with lift's current evolution. The lift book is
helpful, but I also feel a little left out when I read it because I
get the feeling the book assumes the reader knows certain lift and
scala basics that are obvious to more seasoned users, but not to...me.

Thank you so much for your help!

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



[Lift] Re: Trouble With JPA Book Example

2009-10-21 Thread AndyM

That gets me one step closer, thanks, but then I still have problem.
The next mvn install that I do gives me the following:

1 required artifact is missing.
for artifact:
  com.foo.jpaweb:spa:jar:1.0-SNAPSHOT

Another post had the same problem, said to do mvn install.  I tried
doing mvn install in the spa directory as well, gives me the same
error.  So I'm missing the artifcact that I'm trying to build? This
doesn't make any sense. Ideas?

On Oct 21, 7:48 am, Steve Swing  wrote:
> Does mvn -Dscala.version=2.7.5 install work for you?
>
> If so you can define this in pom.xml files to avoid typing on the cmd-
> line every time you build:
> 
> 2.7.5
> 
>
> On Oct 20, 8:38 pm, AndyM  wrote:
>
> > Still getting the same issue, with
>
> > mvn -U archetype:generate  \
> > -DarchetypeRepository=http://scala-tools.org/repo-snapshots\
> > -DarchetypeGroupId=net.liftweb \
> > -DarchetypeArtifactId=lift-archetype-jpa-basic \
> > -DarchetypeVersion=1.1-SNAPSHOT \
> > -DgroupId=com.foo.jpaweb \
> > -DartifactId=JPADemo \
> > -Dversion=1.0-SNAPSHOT
>
> > On Oct 20, 7:58 pm, David Pollak 
> > wrote:
>
> > > For some reason the pom.xml files in the JPA archetypes referred to lift 
> > > M4
> > > rather than SNAPSHOT.  I've pushed a change.  Once the build 
> > > (http://hudson.scala-tools.org/job/Lift/1298/) is done, try re-executing
> > > your mvn command (make sure you do a mvn -U to pull the latest).
>
> > > To the committers - sorry for not going through review board on this one,
> > > but it was a clear problem with a clear fix (kind of like pushing a fix 
> > > to a
> > > type-o in documentation)
>
> > > On Tue, Oct 20, 2009 at 4:28 PM, AndyM  wrote:
>
> > > > I'm having trouble doing an mvn install on the JPA example from the
> > > > book...
>
> > > > > mvn archetype:generate \
> > > > -DarchetypeRepository=http://scala-tools.org/repo-snapshots\
> > > > -DarchetypeGroupId=net.liftweb \
> > > > -DarchetypeArtifactId=lift-archetype-jpa-basic \
> > > > -DarchetypeVersion=1.1-SNAPSHOT \
> > > > -DgroupId=com.foo.jpaweb \
> > > > -DartifactId=JPADemo \
> > > > -Dversion=1.0-SNAPSHOT
>
> > > > >cd JPADemo
> > > > >mvn install
>
> > > > org.apache.maven.reactor.MavenExecutionException: The POM expression: $
> > > > {scala.version} could not be evaluated. Reason: Expression value '$
> > > > {scala.version}' references itself in 'com.foo.jpaweb:JPADemo:pom:1.0-
> > > > SNAPSHOT'. for project com.foo.jpaweb:JPADemo at /home/amast/lift/
> > > > bookexample/JPADemo/pom.xml
> > > >        at 
> > > > org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
> > > >         [deleted for brevity]
> > > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> > > > Caused by: org.apache.maven.project.InvalidProjectModelException: The
> > > > POM expression: ${scala.version} could not be evaluated. Reason:
> > > > Expression value '${scala.version}' references itself in
> > > > 'com.foo.jpaweb:JPADemo:pom:1.0-SNAPSHOT'. for project
> > > > com.foo.jpaweb:JPADemo at /home/amast/lift/bookexample/JPADemo/pom.xml
> > > >        at 
> > > > org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal
> > > > (DefaultMavenProjectBuilder.java:882)
> > > >        at
>
> > > > org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInte
> > > >  rnal
> > > > (DefaultMavenProjectBuilder.java:506)
> > > >        ... [deleted for brevity]
> > > > Caused by:
> > > > org.apache.maven.project.interpolation.ModelInterpolationException:
> > > > The POM expression: ${scala.version} could not be evaluated. Reason:
> > > > Expression value '${scala.version}' references itself in
> > > > 'com.foo.jpaweb:JPADemo:pom:1.0-SNAPSHOT'.
> > > >        at
>
> > > > org.apache.maven.project.interpolation.RegexBasedModelInterpolator.interpol
> > > >  ateInternal
> > > > (RegexBasedModelInterpolator.java:172)
> > > > ...[deleted for brevity]
>
> > > > Any help would be greatly appreciated.
>
> > > --
> > > Lift, the simply functional web frameworkhttp://liftweb.net
> > > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > > Follow me:http://twitter.com/dpp
> > > Surf the harmonics

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



[Lift] Re: Trouble With JPA Book Example

2009-10-21 Thread AndyM

Whoops. I meant to say the missing dependency was
1) org.scala-lang:scala-library:jar:2.75



On Oct 21, 8:44 pm, AndyM  wrote:
> That gets me one step closer, thanks, but then I still have problem.
> The next mvn install that I do gives me the following:
>
> 1 required artifact is missing.
> for artifact:
>   com.foo.jpaweb:spa:jar:1.0-SNAPSHOT
>
> Another post had the same problem, said to do mvn install.  I tried
> doing mvn install in the spa directory as well, gives me the same
> error.  So I'm missing the artifcact that I'm trying to build? This
> doesn't make any sense. Ideas?
>
> On Oct 21, 7:48 am, Steve Swing  wrote:
>
> > Does mvn -Dscala.version=2.7.5 install work for you?
>
> > If so you can define this in pom.xml files to avoid typing on the cmd-
> > line every time you build:
> > 
> > 2.7.5
> > 
>
> > On Oct 20, 8:38 pm, AndyM  wrote:
>
> > > Still getting the same issue, with
>
> > > mvn -U archetype:generate  \
> > > -DarchetypeRepository=http://scala-tools.org/repo-snapshots\
> > > -DarchetypeGroupId=net.liftweb \
> > > -DarchetypeArtifactId=lift-archetype-jpa-basic \
> > > -DarchetypeVersion=1.1-SNAPSHOT \
> > > -DgroupId=com.foo.jpaweb \
> > > -DartifactId=JPADemo \
> > > -Dversion=1.0-SNAPSHOT
>
> > > On Oct 20, 7:58 pm, David Pollak 
> > > wrote:
>
> > > > For some reason the pom.xml files in the JPA archetypes referred to 
> > > > lift M4
> > > > rather than SNAPSHOT.  I've pushed a change.  Once the build 
> > > > (http://hudson.scala-tools.org/job/Lift/1298/) is done, try re-executing
> > > > your mvn command (make sure you do a mvn -U to pull the latest).
>
> > > > To the committers - sorry for not going through review board on this 
> > > > one,
> > > > but it was a clear problem with a clear fix (kind of like pushing a fix 
> > > > to a
> > > > type-o in documentation)
>
> > > > On Tue, Oct 20, 2009 at 4:28 PM, AndyM  wrote:
>
> > > > > I'm having trouble doing an mvn install on the JPA example from the
> > > > > book...
>
> > > > > > mvn archetype:generate \
> > > > > -DarchetypeRepository=http://scala-tools.org/repo-snapshots\
> > > > > -DarchetypeGroupId=net.liftweb \
> > > > > -DarchetypeArtifactId=lift-archetype-jpa-basic \
> > > > > -DarchetypeVersion=1.1-SNAPSHOT \
> > > > > -DgroupId=com.foo.jpaweb \
> > > > > -DartifactId=JPADemo \
> > > > > -Dversion=1.0-SNAPSHOT
>
> > > > > >cd JPADemo
> > > > > >mvn install
>
> > > > > org.apache.maven.reactor.MavenExecutionException: The POM expression: 
> > > > > $
> > > > > {scala.version} could not be evaluated. Reason: Expression value '$
> > > > > {scala.version}' references itself in 'com.foo.jpaweb:JPADemo:pom:1.0-
> > > > > SNAPSHOT'. for project com.foo.jpaweb:JPADemo at /home/amast/lift/
> > > > > bookexample/JPADemo/pom.xml
> > > > >        at 
> > > > > org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
> > > > >         [deleted for brevity]
> > > > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> > > > > Caused by: org.apache.maven.project.InvalidProjectModelException: The
> > > > > POM expression: ${scala.version} could not be evaluated. Reason:
> > > > > Expression value '${scala.version}' references itself in
> > > > > 'com.foo.jpaweb:JPADemo:pom:1.0-SNAPSHOT'. for project
> > > > > com.foo.jpaweb:JPADemo at /home/amast/lift/bookexample/JPADemo/pom.xml
> > > > >        at 
> > > > > org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal
> > > > > (DefaultMavenProjectBuilder.java:882)
> > > > >        at
>
> > > > > org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInte
> > > > >  rnal
> > > > > (DefaultMavenProjectBuilder.java:506)
> > > > >        ... [deleted for brevity]
> > > > > Caused by:
> > > > > org.apache.maven.project.interpolation.ModelInterpolationException:
> > > > > The POM expression: ${scala.version} could not be evaluated. Reason:
> > > > > Expression value '${scala.version}' references itself in
> > > > > 'com.foo.jpaweb:JPADemo:pom:1.0-SNAPSHOT'.
> > > > >        at
>
> > > > > org.apache.maven.project.interpolation.RegexBasedModelInterpolator.interpol
> > > > >  ateInternal
> > > > > (RegexBasedModelInterpolator.java:172)
> > > > > ...[deleted for brevity]
>
> > > > > Any help would be greatly appreciated.
>
> > > > --
> > > > Lift, the simply functional web frameworkhttp://liftweb.net
> > > > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > > > Follow me:http://twitter.com/dpp
> > > > Surf the harmonics

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



[Lift] Re: Trouble With JPA Book Example

2009-10-21 Thread AndyM

Sorry about the spam. I was using 2.75 not 2.7.5.. Feel free to delete
the above posts.

More errors though. spa builds fine, web does not...

INFO] null
[INFO]

[INFO] Trace
java.lang.RuntimeException
at
com.yahoo.platform.yui.compressor.JavaScriptCompressor.printSourceNumber
(JavaScriptCompressor.java:299)
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse
(JavaScriptCompressor.java:335)
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.
(JavaScriptCompressor.java:532)
at net.sf.alchim.mojo.yuicompressor.YuiCompressorMojo.processFile
(YuiCompressorMojo.java:178)
at net.sf.alchim.mojo.yuicompressor.MojoSupport.processDir
(MojoSupport.java:151)
at net.sf.alchim.mojo.yuicompressor.MojoSupport.execute
(MojoSupport.java:105)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo
(DefaultPluginManager.java:451)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals
(DefaultLifecycleExecuto

..


On Oct 21, 8:44 pm, AndyM  wrote:
> That gets me one step closer, thanks, but then I still have problem.
> The next mvn install that I do gives me the following:
>
> 1 required artifact is missing.
> for artifact:
>   com.foo.jpaweb:spa:jar:1.0-SNAPSHOT
>
> Another post had the same problem, said to do mvn install.  I tried
> doing mvn install in the spa directory as well, gives me the same
> error.  So I'm missing the artifcact that I'm trying to build? This
> doesn't make any sense. Ideas?
>
> On Oct 21, 7:48 am, Steve Swing  wrote:
>
>
>
>
>
> > Does mvn -Dscala.version=2.7.5 install work for you?
>
> > If so you can define this in pom.xml files to avoid typing on the cmd-
> > line every time you build:
> > 
> > 2.7.5
> > 
>
> > On Oct 20, 8:38 pm, AndyM  wrote:
>
> > > Still getting the same issue, with
>
> > > mvn -U archetype:generate  \
> > > -DarchetypeRepository=http://scala-tools.org/repo-snapshots\
> > > -DarchetypeGroupId=net.liftweb \
> > > -DarchetypeArtifactId=lift-archetype-jpa-basic \
> > > -DarchetypeVersion=1.1-SNAPSHOT \
> > > -DgroupId=com.foo.jpaweb \
> > > -DartifactId=JPADemo \
> > > -Dversion=1.0-SNAPSHOT
>
> > > On Oct 20, 7:58 pm, David Pollak 
> > > wrote:
>
> > > > For some reason the pom.xml files in the JPA archetypes referred to 
> > > > lift M4
> > > > rather than SNAPSHOT.  I've pushed a change.  Once the build 
> > > > (http://hudson.scala-tools.org/job/Lift/1298/) is done, try re-executing
> > > > your mvn command (make sure you do a mvn -U to pull the latest).
>
> > > > To the committers - sorry for not going through review board on this 
> > > > one,
> > > > but it was a clear problem with a clear fix (kind of like pushing a fix 
> > > > to a
> > > > type-o in documentation)
>
> > > > On Tue, Oct 20, 2009 at 4:28 PM, AndyM  wrote:
>
> > > > > I'm having trouble doing an mvn install on the JPA example from the
> > > > > book...
>
> > > > > > mvn archetype:generate \
> > > > > -DarchetypeRepository=http://scala-tools.org/repo-snapshots\
> > > > > -DarchetypeGroupId=net.liftweb \
> > > > > -DarchetypeArtifactId=lift-archetype-jpa-basic \
> > > > > -DarchetypeVersion=1.1-SNAPSHOT \
> > > > > -DgroupId=com.foo.jpaweb \
> > > > > -DartifactId=JPADemo \
> > > > > -Dversion=1.0-SNAPSHOT
>
> > > > > >cd JPADemo
> > > > > >mvn install
>
> > > > > org.apache.maven.reactor.MavenExecutionException: The POM expression: 
> > > > > $
> > > > > {scala.version} could not be evaluated. Reason: Expression value '$
> > > > > {scala.version}' references itself in 'com.foo.jpaweb:JPADemo:pom:1.0-
> > > > > SNAPSHOT'. for project com.foo.jpaweb:JPADemo at /home/amast/lift/
> > > > > bookexample/JPADemo/pom.xml
> > > > >        at 
> > > > > org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
> > > > >         [deleted for brevity]
> > > > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> > > > > Caused by: org.apache.maven.project.InvalidProjectModelException: The
> > > > > POM expression: ${scala.version} could not be evaluated. Reason:
> > > > > Expression value '${scala.version}' references itself in
> > > > > 'com.foo.jpaweb:JPADemo:pom:1.0-SNAPSHOT'. for project
> > > > > com.foo.jpaweb:JPADemo at /home/amast/lift/bookexample/JPADemo/pom.xml
> > > > >        at 
> > > > > org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal
> > > > > (DefaultMavenProjectBuilder.java:882)
> > > > >        at
>
> > > > > org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInte
> > > > >  rnal
> > > > > (DefaultMavenProjectBuilder.java:506)
> > > > >        ... [deleted for brevity]
> > > > > Caused by:
> > > > > org.apache.maven.project.interpolation.ModelInterpolationException:
> > > > > The POM expression: ${scala.version} could not be evaluated. Reason:
> > > > > Expression value '${scala.version}' references itself in
> > > > > 'com.foo.jpaweb:JPADemo:pom:1.0-SNAPSHOT'

[Lift] Re: Newbie post: Where are the basics and best practices?

2009-10-21 Thread YING-KWANG TU
I am on the same boat as strom.

However, the closest thing i could locate that explains things good is on
the wiki at:
http://wiki.github.com/dpp/liftweb/example-crudify-a-entity<%20http://wiki.github.com/dpp/liftweb/example-crudify-a-entity>

which explain the list/create/view/edit/delete of models.

The url/_href pretty much consistent with RoR's and hence easier for my
comprehension.

I am still looking for an example of search/filter form which is related to
say, the 
Item<%20http://wiki.github.com/dpp/liftweb/example-crudify-a-entity>tutorial
series and pretty much stuck.

Thank you.


On Thu, Oct 22, 2009 at 7:15 AM, Strom  wrote:

>
> Hello everyone,
> I am pretty much brand new to lift and scala, and I come from a non-
> framework jsp/java servlet/hibernate background. I've been reading
> this board, Beginning Scala, The lift book, and googling how to use
> the lift framework, but I can't seem to find some basic info. Please
> help me out. I know these are very basic questions, and posting on the
> group was a last resort after coming up empty on searches. I want to
> start off with best practices since I'm beginning from scratch.
>
> 1. Directory structure - where is everything?
> Looking at the PocketChange example and making a basic lift 1.0
> project via netbeans, I know that the DB schema go under "model", the
> snippets in "snippet", the templates in the corresponding "webapp/
> templates-hidden" directory, and the web pages in the "webapp"
> directory.
>
> What I don't know is where /classpath or  are
> actually going. Is classpath still going to "src/main/resources/
> toserve", or is that old info? Looking at the default.html template,
> there's no jquery.js or CSS files in a "toserve" directory; in fact
> there is no "toserve" directory period, so I made my own. Also I see
> "", and I have no idea where that's going. I don't
> see any CSS class with blueprint method, but the syntax looks clean
> and I'd like to add my own custom stylesheet in the same fashion.
>
> 2. Dynamically generated HTML - what's the best practice, and how to
> do it?
> I would like to know what the lift equivalent is for the following:
>
> Index
>
> That's the way I was taught to link web pages together because it
> avoids hardcoding the page location, but the main point is the stuff
> inside <%=...%>. It looks like the lift uses {...}, but this example
> from the lift book causes an IllegalArgumentException (bad XML
> according to the msgs I've found on this board):
>  {LiftRules.resourceServerPath + "/css/style.css" } />
>
> How do I go about making this work, and in what scenarios should I be
> using this {...} approach vs snippets?
>
> Note: An earlier example in the lift book used href="/classpath/css/
> style.css", but later on said that the 1st method is better. The basic
> lift archetype references /classpath everywhere as well, so I don't
> know what to believe.
>
> I guess those are the glaring questions I have right now. In addition,
> what are some common search terms I could use to find this sort of
> basic info on the board, or where can I find best practices info and
> more examples of working sites? I'd rather see what documentation/
> tutorials already exists for beginners before I send more messages for
> the board, but my main issue is knowing whether or not I'm getting the
> right information; most every lift example document/wiki/tutorial I've
> seen is outdated code or incomplete. I'm looking for more code
> examples that comply with lift's current evolution. The lift book is
> helpful, but I also feel a little left out when I read it because I
> get the feeling the book assumes the reader knows certain lift and
> scala basics that are obvious to more seasoned users, but not to...me.
>
> Thank you so much for your help!
>
> >
>

--~--~-~--~~~---~--~~
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: Calling a method from other snippet

2009-10-21 Thread Ross Mellgren

Just call it:

class FirstSnippet {
 def render(ns: NodeSeq): NodeSeq = {
 bind("foobar", ns,
  "otherSnippet" -> new SecondSnippet.render _)
 }
}

class SecondSnippet {
 def render(ns: NodeSeq): NodeSeq = hello!
}

-Ross

On Oct 21, 2009, at 7:06 PM, sunanda wrote:

>
> Hi,
> I have a method updateColumn() in ColumnInfo.scala snippet.
> I need to call this method form another snippet GridInfo.scala
>
> How can I do this.
>
> Sunanda
> >


--~--~-~--~~~---~--~~
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: Calling a method from other snippet

2009-10-21 Thread Naftoli Gugenheim

That needs to be new SecondSnippet().render or (new SecondSnippet).render

-
Ross Mellgren wrote:


Just call it:

class FirstSnippet {
 def render(ns: NodeSeq): NodeSeq = {
 bind("foobar", ns,
  "otherSnippet" -> new SecondSnippet.render _)
 }
}

class SecondSnippet {
 def render(ns: NodeSeq): NodeSeq = hello!
}

-Ross

On Oct 21, 2009, at 7:06 PM, sunanda wrote:

>
> Hi,
> I have a method updateColumn() in ColumnInfo.scala snippet.
> I need to call this method form another snippet GridInfo.scala
>
> How can I do this.
>
> Sunanda
> >




--~--~-~--~~~---~--~~
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: Calling a method from other snippet

2009-10-21 Thread Ross Mellgren

So true. I need a REPL built in to my email client ;-)

-Ross

On Oct 21, 2009, at 9:50 PM, Naftoli Gugenheim wrote:

>
> That needs to be new SecondSnippet().render or (new  
> SecondSnippet).render
>
> -
> Ross Mellgren wrote:
>
>
> Just call it:
>
> class FirstSnippet {
> def render(ns: NodeSeq): NodeSeq = {
> bind("foobar", ns,
>  "otherSnippet" -> new SecondSnippet.render _)
> }
> }
>
> class SecondSnippet {
> def render(ns: NodeSeq): NodeSeq = hello!
> }
>
> -Ross
>
> On Oct 21, 2009, at 7:06 PM, sunanda wrote:
>
>>
>> Hi,
>> I have a method updateColumn() in ColumnInfo.scala snippet.
>> I need to call this method form another snippet GridInfo.scala
>>
>> How can I do this.
>>
>> Sunanda
>>>
>
>
>
>
> >


--~--~-~--~~~---~--~~
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: Calling a method from other snippet

2009-10-21 Thread Naftoli Gugenheim

How about building an email client into your REPL? ;)

-
Ross Mellgren wrote:


So true. I need a REPL built in to my email client ;-)

-Ross

On Oct 21, 2009, at 9:50 PM, Naftoli Gugenheim wrote:

>
> That needs to be new SecondSnippet().render or (new  
> SecondSnippet).render
>
> -
> Ross Mellgren wrote:
>
>
> Just call it:
>
> class FirstSnippet {
> def render(ns: NodeSeq): NodeSeq = {
> bind("foobar", ns,
>  "otherSnippet" -> new SecondSnippet.render _)
> }
> }
>
> class SecondSnippet {
> def render(ns: NodeSeq): NodeSeq = hello!
> }
>
> -Ross
>
> On Oct 21, 2009, at 7:06 PM, sunanda wrote:
>
>>
>> Hi,
>> I have a method updateColumn() in ColumnInfo.scala snippet.
>> I need to call this method form another snippet GridInfo.scala
>>
>> How can I do this.
>>
>> Sunanda
>>>
>
>
>
>
> >




--~--~-~--~~~---~--~~
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: Calling a method from other snippet

2009-10-21 Thread Ross Mellgren

Screw it, I'll just do all three in emacs. GUIs are for wimps anyway,  
right?

-Ross

On Oct 21, 2009, at 10:03 PM, Naftoli Gugenheim wrote:

>
> How about building an email client into your REPL? ;)
>
> -
> Ross Mellgren wrote:
>
>
> So true. I need a REPL built in to my email client ;-)
>
> -Ross
>
> On Oct 21, 2009, at 9:50 PM, Naftoli Gugenheim wrote:
>
>>
>> That needs to be new SecondSnippet().render or (new
>> SecondSnippet).render
>>
>> -
>> Ross Mellgren wrote:
>>
>>
>> Just call it:
>>
>> class FirstSnippet {
>>def render(ns: NodeSeq): NodeSeq = {
>>bind("foobar", ns,
>> "otherSnippet" -> new SecondSnippet.render _)
>>}
>> }
>>
>> class SecondSnippet {
>>def render(ns: NodeSeq): NodeSeq = hello!
>> }
>>
>> -Ross
>>
>> On Oct 21, 2009, at 7:06 PM, sunanda wrote:
>>
>>>
>>> Hi,
>>> I have a method updateColumn() in ColumnInfo.scala snippet.
>>> I need to call this method form another snippet GridInfo.scala
>>>
>>> How can I do this.
>>>
>>> Sunanda

>>
>>
>>
>>
>>>
>
>
>
>
> >


--~--~-~--~~~---~--~~
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: Calling a method from other snippet

2009-10-21 Thread Jim Barrows
Doesn't emacs already do all three?

Sent on the Now Network™ from my Sprint® BlackBerry

-Original Message-
From: Ross Mellgren 
Date: Wed, 21 Oct 2009 22:18:29 
To: 
Subject: [Lift] Re: Calling a method from other snippet


Screw it, I'll just do all three in emacs. GUIs are for wimps anyway,  
right?

-Ross

On Oct 21, 2009, at 10:03 PM, Naftoli Gugenheim wrote:

>
> How about building an email client into your REPL? ;)
>
> -
> Ross Mellgren wrote:
>
>
> So true. I need a REPL built in to my email client ;-)
>
> -Ross
>
> On Oct 21, 2009, at 9:50 PM, Naftoli Gugenheim wrote:
>
>>
>> That needs to be new SecondSnippet().render or (new
>> SecondSnippet).render
>>
>> -
>> Ross Mellgren wrote:
>>
>>
>> Just call it:
>>
>> class FirstSnippet {
>>def render(ns: NodeSeq): NodeSeq = {
>>bind("foobar", ns,
>> "otherSnippet" -> new SecondSnippet.render _)
>>}
>> }
>>
>> class SecondSnippet {
>>def render(ns: NodeSeq): NodeSeq = hello!
>> }
>>
>> -Ross
>>
>> On Oct 21, 2009, at 7:06 PM, sunanda wrote:
>>
>>>
>>> Hi,
>>> I have a method updateColumn() in ColumnInfo.scala snippet.
>>> I need to call this method form another snippet GridInfo.scala
>>>
>>> How can I do this.
>>>
>>> Sunanda

>>
>>
>>
>>
>>>
>
>
>
>
> >




--~--~-~--~~~---~--~~
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: Calling a method from other snippet

2009-10-21 Thread Ross Mellgren

It sure does, but I'm a wimp and use Mail.app for mail, Terminal.app  
for REPL and terminal, and Emacs for editing, mostly.

-Ross

On Oct 21, 2009, at 10:20 PM, Jim Barrows wrote:

> Doesn't emacs already do all three?
>
> Sent on the Now Network™ from my Sprint® BlackBerry
>
> -Original Message-
> From: Ross Mellgren 
> Date: Wed, 21 Oct 2009 22:18:29
> To: 
> Subject: [Lift] Re: Calling a method from other snippet
>
>
> Screw it, I'll just do all three in emacs. GUIs are for wimps anyway,
> right?
>
> -Ross
>
> On Oct 21, 2009, at 10:03 PM, Naftoli Gugenheim wrote:
>
>>
>> How about building an email client into your REPL? ;)
>>
>> -
>> Ross Mellgren wrote:
>>
>>
>> So true. I need a REPL built in to my email client ;-)
>>
>> -Ross
>>
>> On Oct 21, 2009, at 9:50 PM, Naftoli Gugenheim wrote:
>>
>>>
>>> That needs to be new SecondSnippet().render or (new
>>> SecondSnippet).render
>>>
>>> -
>>> Ross Mellgren wrote:
>>>
>>>
>>> Just call it:
>>>
>>> class FirstSnippet {
>>>   def render(ns: NodeSeq): NodeSeq = {
>>>   bind("foobar", ns,
>>>"otherSnippet" -> new SecondSnippet.render _)
>>>   }
>>> }
>>>
>>> class SecondSnippet {
>>>   def render(ns: NodeSeq): NodeSeq = hello!
>>> }
>>>
>>> -Ross
>>>
>>> On Oct 21, 2009, at 7:06 PM, sunanda wrote:
>>>

 Hi,
 I have a method updateColumn() in ColumnInfo.scala snippet.
 I need to call this method form another snippet GridInfo.scala

 How can I do this.

 Sunanda
>
>>>
>>>
>>>
>>>

>>
>>
>>
>>
>>>
>
>
>
>
> >


--~--~-~--~~~---~--~~
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] Dynamic radio button

2009-10-21 Thread sunanda

Hi,
I need to add radio button dynamically with one of the button checked
and  I need to invoke ajaxCall onclick of a radio button.
How can I do this.
Sunanda
--~--~-~--~~~---~--~~
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: Newbie post: Where are the basics and best practices?

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 4:15 PM, Strom  wrote:

>
> Hello everyone,
> I am pretty much brand new to lift and scala, and I come from a non-
> framework jsp/java servlet/hibernate background. I've been reading
> this board, Beginning Scala, The lift book, and googling how to use
> the lift framework, but I can't seem to find some basic info.


That's why we're here.  Ask away!


> Please
> help me out. I know these are very basic questions, and posting on the
> group was a last resort after coming up empty on searches. I want to
> start off with best practices since I'm beginning from scratch.
>

Doing some searching is great, but asking on list is heartily encouraged.


>
> 1. Directory structure - where is everything?
> Looking at the PocketChange example and making a basic lift 1.0
> project via netbeans, I know that the DB schema go under "model", the
> snippets in "snippet", the templates in the corresponding "webapp/
> templates-hidden" directory, and the web pages in the "webapp"
> directory.
>
> What I don't know is where /classpath or  are
> actually going. Is classpath still going to "src/main/resources/
> toserve", or is that old info? Looking at the default.html template,
> there's no jquery.js or CSS files in a "toserve" directory; in fact
> there is no "toserve" directory period, so I made my own. Also I see
> "", and I have no idea where that's going. I don't
> see any CSS class with blueprint method, but the syntax looks clean
> and I'd like to add my own custom stylesheet in the same fashion.
>

The /classpath stuff is served out of the Lift JAR file rather than out of a
directory.  If you want to have your own CSS, just put it in
/src/webapp/css/xxx.css and then refer to /css/xxx.css in your web page.


>
> 2. Dynamically generated HTML - what's the best practice, and how to
> do it?
>

Snippets are the way that Lift does dynamic HTML.  It's not a templating
system, but a binding between your XHTML file and methods on classes that
substitute the dynamically generated HTML.


> I would like to know what the lift equivalent is for the following:
>
> Index
>

In the case of Lift, you don't have to do this.  index will automatically be rewritten for the correct
context path. No work on your part.

>
> That's the way I was taught to link web pages together because it
> avoids hardcoding the page location, but the main point is the stuff
> inside <%=...%>. It looks like the lift uses {...}, but this example
> from the lift book causes an IllegalArgumentException (bad XML
> according to the msgs I've found on this board):
>  {LiftRules.resourceServerPath + "/css/style.css" } />
>

If you're writing Scala, then you can do substitutions like the one above,
but Lift's views are not like JSP templates.  In the above case, you can
simply say:


And it will be automatically updated based on the context path.

>
> How do I go about making this work, and in what scenarios should I be
> using this {...} approach vs snippets?
>
> Note: An earlier example in the lift book used href="/classpath/css/
> style.css", but later on said that the 1st method is better. The basic
> lift archetype references /classpath everywhere as well, so I don't
> know what to believe.
>
> I guess those are the glaring questions I have right now. In addition,
> what are some common search terms I could use to find this sort of
> basic info on the board, or where can I find best practices info and
> more examples of working sites? I'd rather see what documentation/
> tutorials already exists for beginners before I send more messages for
> the board, but my main issue is knowing whether or not I'm getting the
> right information; most every lift example document/wiki/tutorial I've
> seen is outdated code or incomplete. I'm looking for more code
> examples that comply with lift's current evolution. The lift book is
> helpful, but I also feel a little left out when I read it because I
> get the feeling the book assumes the reader knows certain lift and
> scala basics that are obvious to more seasoned users, but not to...me.
>
> Thank you so much for your help!
>
>
Sure thing.

Welcome to the community.

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
Surf the harmonics

--~--~-~--~~~---~--~~
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: Newbie post: Where are the basics and best practices?

2009-10-21 Thread Jack Widman
Just wanted to say that I have never seen a community like this. Its
fantastic!

On Wed, Oct 21, 2009 at 11:05 PM, David Pollak <
feeder.of.the.be...@gmail.com> wrote:

>
>
> On Wed, Oct 21, 2009 at 4:15 PM, Strom  wrote:
>
>>
>> Hello everyone,
>> I am pretty much brand new to lift and scala, and I come from a non-
>> framework jsp/java servlet/hibernate background. I've been reading
>> this board, Beginning Scala, The lift book, and googling how to use
>> the lift framework, but I can't seem to find some basic info.
>
>
> That's why we're here.  Ask away!
>
>
>> Please
>> help me out. I know these are very basic questions, and posting on the
>> group was a last resort after coming up empty on searches. I want to
>> start off with best practices since I'm beginning from scratch.
>>
>
> Doing some searching is great, but asking on list is heartily encouraged.
>
>
>>
>> 1. Directory structure - where is everything?
>> Looking at the PocketChange example and making a basic lift 1.0
>> project via netbeans, I know that the DB schema go under "model", the
>> snippets in "snippet", the templates in the corresponding "webapp/
>> templates-hidden" directory, and the web pages in the "webapp"
>> directory.
>>
>> What I don't know is where /classpath or  are
>> actually going. Is classpath still going to "src/main/resources/
>> toserve", or is that old info? Looking at the default.html template,
>> there's no jquery.js or CSS files in a "toserve" directory; in fact
>> there is no "toserve" directory period, so I made my own. Also I see
>> "", and I have no idea where that's going. I don't
>> see any CSS class with blueprint method, but the syntax looks clean
>> and I'd like to add my own custom stylesheet in the same fashion.
>>
>
> The /classpath stuff is served out of the Lift JAR file rather than out of
> a directory.  If you want to have your own CSS, just put it in
> /src/webapp/css/xxx.css and then refer to /css/xxx.css in your web page.
>
>
>>
>> 2. Dynamically generated HTML - what's the best practice, and how to
>> do it?
>>
>
> Snippets are the way that Lift does dynamic HTML.  It's not a templating
> system, but a binding between your XHTML file and methods on classes that
> substitute the dynamically generated HTML.
>
>
>> I would like to know what the lift equivalent is for the following:
>>
>> Index
>>
>
> In the case of Lift, you don't have to do this.   href="/home/index">index will automatically be rewritten for the correct
> context path. No work on your part.
>
>>
>> That's the way I was taught to link web pages together because it
>> avoids hardcoding the page location, but the main point is the stuff
>> inside <%=...%>. It looks like the lift uses {...}, but this example
>> from the lift book causes an IllegalArgumentException (bad XML
>> according to the msgs I've found on this board):
>> > {LiftRules.resourceServerPath + "/css/style.css" } />
>>
>
> If you're writing Scala, then you can do substitutions like the one above,
> but Lift's views are not like JSP templates.  In the above case, you can
> simply say:
> 
>
> And it will be automatically updated based on the context path.
>
>>
>> How do I go about making this work, and in what scenarios should I be
>> using this {...} approach vs snippets?
>>
>> Note: An earlier example in the lift book used href="/classpath/css/
>> style.css", but later on said that the 1st method is better. The basic
>> lift archetype references /classpath everywhere as well, so I don't
>> know what to believe.
>>
>> I guess those are the glaring questions I have right now. In addition,
>> what are some common search terms I could use to find this sort of
>> basic info on the board, or where can I find best practices info and
>> more examples of working sites? I'd rather see what documentation/
>> tutorials already exists for beginners before I send more messages for
>> the board, but my main issue is knowing whether or not I'm getting the
>> right information; most every lift example document/wiki/tutorial I've
>> seen is outdated code or incomplete. I'm looking for more code
>> examples that comply with lift's current evolution. The lift book is
>> helpful, but I also feel a little left out when I read it because I
>> get the feeling the book assumes the reader knows certain lift and
>> scala basics that are obvious to more seasoned users, but not to...me.
>>
>> Thank you so much for your help!
>>
>>
> Sure thing.
>
> Welcome to the community.
>
> 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
> Surf the harmonics
>
>
> >
>


-- 
Jack

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

[Lift] **Breaking Changes** **README** **Important**

2009-10-21 Thread David Pollak
Folks,
As the title of this email indicates, there are breaking changes in Lift
that just got pushed to master.

We've migrated from Scala Actors to Lift Actors and included a series of
traits that allow Lift to use its own Actors or Akka Actors (or anything
else that implements that interface.)

The two big changes that you'll have to work with are:

   - Box/Full/Empty/Failure was moved from the lift-util/net.liftweb.util
   package to the lift-common/net.liftweb.common package.  The reason for this
   change is that we're going to make the lift-common package a more generic,
   non-web related package.  It currently contains Box and Actor, but in the
   future may contain other interfaces that will have concrete implementations
   outside of Lift.  We moved Box there because Box is richer than Scala's
   Option class and being able to carry Exceptions around in a Box while still
   being able to map/flatMap/foreach over a Box (these are unavailable for
   Scala's Either).  Some we're going to actively promote using Box as a
   replacement for Option in all Scala apps.  What this means for you is you
   have to import net.liftweb.common._ in any file that you also import
   net.liftweb.util.?
   - Lift no longer support Scala Actors for Comet Actors.  The GenericActor
   API offers pretty much the same client interface to Lift's Actors, so ! and
   !? work the same way.  However, there's no link, self, start or exit
   methods.

Please do an "mvn -U clean install" on your code and run it against the new
code.  If you have any Comet-related weirdness, please report it
immediately.  We're planning M7 in 2 weeks, so we've got lots of time to
iron any kinks out of this code.

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
Surf the harmonics

--~--~-~--~~~---~--~~
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: Newbie post: Where are the basics and best practices?

2009-10-21 Thread Strom

Very cool. Thanks for all the tips David! I will try to ask more as I
continue my journey through this new endeavor, seeing as how quickly I
got the info I needed.

Strom

On Oct 21, 8:05 pm, David Pollak 
wrote:
> On Wed, Oct 21, 2009 at 4:15 PM, Strom  wrote:
>
> > Hello everyone,
> > I am pretty much brand new to lift and scala, and I come from a non-
> > framework jsp/java servlet/hibernate background. I've been reading
> > this board, Beginning Scala, The lift book, and googling how to use
> > the lift framework, but I can't seem to find some basic info.
>
> That's why we're here.  Ask away!
>
> > Please
> > help me out. I know these are very basic questions, and posting on the
> > group was a last resort after coming up empty on searches. I want to
> > start off with best practices since I'm beginning from scratch.
>
> Doing some searching is great, but asking on list is heartily encouraged.
>
>
>
>
>
> > 1. Directory structure - where is everything?
> > Looking at the PocketChange example and making a basic lift 1.0
> > project via netbeans, I know that the DB schema go under "model", the
> > snippets in "snippet", the templates in the corresponding "webapp/
> > templates-hidden" directory, and the web pages in the "webapp"
> > directory.
>
> > What I don't know is where /classpath or  are
> > actually going. Is classpath still going to "src/main/resources/
> > toserve", or is that old info? Looking at the default.html template,
> > there's no jquery.js or CSS files in a "toserve" directory; in fact
> > there is no "toserve" directory period, so I made my own. Also I see
> > "", and I have no idea where that's going. I don't
> > see any CSS class with blueprint method, but the syntax looks clean
> > and I'd like to add my own custom stylesheet in the same fashion.
>
> The /classpath stuff is served out of the Lift JAR file rather than out of a
> directory.  If you want to have your own CSS, just put it in
> /src/webapp/css/xxx.css and then refer to /css/xxx.css in your web page.
>
>
>
> > 2. Dynamically generated HTML - what's the best practice, and how to
> > do it?
>
> Snippets are the way that Lift does dynamic HTML.  It's not a templating
> system, but a binding between your XHTML file and methods on classes that
> substitute the dynamically generated HTML.
>
> > I would like to know what the lift equivalent is for the following:
>
> > Index
>
> In the case of Lift, you don't have to do this.   href="/home/index">index will automatically be rewritten for the correct
> context path. No work on your part.
>
>
>
> > That's the way I was taught to link web pages together because it
> > avoids hardcoding the page location, but the main point is the stuff
> > inside <%=...%>. It looks like the lift uses {...}, but this example
> > from the lift book causes an IllegalArgumentException (bad XML
> > according to the msgs I've found on this board):
> >  > {LiftRules.resourceServerPath + "/css/style.css" } />
>
> If you're writing Scala, then you can do substitutions like the one above,
> but Lift's views are not like JSP templates.  In the above case, you can
> simply say:
> 
>
> And it will be automatically updated based on the context path.
>
>
>
>
>
> > How do I go about making this work, and in what scenarios should I be
> > using this {...} approach vs snippets?
>
> > Note: An earlier example in the lift book used href="/classpath/css/
> > style.css", but later on said that the 1st method is better. The basic
> > lift archetype references /classpath everywhere as well, so I don't
> > know what to believe.
>
> > I guess those are the glaring questions I have right now. In addition,
> > what are some common search terms I could use to find this sort of
> > basic info on the board, or where can I find best practices info and
> > more examples of working sites? I'd rather see what documentation/
> > tutorials already exists for beginners before I send more messages for
> > the board, but my main issue is knowing whether or not I'm getting the
> > right information; most every lift example document/wiki/tutorial I've
> > seen is outdated code or incomplete. I'm looking for more code
> > examples that comply with lift's current evolution. The lift book is
> > helpful, but I also feel a little left out when I read it because I
> > get the feeling the book assumes the reader knows certain lift and
> > scala basics that are obvious to more seasoned users, but not to...me.
>
> > Thank you so much for your help!
>
> Sure thing.
>
> Welcome to the community.
>
> Thanks,
>
> David
>
>
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Surf the harmonics

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

[Lift] How do I pass information between a Comet Actor and a StatefulSnippet ?

2009-10-21 Thread Jonathan Ferguson

I have a StatefulSnippet  that uses a CometActor to keep users
informed when performing a lengthy task, much like the example on the
demo site ( http://demo.liftweb.net/longtime).

The only difference being I pass the CometActor an identifier  so it
knows which job to inform the user about.

When the task is over I need to display a form to the user, which I
would assume would be rendered by the snippet.

How does the actor tell the snippet the task is complete ?

I assuming it is trivial and I've thought or coded myself into a
corner.

Thanks in advance.

Jono

--~--~-~--~~~---~--~~
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: Newbie post: Where are the basics and best practices?

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 8:11 PM, Strom  wrote:

>
> Very cool. Thanks for all the tips David! I will try to ask more as I
> continue my journey through this new endeavor, seeing as how quickly I
> got the info I needed.
>

There's one small obligation... when others ask the question and you have
the answer, please take the time to help.


>
> Strom
>
> On Oct 21, 8:05 pm, David Pollak 
> wrote:
> > On Wed, Oct 21, 2009 at 4:15 PM, Strom  wrote:
> >
> > > Hello everyone,
> > > I am pretty much brand new to lift and scala, and I come from a non-
> > > framework jsp/java servlet/hibernate background. I've been reading
> > > this board, Beginning Scala, The lift book, and googling how to use
> > > the lift framework, but I can't seem to find some basic info.
> >
> > That's why we're here.  Ask away!
> >
> > > Please
> > > help me out. I know these are very basic questions, and posting on the
> > > group was a last resort after coming up empty on searches. I want to
> > > start off with best practices since I'm beginning from scratch.
> >
> > Doing some searching is great, but asking on list is heartily encouraged.
> >
> >
> >
> >
> >
> > > 1. Directory structure - where is everything?
> > > Looking at the PocketChange example and making a basic lift 1.0
> > > project via netbeans, I know that the DB schema go under "model", the
> > > snippets in "snippet", the templates in the corresponding "webapp/
> > > templates-hidden" directory, and the web pages in the "webapp"
> > > directory.
> >
> > > What I don't know is where /classpath or  are
> > > actually going. Is classpath still going to "src/main/resources/
> > > toserve", or is that old info? Looking at the default.html template,
> > > there's no jquery.js or CSS files in a "toserve" directory; in fact
> > > there is no "toserve" directory period, so I made my own. Also I see
> > > "", and I have no idea where that's going. I don't
> > > see any CSS class with blueprint method, but the syntax looks clean
> > > and I'd like to add my own custom stylesheet in the same fashion.
> >
> > The /classpath stuff is served out of the Lift JAR file rather than out
> of a
> > directory.  If you want to have your own CSS, just put it in
> > /src/webapp/css/xxx.css and then refer to /css/xxx.css in your web page.
> >
> >
> >
> > > 2. Dynamically generated HTML - what's the best practice, and how to
> > > do it?
> >
> > Snippets are the way that Lift does dynamic HTML.  It's not a templating
> > system, but a binding between your XHTML file and methods on classes that
> > substitute the dynamically generated HTML.
> >
> > > I would like to know what the lift equivalent is for the following:
> >
> > > Index
> >
> > In the case of Lift, you don't have to do this.   > href="/home/index">index will automatically be rewritten for the
> correct
> > context path. No work on your part.
> >
> >
> >
> > > That's the way I was taught to link web pages together because it
> > > avoids hardcoding the page location, but the main point is the stuff
> > > inside <%=...%>. It looks like the lift uses {...}, but this example
> > > from the lift book causes an IllegalArgumentException (bad XML
> > > according to the msgs I've found on this board):
> > >  > > {LiftRules.resourceServerPath + "/css/style.css" } />
> >
> > If you're writing Scala, then you can do substitutions like the one
> above,
> > but Lift's views are not like JSP templates.  In the above case, you can
> > simply say:
> > 
> >
> > And it will be automatically updated based on the context path.
> >
> >
> >
> >
> >
> > > How do I go about making this work, and in what scenarios should I be
> > > using this {...} approach vs snippets?
> >
> > > Note: An earlier example in the lift book used href="/classpath/css/
> > > style.css", but later on said that the 1st method is better. The basic
> > > lift archetype references /classpath everywhere as well, so I don't
> > > know what to believe.
> >
> > > I guess those are the glaring questions I have right now. In addition,
> > > what are some common search terms I could use to find this sort of
> > > basic info on the board, or where can I find best practices info and
> > > more examples of working sites? I'd rather see what documentation/
> > > tutorials already exists for beginners before I send more messages for
> > > the board, but my main issue is knowing whether or not I'm getting the
> > > right information; most every lift example document/wiki/tutorial I've
> > > seen is outdated code or incomplete. I'm looking for more code
> > > examples that comply with lift's current evolution. The lift book is
> > > helpful, but I also feel a little left out when I read it because I
> > > get the feeling the book assumes the reader knows certain lift and
> > > scala basics that are obvious to more seasoned users, but not to...me.
> >
> > > Thank you so much for your help!
> >
> > Sure thing.
> >
> > Welcome to the community.
> >
> > Thanks,
> >
> > David
> >
> >
> >
> > --
> > Lift, th

[Lift] Re: How do I pass information between a Comet Actor and a StatefulSnippet ?

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 8:46 PM, Jonathan Ferguson wrote:

>
> I have a StatefulSnippet  that uses a CometActor to keep users
> informed when performing a lengthy task, much like the example on the
> demo site ( http://demo.liftweb.net/longtime).
>
> The only difference being I pass the CometActor an identifier  so it
> knows which job to inform the user about.
>
> When the task is over I need to display a form to the user, which I
> would assume would be rendered by the snippet.
>
> How does the actor tell the snippet the task is complete ?
>

The Actor has to know about the snippet... you could send the Actor a
message with a reference to the snippet and then call a method on the
snippet when the Actor is done.  Does that do it for you?


>
> I assuming it is trivial and I've thought or coded myself into a
> corner.
>
> Thanks in advance.
>
> Jono
>
> >
>


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

--~--~-~--~~~---~--~~
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: Newbie post: Where are the basics and best practices?

2009-10-21 Thread Strom

Once I get my bearings I'll be sure to contribute to this community.
Thanks!

On Oct 21, 9:10 pm, David Pollak 
wrote:
> On Wed, Oct 21, 2009 at 8:11 PM, Strom  wrote:
>
> > Very cool. Thanks for all the tips David! I will try to ask more as I
> > continue my journey through this new endeavor, seeing as how quickly I
> > got the info I needed.
>
> There's one small obligation... when others ask the question and you have
> the answer, please take the time to help.
>
>
>
>
>
> > Strom
>
> > On Oct 21, 8:05 pm, David Pollak 
> > wrote:
> > > On Wed, Oct 21, 2009 at 4:15 PM, Strom  wrote:
>
> > > > Hello everyone,
> > > > I am pretty much brand new to lift and scala, and I come from a non-
> > > > framework jsp/java servlet/hibernate background. I've been reading
> > > > this board, Beginning Scala, The lift book, and googling how to use
> > > > the lift framework, but I can't seem to find some basic info.
>
> > > That's why we're here.  Ask away!
>
> > > > Please
> > > > help me out. I know these are very basic questions, and posting on the
> > > > group was a last resort after coming up empty on searches. I want to
> > > > start off with best practices since I'm beginning from scratch.
>
> > > Doing some searching is great, but asking on list is heartily encouraged.
>
> > > > 1. Directory structure - where is everything?
> > > > Looking at the PocketChange example and making a basic lift 1.0
> > > > project via netbeans, I know that the DB schema go under "model", the
> > > > snippets in "snippet", the templates in the corresponding "webapp/
> > > > templates-hidden" directory, and the web pages in the "webapp"
> > > > directory.
>
> > > > What I don't know is where /classpath or  are
> > > > actually going. Is classpath still going to "src/main/resources/
> > > > toserve", or is that old info? Looking at the default.html template,
> > > > there's no jquery.js or CSS files in a "toserve" directory; in fact
> > > > there is no "toserve" directory period, so I made my own. Also I see
> > > > "", and I have no idea where that's going. I don't
> > > > see any CSS class with blueprint method, but the syntax looks clean
> > > > and I'd like to add my own custom stylesheet in the same fashion.
>
> > > The /classpath stuff is served out of the Lift JAR file rather than out
> > of a
> > > directory.  If you want to have your own CSS, just put it in
> > > /src/webapp/css/xxx.css and then refer to /css/xxx.css in your web page.
>
> > > > 2. Dynamically generated HTML - what's the best practice, and how to
> > > > do it?
>
> > > Snippets are the way that Lift does dynamic HTML.  It's not a templating
> > > system, but a binding between your XHTML file and methods on classes that
> > > substitute the dynamically generated HTML.
>
> > > > I would like to know what the lift equivalent is for the following:
>
> > > > Index
>
> > > In the case of Lift, you don't have to do this.   > > href="/home/index">index will automatically be rewritten for the
> > correct
> > > context path. No work on your part.
>
> > > > That's the way I was taught to link web pages together because it
> > > > avoids hardcoding the page location, but the main point is the stuff
> > > > inside <%=...%>. It looks like the lift uses {...}, but this example
> > > > from the lift book causes an IllegalArgumentException (bad XML
> > > > according to the msgs I've found on this board):
> > > >  > > > {LiftRules.resourceServerPath + "/css/style.css" } />
>
> > > If you're writing Scala, then you can do substitutions like the one
> > above,
> > > but Lift's views are not like JSP templates.  In the above case, you can
> > > simply say:
> > > 
>
> > > And it will be automatically updated based on the context path.
>
> > > > How do I go about making this work, and in what scenarios should I be
> > > > using this {...} approach vs snippets?
>
> > > > Note: An earlier example in the lift book used href="/classpath/css/
> > > > style.css", but later on said that the 1st method is better. The basic
> > > > lift archetype references /classpath everywhere as well, so I don't
> > > > know what to believe.
>
> > > > I guess those are the glaring questions I have right now. In addition,
> > > > what are some common search terms I could use to find this sort of
> > > > basic info on the board, or where can I find best practices info and
> > > > more examples of working sites? I'd rather see what documentation/
> > > > tutorials already exists for beginners before I send more messages for
> > > > the board, but my main issue is knowing whether or not I'm getting the
> > > > right information; most every lift example document/wiki/tutorial I've
> > > > seen is outdated code or incomplete. I'm looking for more code
> > > > examples that comply with lift's current evolution. The lift book is
> > > > helpful, but I also feel a little left out when I read it because I
> > > > get the feeling the book assumes the reader knows certain lift and
> > > > scala basics that are obvio

[Lift] Re: A Critique On Lift

2009-10-21 Thread jlist9

override def validations = validPriority _ :: super.validations

This is a more of a comment about Scala than one about Lift - this does
look cryptic to me. And this is just one of the simpler syntax that confuses
people, who are new to the language. And I'm one of them.

I understand that you don't have to learn all the tricks/syntax to start
coding in Scala but you do have to understand it when you read
source code of libraries written by someone with much more advanced
language skills.

In David's book he says "After more than two years of coding Scala, ...
My brain has finally stopped hurting." This sounds like a very high
barrier to entry.

I'm just wondering why Scala has to be so complicated. I'm sure a lot
of things in Scala have their reasons but at the mean time I also
suspect that many of the odd things are there to reduce
typing, which is advertised as one of the advantages of this language -
conciseness. (I could be very wrong due to my lack of understanding.)
If the latter is true, I feel that I'd rather type a little more to make the
code easier to read.

Just feeling a little frustrated learning Scala. I think it's much
easier learning
Java. Not much surprise. Not sure if anyone shares my experience
(and opinion, if there is one.)

On Wed, Oct 21, 2009 at 3:56 PM, Randinn  wrote:
>
> http://localhost3000.de/2009/10/a-quick-glance-at-lift/
>
> The site above is a blog post from a Rails developer, he had some good
> and bad things to say about Lift and since I do not know enough to
> debate with him I thought I'd post it here.

--~--~-~--~~~---~--~~
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: **Breaking Changes** **README** **Important**

2009-10-21 Thread Jonathan Ferguson
Do we need to update our pom's or should it be code changes only ?
Cheers

Jono

2009/10/22 David Pollak 

> Folks,
> As the title of this email indicates, there are breaking changes in Lift
> that just got pushed to master.
>
> We've migrated from Scala Actors to Lift Actors and included a series of
> traits that allow Lift to use its own Actors or Akka Actors (or anything
> else that implements that interface.)
>
> The two big changes that you'll have to work with are:
>
>- Box/Full/Empty/Failure was moved from the lift-util/net.liftweb.util
>package to the lift-common/net.liftweb.common package.  The reason for this
>change is that we're going to make the lift-common package a more generic,
>non-web related package.  It currently contains Box and Actor, but in the
>future may contain other interfaces that will have concrete implementations
>outside of Lift.  We moved Box there because Box is richer than Scala's
>Option class and being able to carry Exceptions around in a Box while still
>being able to map/flatMap/foreach over a Box (these are unavailable for
>Scala's Either).  Some we're going to actively promote using Box as a
>replacement for Option in all Scala apps.  What this means for you is you
>have to import net.liftweb.common._ in any file that you also import
>net.liftweb.util.?
>- Lift no longer support Scala Actors for Comet Actors.  The
>GenericActor API offers pretty much the same client interface to Lift's
>Actors, so ! and !? work the same way.  However, there's no link, self,
>start or exit methods.
>
> Please do an "mvn -U clean install" on your code and run it against the new
> code.  If you have any Comet-related weirdness, please report it
> immediately.  We're planning M7 in 2 weeks, so we've got lots of time to
> iron any kinks out of this code.
>
> 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
> Surf the harmonics
>
> >
>

--~--~-~--~~~---~--~~
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] Can't add model

2009-10-21 Thread Rahul Somasunderam

I followed the guide here:

http://liftweb.net/docs/getting_started/mod_master.html

I'm unable to add the model ToDo.

When I try to add it, I get a compilation failure:
Description ResourcePathLocationType
not found: value MyTask MyTask.scala/hixcore/src/main/scala/com/hixop/
model   Unknown Scala Problem

I guess I'm doing something totally wrong. Can someone please help me
on this one?

--~--~-~--~~~---~--~~
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: **Breaking Changes** **README** **Important**

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 10:27 PM, Jonathan Ferguson wrote:

> Do we need to update our pom's or should it be code changes only ?


You likely only need to make the code change... at least that's been the
case for all the projects I've converted.


>
> Cheers
>
> Jono
>
> 2009/10/22 David Pollak 
>
> Folks,
>> As the title of this email indicates, there are breaking changes in Lift
>> that just got pushed to master.
>>
>> We've migrated from Scala Actors to Lift Actors and included a series of
>> traits that allow Lift to use its own Actors or Akka Actors (or anything
>> else that implements that interface.)
>>
>> The two big changes that you'll have to work with are:
>>
>>- Box/Full/Empty/Failure was moved from the lift-util/net.liftweb.util
>>package to the lift-common/net.liftweb.common package.  The reason for 
>> this
>>change is that we're going to make the lift-common package a more generic,
>>non-web related package.  It currently contains Box and Actor, but in the
>>future may contain other interfaces that will have concrete 
>> implementations
>>outside of Lift.  We moved Box there because Box is richer than Scala's
>>Option class and being able to carry Exceptions around in a Box while 
>> still
>>being able to map/flatMap/foreach over a Box (these are unavailable for
>>Scala's Either).  Some we're going to actively promote using Box as a
>>replacement for Option in all Scala apps.  What this means for you is you
>>have to import net.liftweb.common._ in any file that you also import
>>net.liftweb.util.?
>>- Lift no longer support Scala Actors for Comet Actors.  The
>>GenericActor API offers pretty much the same client interface to Lift's
>>Actors, so ! and !? work the same way.  However, there's no link, self,
>>start or exit methods.
>>
>> Please do an "mvn -U clean install" on your code and run it against the
>> new code.  If you have any Comet-related weirdness, please report it
>> immediately.  We're planning M7 in 2 weeks, so we've got lots of time to
>> iron any kinks out of this code.
>>
>> 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
>> Surf the harmonics
>>
>>
>>
>
> >
>


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

--~--~-~--~~~---~--~~
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: Can't add model

2009-10-21 Thread David Pollak
On Wed, Oct 21, 2009 at 10:27 PM, Rahul Somasunderam wrote:

>
> I followed the guide here:
>
> http://liftweb.net/docs/getting_started/mod_master.html
>
> I'm unable to add the model ToDo.
>
> When I try to add it, I get a compilation failure:
> Description ResourcePathLocationType
> not found: value MyTask MyTask.scala/hixcore/src/main/scala/com/hixop/
> model   Unknown Scala Problem
>

Where do you get the compilation failure?  That doesn't seem like the output
of Maven.


>
> I guess I'm doing something totally wrong. Can someone please help me
> on this one?
>
> >
>


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

--~--~-~--~~~---~--~~
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: **Breaking Changes** **README** **Important**

2009-10-21 Thread Indrajit Raychaudhuri

Code change should suffice.

pom.xml updates won't be necessary since lift-util has lift-common as 
dependency and your application (which must be having lift-util as 
dependency) would resolve the lift-common dependency transitively.

Cheers, Indrajit

On 22/10/09 10:57 AM, Jonathan Ferguson wrote:
> Do we need to update our pom's or should it be code changes only ?
>
> Cheers
>
> Jono
>
> 2009/10/22 David Pollak  >
>
> Folks,
>
> As the title of this email indicates, there are breaking changes in
> Lift that just got pushed to master.
>
> We've migrated from Scala Actors to Lift Actors and included a
> series of traits that allow Lift to use its own Actors or Akka
> Actors (or anything else that implements that interface.)
>
> The two big changes that you'll have to work with are:
>
> * Box/Full/Empty/Failure was moved from the
>   lift-util/net.liftweb.util package to the
>   lift-common/net.liftweb.common package.  The reason for this
>   change is that we're going to make the lift-common package a
>   more generic, non-web related package.  It currently contains
>   Box and Actor, but in the future may contain other interfaces
>   that will have concrete implementations outside of Lift.  We
>   moved Box there because Box is richer than Scala's Option
>   class and being able to carry Exceptions around in a Box while
>   still being able to map/flatMap/foreach over a Box (these are
>   unavailable for Scala's Either).  Some we're going to actively
>   promote using Box as a replacement for Option in all Scala
>   apps.  What this means for you is you have to import
>   net.liftweb.common._ in any file that you also import
>   net.liftweb.util.?
> * Lift no longer support Scala Actors for Comet Actors.  The
>   GenericActor API offers pretty much the same client interface
>   to Lift's Actors, so ! and !? work the same way.  However,
>   there's no link, self, start or exit methods.
>
> Please do an "mvn -U clean install" on your code and run it against
> the new code.  If you have any Comet-related weirdness, please
> report it immediately.  We're planning M7 in 2 weeks, so we've got
> lots of time to iron any kinks out of this code.
>
> 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
> Surf the harmonics
>
>
>
>
> >

--~--~-~--~~~---~--~~
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: A Critique On Lift

2009-10-21 Thread ngocdaothanh

jlist9,
This is a Lift group, but I have to say I feel the same about Scala.

I had to ask for advice here:
http://groups.google.com/group/liftweb/browse_thread/thread/a588f997af842f93/60c378bb36d26030

Scala may help me to get my work done for the day. But I don't feel
happy with Scala. Scala makes me feel I'm a slave all the day to
machines (or Scala itself!).


On Oct 22, 2:13 pm, jlist9  wrote:
> override def validations = validPriority _ :: super.validations
>
> This is a more of a comment about Scala than one about Lift - this does
> look cryptic to me. And this is just one of the simpler syntax that confuses
> people, who are new to the language. And I'm one of them.
>
> I understand that you don't have to learn all the tricks/syntax to start
> coding in Scala but you do have to understand it when you read
> source code of libraries written by someone with much more advanced
> language skills.
>
> In David's book he says "After more than two years of coding Scala, ...
> My brain has finally stopped hurting." This sounds like a very high
> barrier to entry.
>
> I'm just wondering why Scala has to be so complicated. I'm sure a lot
> of things in Scala have their reasons but at the mean time I also
> suspect that many of the odd things are there to reduce
> typing, which is advertised as one of the advantages of this language -
> conciseness. (I could be very wrong due to my lack of understanding.)
> If the latter is true, I feel that I'd rather type a little more to make the
> code easier to read.
>
> Just feeling a little frustrated learning Scala. I think it's much
> easier learning
> Java. Not much surprise. Not sure if anyone shares my experience
> (and opinion, if there is one.)
>
> On Wed, Oct 21, 2009 at 3:56 PM, Randinn  wrote:
>
> >http://localhost3000.de/2009/10/a-quick-glance-at-lift/
>
> > The site above is a blog post from a Rails developer, he had some good
> > and bad things to say about Lift and since I do not know enough to
> > debate with him I thought I'd post it here.

--~--~-~--~~~---~--~~
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: **Breaking Changes** **README** **Important**

2009-10-21 Thread Jonathan Ferguson
You're right, my bad - an old pom was looking at the wrong repo, all happy
now.

Cheers
Jono

2009/10/22 David Pollak 

>
>
> On Wed, Oct 21, 2009 at 10:27 PM, Jonathan Ferguson wrote:
>
>> Do we need to update our pom's or should it be code changes only ?
>
>
> You likely only need to make the code change... at least that's been the
> case for all the projects I've converted.
>
>
>>
>> Cheers
>>
>> Jono
>>
>> 2009/10/22 David Pollak 
>>
>> Folks,
>>> As the title of this email indicates, there are breaking changes in Lift
>>> that just got pushed to master.
>>>
>>> We've migrated from Scala Actors to Lift Actors and included a series of
>>> traits that allow Lift to use its own Actors or Akka Actors (or anything
>>> else that implements that interface.)
>>>
>>> The two big changes that you'll have to work with are:
>>>
>>>- Box/Full/Empty/Failure was moved from the
>>>lift-util/net.liftweb.util package to the lift-common/net.liftweb.common
>>>package.  The reason for this change is that we're going to make the
>>>lift-common package a more generic, non-web related package.  It 
>>> currently
>>>contains Box and Actor, but in the future may contain other interfaces 
>>> that
>>>will have concrete implementations outside of Lift.  We moved Box there
>>>because Box is richer than Scala's Option class and being able to carry
>>>Exceptions around in a Box while still being able to map/flatMap/foreach
>>>over a Box (these are unavailable for Scala's Either).  Some we're going 
>>> to
>>>actively promote using Box as a replacement for Option in all Scala apps.
>>> What this means for you is you have to import net.liftweb.common._ in 
>>> any
>>>file that you also import net.liftweb.util.?
>>>- Lift no longer support Scala Actors for Comet Actors.  The
>>>GenericActor API offers pretty much the same client interface to Lift's
>>>Actors, so ! and !? work the same way.  However, there's no link, self,
>>>start or exit methods.
>>>
>>> Please do an "mvn -U clean install" on your code and run it against the
>>> new code.  If you have any Comet-related weirdness, please report it
>>> immediately.  We're planning M7 in 2 weeks, so we've got lots of time to
>>> iron any kinks out of this code.
>>>
>>> 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
>>> Surf the harmonics
>>>
>>>
>>>
>>
>>
>>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
> >
>

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



[Lift] Re: How do I pass information between a Comet Actor and a StatefulSnippet ?

2009-10-21 Thread Jonathan Ferguson
2009/10/22 David Pollak 

>
>
> On Wed, Oct 21, 2009 at 8:46 PM, Jonathan Ferguson wrote:
>
>>
>> I have a StatefulSnippet  that uses a CometActor to keep users
>> informed when performing a lengthy task, much like the example on the
>> demo site ( http://demo.liftweb.net/longtime).
>>
>> The only difference being I pass the CometActor an identifier  so it
>> knows which job to inform the user about.
>>
>> When the task is over I need to display a form to the user, which I
>> would assume would be rendered by the snippet.
>>
>> How does the actor tell the snippet the task is complete ?
>>
>
> The Actor has to know about the snippet... you could send the Actor a
> message with a reference to the snippet and then call a method on the
> snippet when the Actor is done.  Does that do it for you?
>


I don't see how I can I do that.  Currently the comet actor is setup in a
snippet, see below, how  do get a reference to the actor to send it a
message ?

   
Watch dog  status
   

 The id being passed via the name parameter is a reference the job to
monitor. I mention this only as I'm not sure if it's bad form or not.




>
>
>>
>> I assuming it is trivial and I've thought or coded myself into a
>> corner.
>>
>> Thanks in advance.
>>
>> Jono
>>
>>
>>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
>
> >
>

--~--~-~--~~~---~--~~
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: A Critique On Lift

2009-10-21 Thread TylerWeir



On Oct 22, 2:02 am, ngocdaothanh  wrote:
> jlist9,
> This is a Lift group, but I have to say I feel the same about Scala.
>
> I had to ask for advice 
> here:http://groups.google.com/group/liftweb/browse_thread/thread/a588f997a...
>
> Scala may help me to get my work done for the day. But I don't feel
> happy with Scala. Scala makes me feel I'm a slave all the day to
> machines (or Scala itself!).

If it makes you feel like a slave, why are you using Scala at all
then?

>
> On Oct 22, 2:13 pm, jlist9  wrote:
>
>
>
> > override def validations = validPriority _ :: super.validations
>
> > This is a more of a comment about Scala than one about Lift - this does
> > look cryptic to me. And this is just one of the simpler syntax that confuses
> > people, who are new to the language. And I'm one of them.
>
> > I understand that you don't have to learn all the tricks/syntax to start
> > coding in Scala but you do have to understand it when you read
> > source code of libraries written by someone with much more advanced
> > language skills.
>
> > In David's book he says "After more than two years of coding Scala, ...
> > My brain has finally stopped hurting." This sounds like a very high
> > barrier to entry.
>
> > I'm just wondering why Scala has to be so complicated. I'm sure a lot
> > of things in Scala have their reasons but at the mean time I also
> > suspect that many of the odd things are there to reduce
> > typing, which is advertised as one of the advantages of this language -
> > conciseness. (I could be very wrong due to my lack of understanding.)
> > If the latter is true, I feel that I'd rather type a little more to make the
> > code easier to read.
>
> > Just feeling a little frustrated learning Scala. I think it's much
> > easier learning
> > Java. Not much surprise. Not sure if anyone shares my experience
> > (and opinion, if there is one.)
>
> > On Wed, Oct 21, 2009 at 3:56 PM, Randinn  wrote:
>
> > >http://localhost3000.de/2009/10/a-quick-glance-at-lift/
>
> > > The site above is a blog post from a Rails developer, he had some good
> > > and bad things to say about Lift and since I do not know enough to
> > > debate with him I thought I'd post it here.
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---