[Lift] Re: [scala-internals] RC5 candidate for the first 2.8.0 beta

2009-12-22 Thread Kevin Wright
Another possibility is to specify scala as a system dependency in Lift's
pom:
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#System_Dependencies

Then hard code the path that scalac's being built into.
put maven in offline mode as well, and it should be nice and quick.


2009/12/22 Josh Suereth joshua.suer...@gmail.com

 For curiousities sake, if you're building using fsc, are you running scalac
 via an exploded classpath (i.e. not a JAR file?).  If so, I'll try to come
 up with a longer-term solution for this.

 If we allowed you to do the following:

 mvn reactor:make -Dmake.artifacts=net.liftweb:lift-mapper -P local-scala
 -Dscala.local.classpath=classfiledir

 would that be sufficient?  We could also have this do conditional
 computation in the future.

 - Josh


 On Tue, Dec 22, 2009 at 8:12 AM, martin odersky martin.oder...@epfl.chwrote:

 On Tue, Dec 22, 2009 at 2:01 PM, Josh Suereth joshua.suer...@gmail.com
 wrote:
  I think staying in maven would require the least amount of typing, but
 the
  most amount of time as you'd have to publish local snapshots of Scala
 2.8.0
  to use them in the lift build.  I remember how annoying this is ;).
 Also
  note that deploying maven requires a full scala build, but if needed I
 can
  make a short-cut that will just publish the quick libraries.  This
 would
  help immensely in testing trunk against projects, but is not very
 helpful
  otherwise.  Would this be desirable?
 
  What was already suggested (runing mvn dependency:copy-dependencies) is
 very
  viable.   However, if lift-mapper relies on lift-util, you'll have to
  rebuild one before you rebuild the other if you're somehow changing the
 ABI.
 
  If you still wanted to use maven, I recommend using the reactor
 plugin.   If
  you identify the project that is failing you can run:
 
  mvn reactor:make -Dmake.artifacts=net.liftweb:lift-mapper
 
  Where net.liftweb:lift-mapper is the groupId:artifactId containing the
  failing module.  This will only build the lift-mapper module and other
  modules on which lift-mapper depends (i.e. if lift-mapper needs
 lift-util
  (and only lift-util) just those two will be built.
 
  I have a local VM where I was setting up a scala nightly build that
 would
  feed maven.  Perhaps when I finish I'll make a write-up on how to do
 this,
  or have some kind of template/script you can use to do it by hand.
 
  - Josh
 
 Hi Josh,

 The problem is not so much building individual maven modules, but
 building them with experimental compilers. I need to be able to put a
 println into scalac, rebuild that (takes 10sec with fsc) and then
 recompile the offending maven part with that compiler. That's why I
 need a version of lift that can be compiled without maven. It need not
 be perfect, for instance one can probably throw out all the tests. But
 I need to be able to use lift as a rapid experimentation tool for the
 scala compiler itself.

 Unfortunately, LAMP is pretty much shutting down for the holidays
 right now. So any outside help that you can give is appreciated.
 Ideally: I get the right lift version as a tarball, together with all
 jars that it needs. Then, instructions what to compile in what order
 (I can probably figure them out in a pinch, but if someone knows that
 already, it would help).

 Thanks

  -- Martin





-- 
Kevin Wright

mail/google talk: kev.lee.wri...@googlemail.com
wave: kev.lee.wri...@googlewave.com
skype: kev.lee.wright
twitter: @thecoda

--

You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.




Re: [Lift] Re: [scala-internals] RC5 candidate for the first 2.8.0 beta

2009-12-22 Thread Kevin Wright
2009/12/22 David Bernard david.bernard...@gmail.com

 Dirty solutions (If you already have maven installed and be able to build
 lift with maven) :

 0. replace
 $HOME/.m2/repository/org/scala-lang/scala-compiler/2.8.0-SNAPSHOT/scala-compiler-2.8.0-SNAPSHOT.jar
 by symlink to the directory with classes result from scalac scalac
 compilation

 1. Or at the end of scalac scalac compilation create a jar and copy
 (override) t in place of
 .m2//scala-compiler/2.8.0-SNAPSHOT/scala-compiler-2.8.0-SNAPSHOT.jar

 2. Or you could run maven with the -Dmaven.scala.displayCmd=true then the
 command line used to build will be displayed.
 Copy the line into a .sh/.cmd
 Modifie the location scala .jar to use the output of your scalac scalac
 compilation.



The catch here is if there's a line-length limit in your OS - the classpath
gets truncated and then it all goes pear-shaped...



 Notes :
 * the call of scalac is wrapped into a main able to handle a long list of
 arguments from file (working with any version of scala).
 * maven-scala-plugin was created to used classes (scalac) packaged into jar

 Sorry to not provide a better solution.

 /davidB

 On Tue, Dec 22, 2009 at 15:16, martin odersky martin.oder...@epfl.chwrote:

 On Tue, Dec 22, 2009 at 2:35 PM, Josh Suereth joshua.suer...@gmail.com
 wrote:
  For curiousities sake, if you're building using fsc, are you running
 scalac
  via an exploded classpath (i.e. not a JAR file?).  If so, I'll try to
 come
  up with a longer-term solution for this.

 Yes, exactly. My usual setup is that my output directory is the first
 item on the classpath. So any files I recompile get chosen first.

 
  If we allowed you to do the following:
 
  mvn reactor:make -Dmake.artifacts=net.liftweb:lift-mapper -P local-scala
  -Dscala.local.classpath=classfiledir
 
  would that be sufficient?  We could also have this do conditional
  computation in the future.

 Does that mean that the scala compiler would then be run out of
 classfiledir? Yes, that could work.

 Cheers

  -- Martin

 --

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



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




-- 
Kevin Wright

mail/google talk: kev.lee.wri...@googlemail.com
wave: kev.lee.wri...@googlewave.com
skype: kev.lee.wright
twitter: @thecoda

--

You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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] Google wave for scala / lift

2009-10-17 Thread Kevin Wright

Sorry for cross-posting here, I think I have a valid reason... :)


I've spotted that the BASE crowd have a scala wave going, has anyone
yet thought to do the same for scala globally?
Same question goes to lift users.

--~--~-~--~~~---~--~~
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: Script merge similar to head merge?

2009-10-11 Thread Kevin Wright

If you want to keep your scripts out of head, you can always use the
lift:tail element, which supports the same functionality as head
merge - just at the other end of your document :)

the lift:tail element won't appear in the final output, and only its
content will.  IIRC, duplicate elements in the tail will be removed.

On Sun, Oct 11, 2009 at 11:06 AM, Eros Candelaresi e...@candelaresi.de wrote:
 Hi group,

 for a project I am working on interactive forms, i.e. fields
 appear/disappear/enable/disable based on the user input in other fields.
 Everything is heavily JavaScript event based, so I am currently writing a
 small library that simplifies the task of binding JS events and composing
 event handlers. My library follows a component based approach, so there is a
 component for text input fields, for dropdowns, etc. Each component is able
 to create its own HTML and JS code.

 And now here is my problem: every component ends up with its own script
 section in the HTML output (see example below). Although this is not a real
 problem it's still rather ugly. One solution could be to have a JS manager
 object that collects all JS from the input components and creates one single
 script secion on LiftSession.onEndServicing. But I am not sure if my Lift
 knowledge suffices for that. Also I don't want to reinvent the wheel. Is
 there something that I missed? Some kind of script merge?

 Kind regards,
 Eros Candelaresi


 --snip

   script type=text/javascript
 // ![CDATA[

 jQuery(document).ready(function()
 {jQuery('#'+'F766360102107OWD').change(function()
 {lift_ajaxHandler('F766360102108BAJ=' +
 jQuery('#'+'F766360102107OWD').val(), null, null);});});

 // ]]
 /scriptscript type=text/javascript
 // ![CDATA[

 jQuery(document).ready(function()
 {jQuery('#'+'F7663601021044I3').change(function() {alert('foo');});});

 // ]]
 /scriptscript type=text/javascript
 // ![CDATA[


 // ]]
 /scriptscript type=text/javascript
 src=/classpath/js/jquery-autocomplete/jquery.autocomplete.js/scriptlink
 href=/classpath/js/jquery-autocomplete/jquery.autocomplete.css
 type=text/css rel=stylesheet /script type=text/javascript
 // ![CDATA[
 jQuery(document).ready(function()
 {jQuery('#'+'F766360102105WM1').autocomplete('/ajax_request?F766360102106IRY=whatev',
 {'onItemSelect': function()
 {jQuery('#'+'F766360102103OJK').html(jQuery('#'+'F766360102105WM1').val());}});});


 // ]]
 /script
 --/snip




 


--~--~-~--~~~---~--~~
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: Concurrency control of database access in Lift/Comet

2009-10-05 Thread Kevin Wright

Its really more of a Java problem, or JDBC to be specific.

The normal way to configure this would be to establish a pool of
connections, when a thread, or actor, needs to interact with the
database it takes a connection from the pool, uses it, then returns it
to the pool.  This is the same regardless of how you approach
concurrency (actors/locks/dataflow/etc.).

When every connection in the pool is in use, subsequent requests will
block until one becomes available, thus limiting the number of
simultaneous requests to the DB.  Tuning is then handled by adjusting
the pool size to a value that delivers greatest throughput from the
database.

Depending on your exact requirements, it's then possible to build a
layer on to of this that can take advantage of asynchronous messages
to actors

On Mon, Oct 5, 2009 at 12:50 PM, donfranciscodequevedo
donfranciscodequev...@gmail.com wrote:

 Thanks Kevin,
 I know, that this is more of a theoretical problem, but now that I
 have read so much about Actors and concurrent programming, I am
 actually curious about the underlying concurrency strategies taken by
 Scala. Infact I realize, that this is actually more a Scala question,
 than a Lift one. But it is interesting for lift too, as it it builds
 upon Scalas actor model.

 So as far as I understand you suggest, that I take the concurrency
 problem over to the database and leave it up to the database to handle
 concurrency like in the following flow schema:

 Many open Comet connections - one thread per one or more client
 socket connections - one database connection per thread -
 concurrency handling in DB

 This approach however means that my application will generate many
 open connections to the database and therefore much connection (IPC-)
 overhead. Also by doing so it doesn't actually use the advantages of
 Scalas concurrency model.

 My approach was instead something like this:
 Many open Comet connections - one thread per one or more client
 socket connections - one thread receiving messages from all other
 threads putting them in a message queue - one database connection  -
 DB access

 Concurrency in such model is handled by the message system of Scala,
 which AFAIK is thread safe and doesn't use locks?! The advantage would
 be, that I just would need one database connection, which to me sounds
 more efficient.

 I think my question can be drilled down to the following. How
 efficient is Scala's concurrency model? Do Scala Actors use locks in
 the underpinning or are concurrency operations atomic? (I read here
 http://www.ibm.com/developerworks/java/library/j-scala04109.html that
 Scala uses locks under the hood too so after all I could finish up
 with the same problems like with shared memory and mutexes?)

 Best regards


 Gregor





 On 4 Okt., 21:06, Kevin Wright kev.lee.wri...@googlemail.com wrote:
 In my experience, the database engine itself does a pretty good job of
 managing concurrent connections like this out of the box, which is
 much of the reason why connection pooling is so effective.

 Of course, thinks can be a bit interesting on the database side if you
 want to get really obsessive about performance, with possibilities
 such as tinkering with page sizes, locking strategies, and such like,
 but it's extremely rare for this to be a bottleneck in an application.

 However... For the example you've given, I'd just run a dedicated
 actor to persist chat messages.  There's no need to wait for a message
 to be persisted before displaying it to the user, so asynchronous
 messages can really help out here.

 On Sun, Oct 4, 2009 at 6:41 PM, donfranciscodequevedo

 donfranciscodequev...@gmail.com wrote:

  I have read that the Lift framework supports the CometActor model.
  As far as I understand this is achieved by creating many threads out
  of some thread pool, each of which handles one or more client socket
  connection to a client.

  My question is, what kind of approach Lift takes to handle access from
  such threads to a shared object, e.g. a database?

  Many thread based applications use locks to access shared data, which
  however won't scale well. I read that better models would be timestamp
  ordering or multiversion concurrency control like e.g. used by
  CouchDB.

  Perhaps this is also handled automatically by the database and I don't
  have to bother about it at all from my application? Is it save to use
  a database connection from different threads?

  A simple example that came to my mind would be a Comet chat
  application, where one wants to save the communication to a database.
  How would the concurrent write requests from two threads to the
  database be handled in such case?

  Best regards

  Gregor

 


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

[Lift] Re: How to share request scope data among snippets in Lift

2009-10-05 Thread Kevin Wright

I was about to offer a smattering of Greek, Swedish and Hungarian (don't ask...)
But scala has to take the prize, I wonder if we couldn't implement
lojban as a DSL? :)


On Mon, Oct 5, 2009 at 8:49 PM, Viktor Klang viktor.kl...@gmail.com wrote:


 On Mon, Oct 5, 2009 at 6:02 PM, Jack Widman jack.wid...@gmail.com wrote:

 Why don't we make Esperanto the official Lift language?

 I'd say make Scala the official language ;)


 On Mon, Oct 5, 2009 at 11:52 AM, marius d. marius.dan...@gmail.com
 wrote:



 On Oct 5, 6:15 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
  On Sun, Oct 4, 2009 at 2:41 AM, ishiijp yoshinori.is...@gmail.com
  wrote:
 
   Thank you for your example, David.
   It will work in my purpose.
 
  Cool.
 
 
 
   It seems that my poor English and less information let some people
   confused.
 
  I appreciate that you have put in the work to translate your thoughts
  to
  English.  I apologize that I only speak English, but would love to
  speak
  Japanese, German, Russian, and a few other languages.

 oh you gotta learn Romanian :)

 
   I need just a request scope data.
   It means I want to share information between snippets across a
   request.
   (Is the expression request scope not good for in this case...?)
 
  request scope is exactly the right phrase.
 
 
 
 
 
   Thank all responsed my post,
   and your suggestions are informative.
   I think very nice community is here.
 
   On 9月26日, 午後10:33, David Pollak feeder.of.the.be...@gmail.com
   wrote:
To share information between snippets during a request, use a
RequestVar:
object MyInfo extends RequestVar(calculate_value)
 
so
 
object MyInfo extends RequestVar[Box[Invoice]](Empty)
 
in one snippet, you may calculate the Invoice and put it in the
MyInfo:
 
MyInfo.set(Full(invoice))
 
In another snippet, you can extract:
 
for {
  invoice - MyInfo.is
  } yield ...
 
Note that the calculate_value is a call-by-name parameter, so it
will
   be
invoked each time the RequestVar is uninitialized.  You can place
lazy
calculation logic in here.
 
On Sat, Sep 26, 2009 at 12:14 AM, ishiijp
yoshinori.is...@gmail.com
   wrote:
 
 Hi.
 
 If my lift application have some data that cost to create, and I
 want
 to share it among snippets, how to do in Lift?
 
 if such data are shared inside one snippet, I may use lazy val.
 But I have no nice idea to share it among different snippts.
 
 Thanks much.
 
--
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 frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Surf the harmonics




 --
 Jack





 --
 Viktor Klang

 Blog: klangism.blogspot.com
 Twttr: viktorklang

 Lift Committer - liftweb.com
 AKKA Committer - akkasource.org
 Cassidy - github.com/viktorklang/Cassidy.git
 SoftPub founder: http://groups.google.com/group/softpub

 


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



[Lift] Re: How to share request scope data among snippets in Lift

2009-10-05 Thread Kevin Wright

On Mon, Oct 5, 2009 at 10:54 PM, Jack Widman jack.wid...@gmail.com wrote:
 I'm not sure English is Turing Complete. Also not sure how prominent it will
 be in 50 years ... :)

Nor I, but I'm certain that Turing was (Queen's) English complete... :)

 On Mon, Oct 5, 2009 at 5:51 PM, David Pollak feeder.of.the.be...@gmail.com
 wrote:


 On Mon, Oct 5, 2009 at 9:35 AM, Timothy Perrett timo...@getintheloop.eu
 wrote:

 Call me old fashioned, but good ol' English seems to be quite
 prevalent these days ;-)

 Is this the Queen's English? ;-)


 On 5 Oct 2009, at 17:02, Jack Widman wrote:

  Why don't we make Esperanto the official Lift language?






 --
 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: Concurrency control of database access in Lift/Comet

2009-10-04 Thread Kevin Wright

In my experience, the database engine itself does a pretty good job of
managing concurrent connections like this out of the box, which is
much of the reason why connection pooling is so effective.

Of course, thinks can be a bit interesting on the database side if you
want to get really obsessive about performance, with possibilities
such as tinkering with page sizes, locking strategies, and such like,
but it's extremely rare for this to be a bottleneck in an application.

However... For the example you've given, I'd just run a dedicated
actor to persist chat messages.  There's no need to wait for a message
to be persisted before displaying it to the user, so asynchronous
messages can really help out here.



On Sun, Oct 4, 2009 at 6:41 PM, donfranciscodequevedo
donfranciscodequev...@gmail.com wrote:

 I have read that the Lift framework supports the CometActor model.
 As far as I understand this is achieved by creating many threads out
 of some thread pool, each of which handles one or more client socket
 connection to a client.

 My question is, what kind of approach Lift takes to handle access from
 such threads to a shared object, e.g. a database?

 Many thread based applications use locks to access shared data, which
 however won't scale well. I read that better models would be timestamp
 ordering or multiversion concurrency control like e.g. used by
 CouchDB.

 Perhaps this is also handled automatically by the database and I don't
 have to bother about it at all from my application? Is it save to use
 a database connection from different threads?

 A simple example that came to my mind would be a Comet chat
 application, where one wants to save the communication to a database.
 How would the concurrent write requests from two threads to the
 database be handled in such case?


 Best regards


 Gregor

 


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



[Lift] Re: lift-json's extract and Mapper

2009-10-03 Thread Kevin Wright

Sounds to me like you want to create yourself a small helper function
that can map that structure into your own case class, something like:

case class TempReading(node:String, dt:Int, temp:Double)


It should be possible to do this as a layer on top of the json parser.
So you can go from:

Object(
List(
JField(node,JString(00:1D:C9:00:04:9F)),
JField(dt,JInt(1254553581405)),
JField(temp,JDouble(27.5))
)
)


to:

TempReading(00:1D:C9:00:04:9F, 1254553581405, 27.5)

A Map would be an improvement over the raw json, but still is nowhere
near as concise or type-safe as the dedicated structure.

You probably also want to rethink using ints for datetime (I guess
this is what dt represents).  Take a look at the scala-time library,
which is a nice wrapper over Java's joda-time.




On Sat, Oct 3, 2009 at 9:46 AM, Peter Robinett pe...@bubblefoundry.com wrote:

 I guess this is basically a question for Joni, but I figure I'll throw
 it out here for everyone to see.

 Would it be possible to have extract() support Mapper instances in
 additional to standard case classes?

 After parsing some JSON I get the following JValue: JObject(List(JField
 (node,JString(00:1D:C9:00:04:9F)), JField(dt,JInt(1254553581405)),
 JField(temp,JDouble(27.5. I'd like to turn this into a new
 instance of my Packet model and it'd be awesome if extract could do
 that.

 I don't know how hard would it be to add this feature, so I don't know
 if this is a reasonable request. This would make making JSON API
 endpoints really easy for me and I hope for other people too.

 Peter Robinett
 


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



[Lift] Re: lift-json's extract and Mapper

2009-10-03 Thread Kevin Wright

Totally untested, but something like this might work for you:


case class TempReading(node:String, dt:Int, temp:Double)

object JsonTempReading {
  def unapply(obj: JObject) : Option[TempReading] {
obj match {
  case JObject(List(
JField(node, JString(node)),
JField(dt, JInt(dt)),
JField(temp, JDouble(temp))
  )) = Some(TempReading(node, dt, temp))   
  case _ = None
}
  }
}

val obj : JObject = ... get json data...
val reading = JsonTempReading.unapply(obj)



On Sat, Oct 3, 2009 at 10:13 AM, Kevin Wright
kev.lee.wri...@googlemail.com wrote:
 Sounds to me like you want to create yourself a small helper function
 that can map that structure into your own case class, something like:

 case class TempReading(node:String, dt:Int, temp:Double)


 It should be possible to do this as a layer on top of the json parser.
 So you can go from:

        Object(
                List(
                        JField(node,JString(00:1D:C9:00:04:9F)),
                        JField(dt,JInt(1254553581405)),
                        JField(temp,JDouble(27.5))
                )
        )


 to:

        TempReading(00:1D:C9:00:04:9F, 1254553581405, 27.5)

 A Map would be an improvement over the raw json, but still is nowhere
 near as concise or type-safe as the dedicated structure.

 You probably also want to rethink using ints for datetime (I guess
 this is what dt represents).  Take a look at the scala-time library,
 which is a nice wrapper over Java's joda-time.




 On Sat, Oct 3, 2009 at 9:46 AM, Peter Robinett pe...@bubblefoundry.com 
 wrote:

 I guess this is basically a question for Joni, but I figure I'll throw
 it out here for everyone to see.

 Would it be possible to have extract() support Mapper instances in
 additional to standard case classes?

 After parsing some JSON I get the following JValue: JObject(List(JField
 (node,JString(00:1D:C9:00:04:9F)), JField(dt,JInt(1254553581405)),
 JField(temp,JDouble(27.5. I'd like to turn this into a new
 instance of my Packet model and it'd be awesome if extract could do
 that.

 I don't know how hard would it be to add this feature, so I don't know
 if this is a reasonable request. This would make making JSON API
 endpoints really easy for me and I hope for other people too.

 Peter Robinett
 



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



[Lift] Re: lift-json's extract and Mapper

2009-10-03 Thread Kevin Wright

On Sat, Oct 3, 2009 at 10:43 AM, Peter Robinett pe...@bubblefoundry.com wrote:

 Thanks, Kevin. I'm going to poke around with lift-json a bit more but
 a case class may be the way to go.

case classes definitely get you some juicy extras, it becomes a lot
easier to filter or map a list of readings when compared to the raw
json.
You might also want to look at record/mapper if database persistence
is your thing...


 As for the datetime, it's actually stored as a Long representing a
 millisecond Unix timestamp. I've considered scala-time but haven't
 seen the need to switch yet.

I'm with DavidP on this one, get as much rich type info into the
system at the earliest opportunity.  A timestamp definitely carries
more semantic meaning than a number.  Imagine trying to filter the 30
days worth of readings that were taken between 9am and 5pm GMT (when
your server is running on EST)

 Peter

 On Oct 3, 11:13 am, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:
 Sounds to me like you want to create yourself a small helper function
 that can map that structure into your own case class, something like:

 case class TempReading(node:String, dt:Int, temp:Double)

 It should be possible to do this as a layer on top of the json parser.
 So you can go from:

         Object(
                 List(
                         JField(node,JString(00:1D:C9:00:04:9F)),
                         JField(dt,JInt(1254553581405)),
                         JField(temp,JDouble(27.5))
                 )
         )

 to:

         TempReading(00:1D:C9:00:04:9F, 1254553581405, 27.5)

 A Map would be an improvement over the raw json, but still is nowhere
 near as concise or type-safe as the dedicated structure.

 You probably also want to rethink using ints for datetime (I guess
 this is what dt represents).  Take a look at the scala-time library,
 which is a nice wrapper over Java's joda-time.

 On Sat, Oct 3, 2009 at 9:46 AM, Peter Robinett pe...@bubblefoundry.com 
 wrote:

  I guess this is basically a question for Joni, but I figure I'll throw
  it out here for everyone to see.

  Would it be possible to have extract() support Mapper instances in
  additional to standard case classes?

  After parsing some JSON I get the following JValue: JObject(List(JField
  (node,JString(00:1D:C9:00:04:9F)), JField(dt,JInt(1254553581405)),
  JField(temp,JDouble(27.5. I'd like to turn this into a new
  instance of my Packet model and it'd be awesome if extract could do
  that.

  I don't know how hard would it be to add this feature, so I don't know
  if this is a reasonable request. This would make making JSON API
  endpoints really easy for me and I hope for other people too.

  Peter Robinett
 


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



[Lift] Re: lift-json's extract and Mapper

2009-10-03 Thread Kevin Wright

On Sat, Oct 3, 2009 at 11:33 AM, Peter Robinett pe...@bubblefoundry.com wrote:


 On Oct 3, 12:04 pm, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:
 On Sat, Oct 3, 2009 at 10:43 AM, Peter Robinett pe...@bubblefoundry.com 
 wrote:

  Thanks, Kevin. I'm going to poke around with lift-json a bit more but
  a case class may be the way to go.

 case classes definitely get you some juicy extras, it becomes a lot
 easier to filter or map a list of readings when compared to the raw
 json.

 Great.



 You might also want to look at record/mapper if database persistence
 is your thing...

 Hence the original question, whether I could use extract to get
 instances of my Mapper model. ;-) Case classes would just add another
 step in the translation, but it looks like it's both necessary and
 easy.

Ahh, I misinterpreted Mapper as Map - a very different beast :)

You could always use the JsonTempReading extractor from above to
directly build a Mapper class instead of a case class.

Having said that... going via a case class here would allow some
benefits, such as performing json decoding and mapper validation as
independent operations.  The first pass would use the extractor to
return an Option[TempReading], the second pass would then map this to
a Box - with the error condition being used if there's a validation
failure.  This arrangement should also be easier to test and debug, I
think that separating multiple steps like this is generally a Good
Thing, especially in the realms of functional programming.




 I'm with DavidP on this one, get as much rich type info into the
 system at the earliest opportunity.  A timestamp definitely carries
 more semantic meaning than a number.  Imagine trying to filter the 30
 days worth of readings that were taken between 9am and 5pm GMT (when
 your server is running on EST)

 Good point. Do you know of any sample Mapper code that uses scala-
 time? I'm still not very strong with making my own mapped types.

I've not yet used both libraries at the same time, though I do
remember some discussion a while back about doing exactly this.
Probably worth a search back through the group messages, but I'm
pretty sure it's not difficult to do.

 Peter

  Peter

  On Oct 3, 11:13 am, Kevin Wright kev.lee.wri...@googlemail.com
  wrote:
  Sounds to me like you want to create yourself a small helper function
  that can map that structure into your own case class, something like:

  case class TempReading(node:String, dt:Int, temp:Double)

  It should be possible to do this as a layer on top of the json parser.
  So you can go from:

          Object(
                  List(
                          JField(node,JString(00:1D:C9:00:04:9F)),
                          JField(dt,JInt(1254553581405)),
                          JField(temp,JDouble(27.5))
                  )
          )

  to:

          TempReading(00:1D:C9:00:04:9F, 1254553581405, 27.5)

  A Map would be an improvement over the raw json, but still is nowhere
  near as concise or type-safe as the dedicated structure.

  You probably also want to rethink using ints for datetime (I guess
  this is what dt represents).  Take a look at the scala-time library,
  which is a nice wrapper over Java's joda-time.

  On Sat, Oct 3, 2009 at 9:46 AM, Peter Robinett pe...@bubblefoundry.com 
  wrote:

   I guess this is basically a question for Joni, but I figure I'll throw
   it out here for everyone to see.

   Would it be possible to have extract() support Mapper instances in
   additional to standard case classes?

   After parsing some JSON I get the following JValue: JObject(List(JField
   (node,JString(00:1D:C9:00:04:9F)), JField(dt,JInt(1254553581405)),
   JField(temp,JDouble(27.5. I'd like to turn this into a new
   instance of my Packet model and it'd be awesome if extract could do
   that.

   I don't know how hard would it be to add this feature, so I don't know
   if this is a reasonable request. This would make making JSON API
   endpoints really easy for me and I hope for other people too.

   Peter Robinett
 


--~--~-~--~~~---~--~~
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: Concurrent Web Service Requests?

2009-09-30 Thread Kevin Wright

I thought there were issues here because anything starting lift: gets
executed as a snippet.

I'm still for an eval: prefix, as these proposals all relate to how a
page is evaluated.



On Wed, Sep 30, 2009 at 5:34 AM, marius d. marius.dan...@gmail.com wrote:

 lift is already a reserved prefix for snippets. So I'd stay with
 simply lift prefix for these attributes as well.

 Br's,
 Marius

 On Sep 29, 11:11 pm, Naftoli Gugenheim naftoli...@gmail.com wrote:
 So what is your proposal? Am I interpreting you correctly that you are for a 
 prefix of 'lift'? And it will be a reserved suffix?

 -

 marius d.marius.dan...@gmail.com wrote:

 I realize that I may be a little late here but I do have second
 thoughts about liftx prefix. Yeah, I'm not a big fan of it. I
 understand that these attributes are not really snippets or built is
 snippets but is this an enough reason to introduce a new prefix?
 Personally I don't think so. Historically lift reserved prefix names
 were heavily debated and argued and this is a little sensitive area.

 But the good news is that I may be the only one feeling this way about
 this and everyone else likes it so I'm just a negligible minority.

 Br's,
 Marius

 On Sep 25, 12:02 pm, David Pollak feeder.of.the.be...@gmail.com
 wrote:

  On Thu, Sep 24, 2009 at 11:33 AM, Naftoli Gugenheim 
  naftoli...@gmail.comwrote:

   If you like the idea of having them all as attributes but don't like the
   idea of using a single attribute ('xx:eager_eval=true 
   xx:parallel=true'
   rather than 'xx:eval=eager parallel' as I suggested, where xx is the
   prefix to be chosen) then maybe the prefix should be 'eval'.

  I've changed the code to:
  liftx:eager_eval=true
  liftx:par=true | liftx:parallel=true

  The reasons for not combining them:

     - They are evaluated in different parts of the code, thus eager/parallel
     doesn't make sense from a code path perspective
     - I am reserving the value of liftx:par for future implementation to
     allow farming the snippet evaluation to another mechanism.  Right now, 
  it's
     hard-coded to use LiftActors.  I can see a time when it would work with 
  Akka
     actors or some other parallelization mechanism

   As far as ajax evaluation I'm not sure I'm understanding. Could you 
   show
   me what you're thinking?
   If I have a snippet
   lift:MySnippet /
   what would be the syntax to have it inserted via ajax?

  lift:Ajax !-- the snippet name will not be ajax, but you get the idea 
  --
    lift:MySnippet/
  /lift:Ajax

   -
   Ross Mellgrendri...@gmail.com wrote:

   My 2 cents,

   I'm not sure I'm a fan of do: namespace, though I agree it would be
   nice to have a common one. Maybe snippet:parallel, snippet:eager_eval?

   -Ross

   On Sep 24, 2009, at 12:46 PM, David Pollak wrote:

On Wed, Sep 23, 2009 at 11:43 AM, Naftoli Gugenheim 
   naftoli...@gmail.com
 wrote:

What do you mean by as a normal snippet?

The parallel snippet processing is implemented deep inside
LiftSession.  It's not a snippet.  All the lift:xxx/ tags, even
those with defaults built into Lift, are implemented as snippets and
are invoked with normal snippet invocation mechanisms.

That you will nest your snippet inside a special snippet?

There is no special snippet.  I used the word normal to highlight
that it's functionality that doesn't require a change to LiftSession
or other parts of Lift to function correctly.

To me it seems worthwhile to have a consistency between the two
syntax-wise, since they have some common denominator semantics-wise.
Actually, maybe throw in eager_eval to the mix. Maybe we could have
one eval or lift:eval or liftx:eval or whatever attribute, which can
contain a space separated list of specifiers--eager, ajax, parellel.

Anything that's prefixed with lift: is a snippet.  I'm open to
unifying eager_eval and do:lazy (or do:par or do:parallel) into a
unified namespace.

-
David Pollakfeeder.of.the.be...@gmail.com wrote:

On Wed, Sep 23, 2009 at 10:40 AM, Naftoli Gugenheim 
   naftoli...@gmail.com
wrote:

 A snippet attribute can be invoked with something other than
 lift:snippet=Class.method? There's a short syntax? What is it?

There may be a short syntax (e.g., lift:Class.method) in the future.

 What was used for the feature that inserts a snippet
asynchronously via
 Ajax?

That feature isn't done yet, but that feature is likely to be done
as a
normal snippet.

 My concern is that as more features are thought up and added they
shouldn't
 all end up with different prefixes.
 Also, if the prefix is nothing special I would go with the more
verbose
 parallel because otherwise it's not obvious what it does. If
it's prefixed
 with lift: at least you know it's a lift tag and 

[Lift] Re: How to share request scope data among snippets in Lift

2009-09-26 Thread Kevin Wright

If the information is created just once and then used across multiple
requests, it'll be a lazy val in a singleton

If it's request-dependent then it'll be a singleton extending RequestVar

Sadly, the OP didn't specify what was needed :(


On Sat, Sep 26, 2009 at 2:35 PM, Timothy Perrett
timo...@getintheloop.eu wrote:

 Take a look at RequestVar... If he were to just use a object singleton
 he might end up being not thread safe.

 Cheers

 Tim

 Sent from my iPhone

 On 26 Sep 2009, at 14:05, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:


 You could always try putting your lazy val inside a singleton object

 On Sat, Sep 26, 2009 at 8:14 AM, ishiijp yoshinori.is...@gmail.com
 wrote:

 Hi.

 If my lift application have some data that cost to create, and I want
 to share it among snippets, how to do in Lift?

 if such data are shared inside one snippet, I may use lazy val.
 But I have no nice idea to share it among different snippts.

 Thanks much.




 


 


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



[Lift] Re: How to share request scope data among snippets in Lift

2009-09-26 Thread Kevin Wright

You could always try putting your lazy val inside a singleton object

On Sat, Sep 26, 2009 at 8:14 AM, ishiijp yoshinori.is...@gmail.com wrote:

 Hi.

 If my lift application have some data that cost to create, and I want
 to share it among snippets, how to do in Lift?

 if such data are shared inside one snippet, I may use lazy val.
 But I have no nice idea to share it among different snippts.

 Thanks much.

 


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



[Lift] Re: How to share request scope data among snippets in Lift

2009-09-26 Thread Kevin Wright

On Sat, Sep 26, 2009 at 2:54 PM, David Pollak
feeder.of.the.be...@gmail.com wrote:


 On Sat, Sep 26, 2009 at 6:40 AM, Kevin Wright
 kev.lee.wri...@googlemail.com wrote:

 If the information is created just once and then used across multiple
 requests, it'll be a lazy val in a singleton

 A lazy val in a singleton will not work.
 Once it's calculated, it's calculated and cannot be changed for the life of
 the singleton.  If the singleton is global scope, you're really hosed.
 RequestVars are the Lift way of sharing information across snippets on a
 request-by-request basis.
 If you want lazy evaluation of the RequestVar:
 object Invoice extends RequestVar(S.param(invoice_id).flatMap(id =
 Invoice.find(id))) // type inferred to Box[Invoice]
 If you want to share information across the scope of your session, use a
 SessionVar.
 SessionVar works exactly like RequestVar, but the lifespan of the SessionVar
 is your session.


The OP never actually stated share between snippets across a session
or share between snippets across a request.  It was simply share
between snippets

Almost certainly SessionVar or RequestVar are what will be needed, but
what if the data is truly global in nature?  Something like the 2001
average world exchange rates vs USD, which requires a costly
webservice or database lookup to find.

The original request was vague, but global caching is definitely one
possible interpretation of what was wanted.


 If it's request-dependent then it'll be a singleton extending RequestVar

 Sadly, the OP didn't specify what was needed :(


 On Sat, Sep 26, 2009 at 2:35 PM, Timothy Perrett
 timo...@getintheloop.eu wrote:
 
  Take a look at RequestVar... If he were to just use a object singleton
  he might end up being not thread safe.
 
  Cheers
 
  Tim
 
  Sent from my iPhone
 
  On 26 Sep 2009, at 14:05, Kevin Wright kev.lee.wri...@googlemail.com
  wrote:
 
 
  You could always try putting your lazy val inside a singleton object
 
  On Sat, Sep 26, 2009 at 8:14 AM, ishiijp yoshinori.is...@gmail.com
  wrote:
 
  Hi.
 
  If my lift application have some data that cost to create, and I want
  to share it among snippets, how to do in Lift?
 
  if such data are shared inside one snippet, I may use lazy val.
  But I have no nice idea to share it among different snippts.
 
  Thanks much.
 
 
 
 
  
 
 
  
 





 --
 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: [Lift committers] Re: Welcome Indrajit Raychaudhuri to the Lift Committers

2009-09-24 Thread Kevin Wright
On Thu, Sep 24, 2009 at 11:44 AM, David Bernard
david.bernard...@gmail.comwrote:


 Hi,

 removing scala from the direct dependency of project using lift will
 ease maintenance for user, I agree.
 But, IMHO :
 * It's not a good practice because it's like saying that you don't use
 scala-library directly, it's a transitive/indirect dependency.
 * project should list every direct dependency without presuppose about
 the transitive dependency.


Not sure I agree on this point.  I guess it's just a matter of naming
conventions, but if we liberate an idea from the world of IOC then we can
begin talking about injected dependencies instead of transitive
dependencies.

If anything, experience has shown that this is a good practice, and
certainly something that most developers are very comfortable by now.  Of
course a Lift application uses Scala, but this doesn't mean that it also has
to supply Scala; it makes perfect sense to let the framework handle this
sort of boilerplate detail.



 An other alternative (never used myself) could be to import
 dependencyManagement
 see
 http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies

 then lift based project's pom become something like

 project xmlns=http://maven.apache.org/POM/4.0.0;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xsi:schemaLocation=http://maven.apache.org/POM/4.0.0
 http://maven.apache.org/xsd/maven-4.0.0.xsd;
  modelVersion4.0.0/modelVersion
  groupIdcom.test/groupId
  artifactIduse/artifactId
  version1.0.0/version
  packagingjar/packaging

  dependencyManagement
dependencies
  dependency
groupIdnet.liftweb/groupId
artifactIdlift-bom/artifactId
versionx.y.z/version
typepom/type
scopeimport/scope
  /dependency
/dependencies
  /dependencyManagement
  dependencies
dependency
  groupIdorg.scala-lang/groupId
  artifactIdscala-library/artifactId
/dependency
dependency
  groupIdnet.liftweb/groupId
  artifactIdlift-utils/artifactId
/dependency
dependency
  groupIdnet.liftweb/groupId
  artifactIdlift-webkit/artifactId
/dependency
  /dependencies
 /project

 May be other advantages, the lift-bom could declare version for every
 third party lib (including optional) and end user will override
 version explicitly.

 my 2cents

 /davidB
 On Thu, Sep 24, 2009 at 11:29, Heiko Seeberger
 heiko.seeber...@googlemail.com wrote:
 
  One comment re the scala versions: I don't know about maven, but for
  other build systems, I don't think this completely solves the problem.
 
  Indrajit was talking about Maven and how to improve the POMs (project
  description files which amongst many other information contain versioned
  dependency declarations). His suggestion to remove / not introduce the
  dependency on Scala from / to projects using Lift (your projects) is
  perfectly valid. As Lift itself declares a dependency on a certain Scala
  version with compile scope this will be transitively available to your
  projects.
  A well done Maven setup with one or more root POMs that are available as
  standalone artifacts will make using Maven for your projects easier.
  Cheers,
  Heiko
  
 

 


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



[Lift] Re: How to mixin both MegaProtoUser CRUDify?

2009-09-22 Thread Kevin Wright
You really need some way to delegate to the trait here, instead of
inheriting from it.

I'll add this as a use case for my dynamic-mixin compiler plugin, see if I
can't find a way out :)



On Tue, Sep 22, 2009 at 8:08 AM, Jeppe Nejsum Madsen je...@ingolfs.dkwrote:


 David Pollak feeder.of.the.be...@gmail.com writes:

  Gakkk... I'm not sure it can be done.  You're welcome to try different
  combinations of abstract override, etc. in the traits and see if you can
  come up with an elegant or at least workable solution.

 I'm creating my own crudify anyway, so I'll just take the easy way out
 and rename editPath :-)

 Just curious how this could be solved in general. Since the two vals (in
 this case) are unrelated, it seem to prohibit some cases of adding
 functionality by mixing in a trait

 /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: Alternate Lift builds?

2009-09-21 Thread Kevin Wright
properties and profiles aren't mutually exclusive.
In a typical workflow, the property will just be another level of
indirection:
developer sets property which sets profile
instead of:
developer sets profile
So profiles are still the underlying mechanism for configuring units of
behaviour.



Why would we want this indirection then?

- The property can hold a string or numeric value that can be used
elsewhere, such as release versions.
- properties can be given default values if not expressly provided
- Properties can be provided by other mechanisms, not just command-line
arguments
- A single profile can be enabled by multiple properties
- Multiple profiles can be enabled from a single property





On Mon, Sep 21, 2009 at 3:59 PM, Ryan Donahue donahu...@gmail.com wrote:

 The default profile we have is just so that a developer doesn't have to
 provide the release version when invoking maven on the command line.  I
 didn't want to require more typing :)

  Taken that you can inject special project.version via -D but what about
  having other dependent modules using that special version as well? You'd
  still need to have them controlled by injecting special property.
 I'm not sure what you are asking.  Are you referring to submodules within
 one project?  If so, your module POMs would also use the property.  For
 example, our module POMs have:

 parent
 version${releaseVersion}/version
 ...
 /parent
 ...
 version${releaseVersion}/version
 ...

  In this scenario, apart from the pom.xml growing bigger, do you foresee
  any distinct disadvantage opting for the profile path (instead of
  property injection)?
 I think of profiles as way to adjust the build according to the environment
 in which the build is occurring (in my case developer's machine versus
 hudson CI) rather than for per-version/per-branch adjustment.  But, I don't
 see any disadvantages for using a profile other than release version seems
 to be one good candidate for singling out.  At utipu, passing a
 releaseVersion property to maven means we can quickly/easily make new
 branches that are ready for CI.  It also helps in cutting releases, because
 we don't have to make any commits to repository to change a release version
 from 1.0-SNAPSHOT to 1.0.

 I stated in my first response that this approach may or may not be
 appropriate for a framework for two reasons: (1) If you are building the
 framework from source and using the result in other projects locally, you
 might have to specify the version in the maven command line when building
 the framework (this really depends on what value you use for the
 releaseVersion in the default profile); and (2) I haven't seen anybody else
 do it this way.




 On Mon, Sep 21, 2009 at 10:10 AM, Indrajit Raychaudhuri 
 indraj...@gmail.com wrote:


 Ryan,

 Your comment:
   (we just use dev so local developers' .war files are built as
 utipu-dev.war)
 made me perceive that you go for manual build for dev. But, yes, point
 accepted.

 Taken that you can inject special project.version via -D but what about
 having other dependent modules using that special version as well? You'd
 still need to have them controlled by injecting special property.

 In this scenario, apart from the pom.xml growing bigger, do you foresee
 any distinct disadvantage opting for the profile path (instead of
 property injection)?

 Cheers, Indrajit

 On 21/09/09 7:18 PM, Ryan Donahue wrote:
  In fact it works for multiple Hudson builds.  We have serveral hudson
  builds running concurrently: one for the currently released version, one
  for the trunk, and others for customer-specific builds.  Only one maven
  profile is needed for the Hudson builds because these builds pass the
  version in to maven.
 
 
  On Mon, Sep 21, 2009 at 9:42 AM, Indrajit Raychaudhuri
  indraj...@gmail.com mailto:indraj...@gmail.com wrote:
 
 
  Ryan,
 
  Nice workflow! But I guess this works better when one is a Hudson
 build
  and the other a manual build. What David was looking for is involves
 two
  Hudson builds.
 
  Do you think this would serve the purpose using Maven profile (mvn
 -P
  instead of mvn -D)?
 
 http://github.com/dpp/liftweb/commit/45dc2e55bd37104aa2a56990914b38a1895b18f6
 
 
  Cheers, Indrajit
 
 
  On 21/09/09 6:28 PM, Ryan Donahue wrote:
   
We pass the release version into maven from hudson.
   
In the POM:
version${releaseVersion}/version
   
In the hudson build's maven goals and options field:
-DreleaseVersion=1.1-SNAPSHOT
   
Actually, we go a little further by creating a hudson build
 property
called releaseVersion.  Then the maven options include:
-DreleaseVersion=${releaseVersion}.
This results in a prompt whenever you do a manual build, allowing
 you
to change the releaseVersion property (good for release builds).
   
If you go this route, you'll want to have at least 2 

[Lift] Re: Alternate Lift builds?

2009-09-19 Thread Kevin Wright
Quite right, it's classifier and not qualifier.  It was a typo, honest!
:-p


Nice thinking about using profiles, lets you keep the pom in sync between
trunk and the branch, should help nicely with those merges  One change I
would make though is to activate the profile by way of a property:
http://maven.apache.org/guides/introduction/introduction-to-profiles.html

It doesn't make a great deal of difference at this level, but I've found it
can really make things a lot more flexible if you want to start mixing in
configurations based on architecture or JVM version, or if you're working
with multi-module builds.



http://maven.apache.org/guides/introduction/introduction-to-profiles.html

On Sat, Sep 19, 2009 at 6:28 PM, Indrajit Raychaudhuri
indraj...@gmail.comwrote:


 Dependency classifier might be close to what you'd need.
 See the 'Classifier' section in
 http://maven.apache.org/pom.html#Dependencies

 So, you could create a build profile (disabled by default), say
 dppactor as so:
  profiles
profile
  iddppactor/id
  activation
activeByDefaultfalse/activeByDefault
  /activation
  dependencies
dependency
  groupIdnet.liftweb/groupId
  artifactIdlift-actor/artifactId
  version1.1-SNAPSHOT/version
  classifierdpp/classifier
/dependency
  /dependencies
/profile
  /profiles

 See http://maven.apache.org/pom.html#Profiles for more.

 Now if you invoke mvn -Pdppactor compile, the dependency would be on
 lift-actor-1.1-SNAPSHOT-dpp.jar!

 To create lift-actor-1.1-SNAPSHOT-dpp.jar, you can follow the same
 technique (another profile). Just use the optional config parameter
 'classifier'
 See:
 http://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#classifier

 Now Hudson build would just need the extra param (-P) to do the
 needful.

 Hope this helps.

 Cheers, Indrajit


 On Sep 19, 4:38 am, David Pollak feeder.of.the.be...@gmail.com
 wrote:
  Folks,
  Is there a clean and easy way that anyone knows of to have Hudson do
  alternate builds from different Git branches and put them in SNAPSHOTS
 with
  different versions (e.g., 1.1-SNAPSHOT_DPP_ACTOR)?
 
  I am making some wholesale changes to Lift's use of Actors (basically
  getting rid of all Scala Actors and creating some simple traits that Akka
 or
  other systems can implement so that Lift-based systems can choose
 different
  Actor implementations.
 
  Given that these changes are non-trivial, I'd like to run a parallel
 version
  of Lift for at least a few weeks and get feedback on the API changes and
  performance before committing the code to the main branch, but I want the
  code to available in Hudson.
 
  So... any ideas?
 
  Thanks,
 
  David
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Git some:http://github.com/dpp
 


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



[Lift] Re: Alternate Lift builds?

2009-09-18 Thread Kevin Wright
Your best bet is probably:

Modifiy the pom in the branch, e.g. by adding a qualifier to the version
infoManually configure a second build in hudson that points to the branch

I'm pretty sure you can't automate on this one :(

On Sat, Sep 19, 2009 at 12:38 AM, David Pollak 
feeder.of.the.be...@gmail.com wrote:

 Folks,
 Is there a clean and easy way that anyone knows of to have Hudson do
 alternate builds from different Git branches and put them in SNAPSHOTS with
 different versions (e.g., 1.1-SNAPSHOT_DPP_ACTOR)?

 I am making some wholesale changes to Lift's use of Actors (basically
 getting rid of all Scala Actors and creating some simple traits that Akka or
 other systems can implement so that Lift-based systems can choose different
 Actor implementations.

 Given that these changes are non-trivial, I'd like to run a parallel
 version of Lift for at least a few weeks and get feedback on the API changes
 and performance before committing the code to the main branch, but I want
 the code to available in Hudson.

 So... any ideas?

 Thanks,

 David

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

 


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



[Lift] Re: Breaking changes in CometActor code vs. continuing instabilities in Scala Actors

2009-09-16 Thread Kevin Wright
Is there any reason not to go with something like the Akka framework?  I
believe it has a lift-friendly license.

On Wed, Sep 16, 2009 at 2:14 PM, David Pollak feeder.of.the.be...@gmail.com
 wrote:

 Guys,
 The Scala Actor issue has raised its head again.

 From November 2008 - June 2009, I did an epic battle with Scala actors and
 their memory retention issues.

 I finally wrote a Lift Actor library that made all the Scala Actor-related
 issues go away for the short-lived Actors that Lift uses as listeners for
 comet long-polling.

 It seems that the Actor issue is not gone.  I'm not sure it will be gone in
 Scala 2.8.

 I can make a change in Lift to move to Lift Actors in CometActor code.  It
 means that if you're using Scala Actors beyond !, !! and !? methods, you
 will have to change your code, otherwise it will just be a recompile.

 What do people think?

 Thanks,

 David

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

 


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



[Lift] Re: Getting Maven Offline Mode Working

2009-09-14 Thread Kevin Wright
Glad I could help :)Hope the flight goes okay...

On Mon, Sep 14, 2009 at 1:33 AM, Peter Robinett pe...@bubblefoundry.comwrote:


 Thanks, Kevin. Dropping in the latest version didn't seem to work (mvn
 --version kept saying I still had 2.0.9) but switching to 1.1-M5 did.

 Peter

 On Sep 13, 4:00 pm, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:
  Maven is essentially a java application, so you *should* just be able to
  download and run.  I'm afraid I can't really give better advice for OS-X
  though.
  One other idea is to work with 1.1-M5, which should let you go offline on
  the older maven version - assuming you have no other snapshot
 dependencies.
 
  On Sun, Sep 13, 2009 at 10:51 PM, Peter Robinett 
 pe...@bubblefoundry.comwrote:
 
 
 
   Thanks. I have version 2.0.9, which was installed by the Lift OS X
   installer. What is the best way to upgrade to 2.2.1?
 
   Peter
 
   On Sep 13, 12:57 pm, Kevin Wright kev.lee.wri...@googlemail.com
   wrote:
Try updating to the latest maven, older versions have known issues
 with
offline behaviour for snapshots.
 
On Sun, Sep 13, 2009 at 8:55 PM, Peter Robinett 
 pe...@bubblefoundry.com
   wrote:
 
 Hi all,
 
 I'm having problems running mvn -o jetty:run with my version of
 Lift
 (1.1-SNAPSHOT) because Maven thinks that
 net.liftweb:lift-core:jar:1.1-
 SNAPSHOT is missing. How do I fix that? My pom.xml is here:
http://gist.github.com/186293
 
 I've got an international plane flight in 24 hours, so I'd love to
 have offline mode working for then. Thanks for the help!
 
 Peter
 


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



[Lift] Re: MappedDate.setFromAny only works with strings?

2009-09-14 Thread Kevin Wright
IIRC, scala-time is a wrapper over joda-time anyway
I vote +100 for moving away from Java's dates and all the associated
problems.  0-indexed month numbers and thread-unsafe parsing are just the
tip of that particular iceberg...


On Mon, Sep 14, 2009 at 5:23 PM, Derek Chen-Becker dchenbec...@gmail.comwrote:

 Anyone else care to comment? Joda Time and Scala Time are both licensed
 Apache, so I don't think there would be any issues there, but this would be
 a significant change. Would anyone here strongly prefer to stay with
 java.util.Date?

 Derek


 On Sat, Sep 12, 2009 at 12:56 PM, Charles F. Munat c...@munat.com wrote:


 +1 for joda or scala time if it's not too disruptive

 Chas.

 Indrajit Raychaudhuri wrote:
  Also, the LiftRules.parseDate function currently does DateTime
  parsing, so I would have to make a breaking change to rename it to
  parseDateTime and add new parseDate and parseTime (and associated
  format methods). Thoughts?
  I think this is the right solution. Don't know how much will break
  because of this though. But hey, if we're breaking things anyway, why
  not put in Joda time (or maybe scala-timehttp://
 github.com/jorgeortiz85/scala-time/tree/master;-)
 
  Although not belonging to breaking changers camp, breaking changes are
  great when it's for a cause. IMHO, scala time is a darn good cause and
  worth the break!
 
  Cheers, Indrajit
 
  /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: Getting Maven Offline Mode Working

2009-09-13 Thread Kevin Wright
Try updating to the latest maven, older versions have known issues with
offline behaviour for snapshots.


On Sun, Sep 13, 2009 at 8:55 PM, Peter Robinett pe...@bubblefoundry.comwrote:


 Hi all,

 I'm having problems running mvn -o jetty:run with my version of Lift
 (1.1-SNAPSHOT) because Maven thinks that net.liftweb:lift-core:jar:1.1-
 SNAPSHOT is missing. How do I fix that? My pom.xml is here:
 http://gist.github.com/186293

 I've got an international plane flight in 24 hours, so I'd love to
 have offline mode working for then. Thanks for the help!

 Peter
 


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



[Lift] Re: Getting Maven Offline Mode Working

2009-09-13 Thread Kevin Wright
Maven is essentially a java application, so you *should* just be able to
download and run.  I'm afraid I can't really give better advice for OS-X
though.
One other idea is to work with 1.1-M5, which should let you go offline on
the older maven version - assuming you have no other snapshot dependencies.



On Sun, Sep 13, 2009 at 10:51 PM, Peter Robinett pe...@bubblefoundry.comwrote:


 Thanks. I have version 2.0.9, which was installed by the Lift OS X
 installer. What is the best way to upgrade to 2.2.1?

 Peter

 On Sep 13, 12:57 pm, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:
  Try updating to the latest maven, older versions have known issues with
  offline behaviour for snapshots.
 
  On Sun, Sep 13, 2009 at 8:55 PM, Peter Robinett pe...@bubblefoundry.com
 wrote:
 
 
 
   Hi all,
 
   I'm having problems running mvn -o jetty:run with my version of Lift
   (1.1-SNAPSHOT) because Maven thinks that net.liftweb:lift-core:jar:1.1-
   SNAPSHOT is missing. How do I fix that? My pom.xml is here:
  http://gist.github.com/186293
 
   I've got an international plane flight in 24 hours, so I'd love to
   have offline mode working for then. Thanks for the help!
 
   Peter
 


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



[Lift] Re: Lift deal breakers

2009-09-12 Thread Kevin Wright
Moving the script import shouldn't be too difficult, we have the lift:tail
element and tail merge (which acts exactly the same as head merge) for just
this sort of problem.

On Sat, Sep 12, 2009 at 8:07 PM, Dustin Whitney dustin.whit...@gmail.comwrote:

 One nice thing about jquery's events, if done wisely, is they are applied
 after the DOM is loaded.  With an onclick a button can be clicked and some
 ajax call is fired that returns and tries to modify a part of the DOM that
 hasn't been loaded.  This is especially true if you have lots of javascript
 includes at the top of the page.  I have waded my way through many wonky
 javascript bugs like this.  They don't happen in your local environment
 because they load so quickly, but when pushed to production, problems
 ensue.  Maybe there is a hook in the lift ajax js that waits to fire the
 call until after the DOM is loaded?

 -D

 On Sat, Sep 12, 2009 at 2:48 PM, Charles F. Munat c...@munat.com wrote:


 I, too, would like to be able to move the liftAjax script call to the
 bottom of the page.

 Chas.

 Dustin Whitney wrote:
  Hey, I like Lift so in an effort to improve it I am submitting some
  criticism.
 
  Obtrusive javascript:
 
  when I create an ajaxButton I get this html:
 
  button
 onclick=liftAjax.lift_ajaxHandler(quot;F1029758482780OTA=truequot;, null,
 null, null); return false;Press me/button
 
  That onclick is not ok.  It's bad for SEO and makes the page harder to
  read.  Ideally, no javascript should appear on the page whatsoever.
 
  Client Side Load Time:
 
  I strive for that A in Y-Slow, so when I see
 
  script type=text/javascript src=/ajax_request/liftAjax.js
 view-source:http://localhost:8080/ajax_request/liftAjax.js/script
 
  at the top of the page, I feel a little uneasy, and there is nothing I
  can do (I think) to move it to the bottom of the page.
 
  -Dustin
 
  




 


--~--~-~--~~~---~--~~
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: Notes from 8/19/09 Lift Committers Call - LIFT SESSION REPLICATION DISCUSSION

2009-08-23 Thread Kevin Wright
I'm wondering if we can't leverage JavaSpaces to handle a lot of this stuff.
 From my experience with the technology it seems to be a pretty good fit for
the problem.


On Sun, Aug 23, 2009 at 11:06 AM, marius d. marius.dan...@gmail.com wrote:


 Changed the thread subject ...

 Marius

 On Aug 22, 6:17 pm, marius d. marius.dan...@gmail.com wrote:
  Great thing Dave.
 
  Roughly having a bound function f that user provided say in an
  ajaxButton call.The function f may hold references to other functions,
  session/request-vars,  references to the snippets instances etc. One
  condition is that every object in the graph should be serializable and
  that is beyond our control (but more on the programmer's control). Of
  course for the function f to be correctly applied on any node, the
  whole object graph should be replicated among cluster nodes).
 
  Now assuming that we can serialize any function/object on the wire
  there is still one thing to solve.  As you know LiftSession and
  HTTPSession are not the same things. a LiftSession is linked to a
  HTTPSession so we'd probably need to replicate both? Systems like stax
  have their own way to make a HTTPSession available to any cluster node
  AFAIK by saving it into a database. Into such environments I'm not
  such if we know the actual machines identity andif we would have built
  our own replication system in a clustered env. that would probably not
  work ... so a node to node replication system may not be possible in
  stax like environments but would certainly work on other models. Still
  persisting a LiftSession in DB shoud and sounds like it is more
  environment agnostic.
 
  In a glance node-to-node session replication sounds to be a little
  more efficient  that DB session store we should probably keep an eye
  on both models. Other model that could be to lazily replicate sessions
  across cluster nodes such as:
 
  1. Upon a request Node A advertises to other nodes that it hods the
  last state for session X
  2. Upon a subsequent call that hits node B it won;t have the session
  but it would know where the session exist a fetch the state from that
  node
  3. Node Node B advertises that it has the last state for session X
 
  ... Such model is not very fail over proof as at a given point in time
  different versions of the session state which may or may not enough.
 
  The most consistent model seems to be to store the session context
  into a centralized session store ... but that would induce a single
  point of failure unless the session store itself is redundant.
 
  Last but not the least Java serialization is sub-optimal but I'm not
  sure how many alternatives we'd have in order to make sure that we
  have a consistent reference graph that can be represented on the
  wire..
 
  Br's,
  Marius
 
  On Aug 22, 5:25 pm, David Pollak feeder.of.the.be...@gmail.com
  wrote:
 
   On Sat, Aug 22, 2009 at 2:31 AM, marius d. marius.dan...@gmail.com
 wrote:
 
Greg/Viktor,
 
We could meet and discuss using whatever means (skype, chat, mail
etc.) and brainstorm what can we do about this. Even though I like a
lot sticky sessions idiom it is not enough and I think we do have a
consensus here :) ... of course any committer is more then welcome to
participate.
 
   On the substance point (I've moved this to the Lift list), we may want
 to
   use some aspecty thing to analyze the potential serializability of
 functions
   that are added to the LiftSession.  I'm betting there's no actual
 barrier to
   serializing stuff in the normal case except when things refer to the
   HttpServletRequest (which refers to input/output streams).  If we could
 get
   an actual analysis, we could develop a better serialization/session
 moving
   strategy.
 
Br's,
Marius
 
On Aug 22, 12:15 am, Viktor Klang wrote:
 On Fri, Aug 21, 2009 at 11:12 PM, Meredith Gregory
 
  wrote:
  Marius,
 
 i really do want to go over lift's ability to
  work in vendor supplied clustering solutions.
 
 We could do a Skype conf when you're feeling better, Greg.
 
   --
   Lift, the simply functional web frameworkhttp://liftweb.net
   Beginning Scalahttp://www.apress.com/book/view/1430219890
   Follow me:http://twitter.com/dpp
   Git some:http://github.com/dpp
 


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



[Lift] Re: Notes from 8/19/09 Lift Committers Call - LIFT SESSION REPLICATION DISCUSSION

2009-08-23 Thread Kevin Wright
I guess JGroups is another alternative here, it's a bit lower level, but
does let you set up nodes manually - so it's not an issue that you need UDP
broadcast (although it helps...)

On Sun, Aug 23, 2009 at 1:09 PM, marius d. marius.dan...@gmail.com wrote:


 I've been playing with JINI a few years ago a liked it a lot (not a
 simple programming model, but JavaSpace reduces a lot of such
 complexity) but I'm not sure how fitful it really is in stax like
 environments where broadcast UDP may not be supported so discovery
 service would be more difficult.

 Br's,
 Marius

 On Aug 23, 2:50 pm, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:
  I'm wondering if we can't leverage JavaSpaces to handle a lot of this
 stuff.
   From my experience with the technology it seems to be a pretty good fit
 for
  the problem.
 
  On Sun, Aug 23, 2009 at 11:06 AM, marius d. marius.dan...@gmail.com
 wrote:
 
   Changed the thread subject ...
 
   Marius
 
   On Aug 22, 6:17 pm, marius d. marius.dan...@gmail.com wrote:
Great thing Dave.
 
Roughly having a bound function f that user provided say in an
ajaxButton call.The function f may hold references to other
 functions,
session/request-vars,  references to the snippets instances etc. One
condition is that every object in the graph should be serializable
 and
that is beyond our control (but more on the programmer's control). Of
course for the function f to be correctly applied on any node, the
whole object graph should be replicated among cluster nodes).
 
Now assuming that we can serialize any function/object on the wire
there is still one thing to solve.  As you know LiftSession and
HTTPSession are not the same things. a LiftSession is linked to a
HTTPSession so we'd probably need to replicate both? Systems like
 stax
have their own way to make a HTTPSession available to any cluster
 node
AFAIK by saving it into a database. Into such environments I'm not
such if we know the actual machines identity andif we would have
 built
our own replication system in a clustered env. that would probably
 not
work ... so a node to node replication system may not be possible in
stax like environments but would certainly work on other models.
 Still
persisting a LiftSession in DB shoud and sounds like it is more
environment agnostic.
 
In a glance node-to-node session replication sounds to be a little
more efficient  that DB session store we should probably keep an eye
on both models. Other model that could be to lazily replicate
 sessions
across cluster nodes such as:
 
1. Upon a request Node A advertises to other nodes that it hods the
last state for session X
2. Upon a subsequent call that hits node B it won;t have the session
but it would know where the session exist a fetch the state from that
node
3. Node Node B advertises that it has the last state for session X
 
... Such model is not very fail over proof as at a given point in
 time
different versions of the session state which may or may not enough.
 
The most consistent model seems to be to store the session context
into a centralized session store ... but that would induce a single
point of failure unless the session store itself is redundant.
 
Last but not the least Java serialization is sub-optimal but I'm not
sure how many alternatives we'd have in order to make sure that we
have a consistent reference graph that can be represented on the
wire..
 
Br's,
Marius
 
On Aug 22, 5:25 pm, David Pollak feeder.of.the.be...@gmail.com
wrote:
 
 On Sat, Aug 22, 2009 at 2:31 AM, marius d. 
 marius.dan...@gmail.com
   wrote:
 
  Greg/Viktor,
 
  We could meet and discuss using whatever means (skype, chat, mail
  etc.) and brainstorm what can we do about this. Even though I
 like a
  lot sticky sessions idiom it is not enough and I think we do have
 a
  consensus here :) ... of course any committer is more then
 welcome to
  participate.
 
 On the substance point (I've moved this to the Lift list), we may
 want
   to
 use some aspecty thing to analyze the potential serializability of
   functions
 that are added to the LiftSession.  I'm betting there's no actual
   barrier to
 serializing stuff in the normal case except when things refer to
 the
 HttpServletRequest (which refers to input/output streams).  If we
 could
   get
 an actual analysis, we could develop a better serialization/session
   moving
 strategy.
 
  Br's,
  Marius
 
  On Aug 22, 12:15 am, Viktor Klang wrote:
   On Fri, Aug 21, 2009 at 11:12 PM, Meredith Gregory
 
wrote:
Marius,
 
   i really do want to go over lift's ability to
work in vendor supplied clustering solutions.
 
   We could do a Skype conf when you're feeling better, Greg.
 
 --
 Lift, the simply functional web frameworkhttp

[Lift] Re: Notes from 8/19/09 Lift Committers Call - LIFT SESSION REPLICATION DISCUSSION

2009-08-23 Thread Kevin Wright
Also FlyObjectSpace (http://www.flyobjectspace.com/)
It comes with a suitable licence and has a Scala version.  Not used it
myself but I'm definitely about to check it out...

I'd also be willing to be that the devs would be extremely accommodating if
it were being used in a high profile project such as Lift. :)




On Sun, Aug 23, 2009 at 6:16 PM, Arthur avand...@gmail.com wrote:


 On Sun, Aug 23, 2009 at 7:04 PM, David
 Pollakfeeder.of.the.be...@gmail.com wrote:
  On Sun, Aug 23, 2009 at 4:50 AM, Kevin Wright
  kev.lee.wri...@googlemail.com wrote:
 
  I'm wondering if we can't leverage JavaSpaces to handle a lot of this
  stuff.  From my experience with the technology it seems to be a pretty
 good
  fit for the problem.
 
  Two reasons:
  - JavaSpaces is as far as I know, GPL and we will not mix any GPL into
 Lift

 JavaSpaces is just the specification. There are two implementations I
 know of: BlitzJavaSpaces (BSD) and GigaSpaces (proprietary?). I don't
 have hands on experience with either.

  - It doesn't solve the issue with low-level session replication which
 relies
  on serialization of the session data for transfer to another app server
  instance.

 Arthur

 


--~--~-~--~~~---~--~~
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: TableEditor article

2009-08-20 Thread Kevin Wright
Absolutely spot-on article here about multiple selection on webpages:
http://www.ryancramer.com/journal/entries/select_multiple/
I'm a big fan of asmselect, and the real beauty is that we already have
jquery support in lift out-of-the-box :)
http://www.ryancramer.com/journal/entries/select_multiple/

On Thu, Aug 20, 2009 at 11:27 PM, glenn gl...@exmbly.com wrote:


 Naftoli,

 I like the checkboxes style for a small selection (say 10 or less),
 and perhaps a multi-selectbox if the choices are more numerous.
 Another approach is to use two list boxes, one for the choices and
 another for the selections, with maybe a drag-and-drop capability or
 some add/remove buttons in between. I guess there is no good default
 solution.

 One enhancement to your tableeditor would be a tableviewer option,
 using a field:toXml instead of a field:form tag.

 Thanks for your help.

 Glenn...

 On Aug 20, 2:20 pm, Naftoli Gugenheim naftoli...@gmail.com wrote:
  The name is really a misnomer. It's not a MappedField. So it's missing
 the opposite half: it _is_ the validSelectValues but it doesn't have the
 toForm method of MappedField's to make use of its values.
  I'm not sure how a hypothetical toForm would work for a many-to-many
 field. Actually it depends on the circumstances. One option is how MS
 Access works---every time you select a value you get a new blank row. This
 is good where you can have many or duplicate children, but is more complex
 to implement. Similarly you can have a list of current children and a
 dropdown to add. Another option (where duplicates are not allowed) is a set
 of checkboxes.
 
  -
 
  glenngl...@exmbly.com wrote:
 
  Naftoli,
 
  Sorry for the addendum, but ideally, it would be nice to
  do something like:
 
  override def validSelectValues: Box[List[(Long, String)]] ...
 
  as you can with MappedLongForeignKey, and have a select box
  display in the table.
 
  Glenn...
 
  On Aug 20, 12:51 pm, glenn gl...@exmbly.com wrote:
 
   Naftoli,
 
   I tried using TableEditor with a MetaMapper instance of a ManyToMany
   class, but header:fields and
   item:fields tags in the template didn't pick up the MappedManyToMany
   object in the class.
 
   Is there some method that I need to override,or is there some way to
   write the template that will
   resolve this?
 
   Glenn...
 
   On Aug 12, 2:48 pm, Naftoli Gugenheim naftoli...@gmail.com wrote:
 
I just wrote a brief wiki article on GitHub about using TableEditor,
 but not
being familiar with the formatting syntax, the code snippets are
 truncated.
Can anyone take a look at it and fix it? Thanks.
 


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



[Lift] Re: Looking for an additional team member for ESME

2009-08-11 Thread Kevin Wright
Someone has to ask the obvious question here...
Where is it?


On Mon, Aug 10, 2009 at 10:37 PM, David Pollak 
feeder.of.the.be...@gmail.com wrote:

 Folks,
 I'm heavily involved with ESME http://incubator.apache.org/esme/, the
 Enterprise Social Messaging Experiment, an Apache Incubator project.

 ESME was founded by folks in the SAP ecosystem and used by some SAP
 ecosystem 
 companieshttps://www.it-solutions.siemens.com/b2b/it/en/global/press/press-releases/2009/Pages/enterprise-social-messaging-experiment.aspx
 .

 We're looking for a stellar UI person to join the project to build leading
 edge DHTML and Air front ends for ESME.

 If you'd like to have the opportunity to put your UI skills in front of
 corporate users, have fun with a very bright bunch of people, materially
 influence ESME and help shape Lift's multi-front-end APIs, please contact me
 off list.

 Thanks,

 David

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

 


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



[Lift] Re: *** BREAKING CHANGES COMMITTED ***

2009-08-07 Thread Kevin Wright
Impressive stuff :)

On Fri, Aug 7, 2009 at 6:54 PM, marius d. marius.dan...@gmail.com wrote:


 Dear all,

 I'f committed today in the master the support for abstracting HTTP
 stack in lift so that Lift itself does not depend on javax.servlet._
 classes. This allows us to add support for Netty, AsyncWeb, etc. or
 even your own implementation of a HTTP server etc.

 This effort lead to several breaking changes:

 1. S.servletRequest is now S.containerRequest, S.servletSession is now
 S.containerSession. The reason is that the servlet term seems
 inapropriate now as we not necessarily talking about servlets anymore.
 2. LiftRules.enableServletSessions is now
 LiftRules.enableContainerSessions

 I won't enumerate here all methods from the new abstractions but the
 traits are:

 1. HTTPRequest
 2. HTTPResponse
 3. HTTPCookie
 4. HTTPParam
 5. HTTPProvider - This is the entry point in Lift. See how
 ServletFilterProvider uses it.
 6. HTTPSession
 7. HTTPContext

 To see how these trait map to JEE servlets world please see
 refinements from net.liftweb.http.provider.servlet package

 If your application does not explicitly relies on usage on
 javax.servlet._ package you should have very little or no changes to
 make.

 Br's,
 Marius

 On Aug 5, 3:05 pm, marius d. marius.dan...@gmail.com wrote:
  And looks to perform a bit better then MINA.
 
  On Aug 5, 2:13 pm, Derek Chen-Becker dchenbec...@gmail.com wrote:
 
   Netty looks really cool. On a quick read it sounds maybe a little like
 MINA,
   although it definitely looks like it has a more high-level API to
 simplify
   things.
 
   On Wed, Aug 5, 2009 at 5:08 AM, marius d. marius.dan...@gmail.com
 wrote:
 
Sounds good to me
 
On Aug 5, 1:51 pm, Yousry Abdallah yous...@gmail.com wrote:
 Could you setup a milestone before the merge?
 
 On 4 Aug., 21:51, Marius marius.dan...@gmail.com wrote:
 
  Folks,
 
  I spent a few days decoupling Lift from JEE web container
  dependencies: javax.servlet._ The code is currently in
 wip-marius-http-
  abstractions.
 
  I still need to nail down a few things but the idea is:
 
  1. Lift will work with its own traits that abstracts HTTP
 request,
  response, HTTP sessions etc.
  2. By default there will be the servlet implementation and it'll
 work
  as currently.
  3. Certain function names will slightly change.
  4. If your application explicitly wants to use HttpServletRequest
  obtained from S some explicit casts would be needed. Generally
 Lift
  application should probably not explicitly use javax.servlet._
  references.
 
  I will post the details of the changes when I'll merge it to
 master
  (hopefully this week).
 
  Br's,
  Marius
 


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



[Lift] Re: Offline building and documentation

2009-07-31 Thread Kevin Wright
Maven is a bit tricky when trying to go offline if you have snapshot
dependencies.
Having said that... I've definitely not been bitten by the issue since
upgrading to 2.2 - so you really want to
check you're on the latest version, as it looks like they've recently
done a lot of releases in quick succession,


On Fri, Jul 31, 2009 at 9:54 PM, David Pollak feeder.of.the.be...@gmail.com
 wrote:

 Grant,

 Are you on Windows or OS X?

 Thanks,

 DAvid


 On Fri, Jul 31, 2009 at 12:40 PM, Grant Wood smackt...@gmail.com wrote:


 I'm up at a cabin and hoped to be able to work offline, but am finding
 that Maven secretly assumes that you will always be on the internet
 and won't co-operate with me even using the -o (offline) option.
 Answers to some very (I'm hoping) simple questions can go a long way
 towards helping me out.

 1) How can I build the Lift scaladocs locally on my machine?
 I have downloaded the latest Lift source from GitHub but for the life
 of me, digging through all the pom.xml files I can't figure out how to
 get Maven to build me scaladocs for everything.  To make everything
 even more confusing, some of the packages built scaladocs
 (net.liftweb.util and ne.liftweb.wizard), but the rest don't.

 2) In my quest to build the scaladocs, I addd scala, scalac and
 scaladoc to my $PATH.  Suddenly, all I get from Maven is this:

  steelrain:engine grant$ mvn jetty:run

   ##

   ZeroTurnaround JavaRebel 1.2.2 (200812021546)
   (c) Copyright Webmedia, Ltd, 2007, 2008. All rights reserved.

   YOUR JAVAREBEL LIMITED LICENSE HAS EXPIRED!
   This product is licensed to Scala Community
   until July 1, 2009
   for unlimited number of developer seats on site.
   With the following restrictions:
   For use with Scala only

  ##

 What is this?  and why is it preventing me from doing anything at all
 with Maven on my machine?  I removed the scala commands from my $PATH
 again (I'm on OSX 10.5.7) and it is still doing it.  More importantly,
 how do I make this stop?

 I have very limited access to the Internet here (although watching the
 Eagles catch fish near our dock at sunrise this morning was a nice
 consolation) so I'm sorry if I can't respond right away.

 Thanks everyone for your patience and help.








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


 


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



[Lift] Re: Stamped Trait question

2009-07-29 Thread Kevin Wright

On Thursday, July 30, 2009, David Pollak feeder.of.the.be...@gmail.com wrote:


 On Wed, Jul 29, 2009 at 4:21 PM, fbettag fr...@bett.ag wrote:


 Btw. the docs for KeyedMapper don't work..
 http://scala-tools.org/scaladocs/liftweb/1.0/net/liftweb/mapper/KeyedMapper.html
 when i click on KeyType or OwnerType it gives me a 404..
 This is a limitation of vscaladoc... sorry.



 On 30 Jul., 00:55, David Pollak feeder.of.the.be...@gmail.com wrote:
 It's not pretty, but:

 trait MyLogger[A : KeyedMapper[K, A], K] extends KeyedMetaMapper[K,A] {
    self: A  with MetaMapper[A] with KeyedMapper[K, A] =

   override def afterSave = doSomething _ :: super.afterSave

   private def doSomething(in: A) {
     println(Got +in)
   }



 }
 On Wed, Jul 29, 2009 at 3:35 PM, fbettag fr...@bett.ag wrote:

  Hm. i changed it to this:
  trait Stamped[OwnerType : Mapper[OwnerType] with IdPK] {
         self: MetaMapper[OwnerType] =

         private val thisTyped = this.asInstanceOf[MapperType]

          override def afterSave: List[Any] = {
                 createActionLog(create, this.getClass.toString,
  thisTyped.id)
                 return List(None)
         }

         def afterUpdate: List[Any] = {
                 createActionLog(update, this.getClass.toString,
  thisTyped.id)
                 return List(None)
         }

         def beforeDelete: List[Any] = {
                 createActionLog(delete, this.getClass.toString,
  thisTyped.id)
                 return List(None)
          }

         private def createActionLog(action: String, klass: String, obj:
  Long)
  {
                 val log = new ActionLog
                 log.action(action).klass(klass).record(obj).save
         }

  }

  and i extend the object now and not the class. still i get these:

  src/main/scala/ag/bett/lift/cms/lib/Stamped.scala:12: error: method
  afterSave overrides nothing
         override def afterSave: List[Any] = {
                      ^
  method afterSave in trait Stamped of type = List[Any] needs
  `override' modifier
  object Content extends Content with LongKeyedMetaMapper[Content] with
  Stamped[Content] {
        ^

  This is voodoo again :(

  On 29 Jul., 22:55, David Pollak feeder.of.the.be...@gmail.com wrote:
   trait Foo[A : Mapper[A]] {
     self: MetaMapper[A] =

   }
   On Wed, Jul 29, 2009 at 1:38 PM, fbettag fr...@bett.ag wrote:

Yes thanks, it gives me an idea of the issue which i now see.
Could you provide a very simple example on how you would make the Meta-
Mixin?
That would be very good

best regards

On 29 Jul., 21:55, David Pollak feeder.of.the.be...@gmail.com wrote:
 On Tue, Jul 28, 2009 at 5:12 PM, fbettag fr...@bett.ag wrote:

  So far it looks like this:

  trait Stamped[OwnerType : Stamped[OwnerType] with LongKeyedMapper
  [OwnerType] with IdPK] {
         this: OwnerType =

         private val thisTyped = this.asInstanceOf[MapperType]

          override def afterSave {
                  createActionLog(create, this.getClass.toString,
this.id)
         }

 There's no afterSave method on Mapper... that method is on
  MetaMapper.

 You need to split your trait into two pieces... one that will be
  mixed


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

 


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



[Lift] Re: Object Relationships and the .obj method

2009-07-28 Thread Kevin Wright
m, wine vinegar...
Bit of salad, spot of olive oil and we've got us an appetizer :)

On Tue, Jul 28, 2009 at 4:42 PM, Derek Chen-Becker dchenbec...@gmail.comwrote:

 My pleasure. I'll be the first to admit that the book still needs a lot of
 work, so anyone with feedback is more than welcome to submit it. I've slowly
 been working through the backlog of feedback that we've already received, so
 the quality, breadth and depth of the book should continue to improve. My
 goal is to have it age like wine and not like milk ;)

 Derek


 On Tue, Jul 28, 2009 at 12:14 AM, Grant Wood smackt...@gmail.com wrote:


 Derek,

 Just want to thank you for your attention to this thread, and your
 quick update of the master.pdf, I know this will clear things up for
 others as well!  I will absolutely provide any other feedback I can.

 Thank You for all your work on Exploring Lift!

 - Grant Wood




 


--~--~-~--~~~---~--~~
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: Scala project in eclipse - showing Java build errors?

2009-07-21 Thread Kevin Wright
Probably best to just forego all support and leave it to the mailing lists,
much less stressful that way :p

Out of curiousity, do you think that the time may be ripe to set up a
scala-ide mailing list with epfl, we seem to be getting more and more
questions raised about it...



On Tue, Jul 21, 2009 at 10:36 AM, Miles Sabin mi...@milessabin.com wrote:


 On Tue, Jul 21, 2009 at 9:54 AM, Kevin
 Wrightkev.lee.wri...@googlemail.com wrote:
  Can we take this as confirmation that 3.5 is now the recommended eclipse
  distro to work against?

 Yes.

  If so, the wiki needs updating:
  http://www.scala-lang.org/node/94
 
  especially the bit about (3.5 Milestone releases are not fully
 supported)

 Well, strictly speaking that's still true ;-)

 But yes, point taken ...

 Cheers,


 Miles

 --
 Miles Sabin
 tel: +44 (0)7813 944 528
 skype:  milessabin
 http://www.chuusai.com/
 http://twitter.com/milessabin

 


--~--~-~--~~~---~--~~
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: Scala as an alternative for complex length xml/xslt transformation?

2009-07-20 Thread Kevin Wright
more info here:http://www.scala-lang.org/node/199


On Mon, Jul 20, 2009 at 9:58 PM, Timothy Perrett timo...@getintheloop.euwrote:


 Robin,

 Whilst your questions are valid and there are a lot of very very good
 Scala folk on the lift mailing list, you'll probably get broader Scala
 audience over at the main Scala mailing list hosted by EPFL.

 Cheers, Tim


 On Jul 20, 8:49 pm, robin bakkerus robin.bakke...@gmail.com wrote:
  Because Scala currently is not mainstream (yet), I think changes are
  very small that Scala will used soon in of our projects.
  However we do have a large app that relies very heavily on very many,
  complex  and time consuming xml/xslt transformation.
  I can image that Scala being a functional language as well, may be the
  perfect alternative to replace this app.
  From what from the Scala documentation so far, is that it could have
  the following advantages over xslt:
  - much much faster, because it is compiled
  - more productive, with the help of the IDE debugger etc
  - more maintainable, due to the OO nature when making reusable
  functions etc.
 
  My questions is:
  - Are the above statements correct.
  - Are the demo programs demonstrating the xslt functionality
  - What performance boost (if any) are realistic
 
  thank in advance
 


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



[Lift] Re: Scala resources

2009-07-08 Thread Kevin Wright
It's still a work in progress, but I've made the list publicly available

http://spreadsheets.google.com/ccc?key=tLa2g0FWC454u2pC8O5FoJwhl=en#

Do let me know anything that I've missed!

--~--~-~--~~~---~--~~
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: Problem with jQuery/JavaScript and Liftweb because of Doctype

2009-07-08 Thread Kevin Wright
Puts us in the rather interesting position of being a Java-based framework
that only works on internet explorer...


On Wed, Jul 8, 2009 at 1:27 PM, marius d. marius.dan...@gmail.com wrote:


 Actually I had the same problem with with Javeline on FF. Once I
 changed the content-type in the HTTP response to text/html it worked
 just fine.

 Br's,
 Marius

 On Jul 8, 3:09 pm, Viktor Klang viktor.kl...@gmail.com wrote:
  We want lift to work on those platforms. We need a work-around
 
 
 
  On Wed, Jul 8, 2009 at 11:19 AM, fbettag fr...@bett.ag wrote:
 
   *Any Lift Project, not Problem. Sorry ;)
 
   On 8 Jul., 10:47, fbettag fr...@bett.ag wrote:
The Problem isn't in Scala nor in Lift nor in jQuery. It's a Firefox
bug when it gets Content-Type application/xhtml+xml. Same for Safari.
 
Just try $(myobject).load(/some/url/from/lift/with/html/output)
with JavaScript on any Lift problem.
 
I don't know why you would want to debug a lift-app when all the
 links
i've posted so far show problems with the Browser's implementation of
application/html+xml, NOT lift.
 
On 8 Jul., 05:03, David Pollak feeder.of.the.be...@gmail.com
 wrote:
 
 2009/7/7 fbettag fr...@bett.ag
 
  Sorry this is giving me headaches. I don't even know what to look
  for.. :(
  The Problem is also described here:
 http://www.nabble.com/Namespace-failure-td21982365s27240.html
 
  Is there anyway i can spoof the content-type for a comet actor
 from
  application/xhtml+xml to something else? like text/html or only
  application/xhtml.
  That would fix the issue for now.
 
 I don't understand what the problem is.  Please write some code
 that
 reproduces it so I can actually see *exactly* where the problem is
   happening
 for you.  Only then can I debug it.
 
  best regards
 
  On 1 Jul., 04:58, David Pollak feeder.of.the.be...@gmail.com
   wrote:
   Please fork this projecthttp://
  github.com/dpp/lift_1_1_sample/tree/masterand
   provide
   an example of the failure.  I'll knock something together than
   overcomes the problem.
 
   2009/6/30 fbettag fr...@bett.ag
 
To describe it a little cleaner:
 
in Safari 4, whenever i try to $('#foo').load('/some.html'),
 it
   fails
with Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception 7
 since
   the
content-type is text/html+xml.
described here:
 
  http://groups.google.com/group/jquery-en/browse_thread/thread/de95e8a.
  ..
 
in Firefox there is a similar problem (error up at the first
   post)
which happens because FF kinda sees an error on the
   lift-generated
XHTML/XML which is caused because the doctype seems to be
 strict
   by
default (i guess).
described here:
 
  http://fitzsimmons.ca/jquery-xhtml-11-strict-and-ns_error_invalid_poi.
  ..
 
I put up some really simple stuff in 'some.html' with 4 html
   tags, and
it fails on Safari and on Firefox.
 
When i try to set the Doctype to transitional, the Browser
 seems
   to
ignore it somehow, i guess it's because of the ?xml? tag
 that
   occurs
before the doctype.
 
Is anyone else here using $(..).load('url') on a lift'ed
   project?
 
On Jun 30, 11:48 pm, David Pollak 
 feeder.of.the.be...@gmail.com
 
wrote:
 What missing doctype?
 
 2009/6/29 fbettag fr...@bett.ag
 
  On Safari i get Error: NO_MODIFICATION_ALLOWED_ERR: DOM
   Exception
  7.
  This seems to be a safari 4 specific problem due to
   content-type
  text/
  html+xml. See
 
 
 http://groups.google.com/group/jquery-en/browse_thread/thread/de95e8a
   .
..
 
  On Jun 30, 7:39 am, fbettag fr...@bett.ag wrote:
   Hey guys, i've been having troubles with jQuery and
  Firefox/Safari
due
   to the missing Doctype all night long:
 
   Uncaught exception: [Exception... Component returned
   failure
  code:
   0x80004003 (NS_ERROR_INVALID_POINTER)
   [nsIDOMNSHTMLElement.innerHTML]  nsresult: 0×80004003
   (NS_ERROR_INVALID_POINTER)  location: JS frame ::
 http://yourserver/include/jquery.js
   :: anonymous :: line 11″  data: no]
 
   The issue is described here, altho it kinda is
 somehow
   faulty
  xml
on
   my part:
 
 
 http://fitzsimmons.ca/jquery-xhtml-11-strict-and-ns_error_invalid_poi
   .
..
 
   Is there any way to prepend a DocType? Searching the
 group
   didn't
turn
   anything useful up.
 
   Best regards
 
 --
 Lift, the simply functional web frameworkhttp://
 liftweb.net
 Beginning Scalahttp://www.apress.com/book/view/1430219890
 Follow me:http://twitter.com/dpp
 Git some:http://github.com/dpp
 
   --
   Lift, the simply functional web 

[Lift] Re: Problem with jQuery/JavaScript and Liftweb because of Doctype

2009-07-08 Thread Kevin Wright
If it's broken on firefox, and on safari, then I'm guessing that it's also
broken on any other WebKit derived browser
That leaves opera, chrome and IE, of which only IE has any serious market
penetration...

On Wed, Jul 8, 2009 at 1:34 PM, marius d. marius.dan...@gmail.com wrote:


 huh ?

 On Jul 8, 3:32 pm, Kevin Wright kev.lee.wri...@googlemail.com wrote:
  Puts us in the rather interesting position of being a Java-based
 framework
  that only works on internet explorer...
 
  On Wed, Jul 8, 2009 at 1:27 PM, marius d. marius.dan...@gmail.com
 wrote:
 
   Actually I had the same problem with with Javeline on FF. Once I
   changed the content-type in the HTTP response to text/html it worked
   just fine.
 
   Br's,
   Marius
 
   On Jul 8, 3:09 pm, Viktor Klang viktor.kl...@gmail.com wrote:
We want lift to work on those platforms. We need a work-around
 
On Wed, Jul 8, 2009 at 11:19 AM, fbettag fr...@bett.ag wrote:
 
 *Any Lift Project, not Problem. Sorry ;)
 
 On 8 Jul., 10:47, fbettag fr...@bett.ag wrote:
  The Problem isn't in Scala nor in Lift nor in jQuery. It's a
 Firefox
  bug when it gets Content-Type application/xhtml+xml. Same for
 Safari.
 
  Just try
 $(myobject).load(/some/url/from/lift/with/html/output)
  with JavaScript on any Lift problem.
 
  I don't know why you would want to debug a lift-app when all the
   links
  i've posted so far show problems with the Browser's
 implementation of
  application/html+xml, NOT lift.
 
  On 8 Jul., 05:03, David Pollak feeder.of.the.be...@gmail.com
   wrote:
 
   2009/7/7 fbettag fr...@bett.ag
 
Sorry this is giving me headaches. I don't even know what to
 look
for.. :(
The Problem is also described here:
   http://www.nabble.com/Namespace-failure-td21982365s27240.html
 
Is there anyway i can spoof the content-type for a comet
 actor
   from
application/xhtml+xml to something else? like text/html or
 only
application/xhtml.
That would fix the issue for now.
 
   I don't understand what the problem is.  Please write some code
   that
   reproduces it so I can actually see *exactly* where the problem
 is
 happening
   for you.  Only then can I debug it.
 
best regards
 
On 1 Jul., 04:58, David Pollak 
 feeder.of.the.be...@gmail.com
 wrote:
 Please fork this projecthttp://
github.com/dpp/lift_1_1_sample/tree/masterand
 provide
 an example of the failure.  I'll knock something together
 than
 overcomes the problem.
 
 2009/6/30 fbettag fr...@bett.ag
 
  To describe it a little cleaner:
 
  in Safari 4, whenever i try to
 $('#foo').load('/some.html'),
   it
 fails
  with Error: NO_MODIFICATION_ALLOWED_ERR: DOM Exception
 7
   since
 the
  content-type is text/html+xml.
  described here:
 

 http://groups.google.com/group/jquery-en/browse_thread/thread/de95e8a.
..
 
  in Firefox there is a similar problem (error up at the
 first
 post)
  which happens because FF kinda sees an error on the
 lift-generated
  XHTML/XML which is caused because the doctype seems to be
   strict
 by
  default (i guess).
  described here:
 

 http://fitzsimmons.ca/jquery-xhtml-11-strict-and-ns_error_invalid_poi.
..
 
  I put up some really simple stuff in 'some.html' with 4
 html
 tags, and
  it fails on Safari and on Firefox.
 
  When i try to set the Doctype to transitional, the
 Browser
   seems
 to
  ignore it somehow, i guess it's because of the ?xml?
 tag
   that
 occurs
  before the doctype.
 
  Is anyone else here using $(..).load('url') on a
 lift'ed
 project?
 
  On Jun 30, 11:48 pm, David Pollak 
   feeder.of.the.be...@gmail.com
 
  wrote:
   What missing doctype?
 
   2009/6/29 fbettag fr...@bett.ag
 
On Safari i get Error: NO_MODIFICATION_ALLOWED_ERR:
 DOM
 Exception
7.
This seems to be a safari 4 specific problem due to
 content-type
text/
html+xml. See
 
  http://groups.google.com/group/jquery-en/browse_thread/thread/de95e8a
 .
  ..
 
On Jun 30, 7:39 am, fbettag fr...@bett.ag wrote:
 Hey guys, i've been having troubles with jQuery and
Firefox/Safari
  due
 to the missing Doctype all night long:
 
 Uncaught exception: [Exception... Component
 returned
 failure
code:
 0x80004003 (NS_ERROR_INVALID_POINTER)
 [nsIDOMNSHTMLElement.innerHTML]  nsresult:
 0×80004003
 (NS_ERROR_INVALID_POINTER)  location: JS frame ::
   http://yourserver/include/jquery.js
 :: anonymous :: line 11″  data: no]
 
 The issue is described here, altho it kinda is
   somehow

[Lift] Re: Problem with jQuery/JavaScript and Liftweb because of Doctype

2009-07-08 Thread Kevin Wright
Interesting take... There definitely seems to be a growing need for working
with css files as something beyond static text files.

I know we already have some limited processing in place for handling root
paths, and the idea has been raised before that we could maybe merge
multiple files into a single css for performance reasons.  Maybe this should
be another driver towards offering richer CSS processing, it would be a good
unique selling point!


On Wed, Jul 8, 2009 at 2:17 PM, marius d. marius.dan...@gmail.com wrote:


 Lift does a lot of thing to properly cope with browsers idiosyncrasies
 (IE mostly ... doh .. :) ...) ... perhaps not using xhtml mimetype
 affects SVG usage ? ...Other case that I'm thinking of is to use CSS
 tricks that applies for certain browsers but only works for xhtml for
 instance:

 .myclass {
  height: 100px; // applicable on all browsers
  _height: 100px // applicable on IE6 only
  *height: 100px // applicable on IE7+
 }

 But I'm not sure if many people users are actually using this.

 Br's,
 Marius

 On Jul 8, 4:12 pm, Kevin Wright kev.lee.wri...@googlemail.com wrote:
  Uh-oh, looks like I'm going to be flagged as a troll, I should have
  remembered the winking smiley ;)
  Especially as I'm working with Lift and Firefox myself!
 
  But there is a serious point here, to get lift into the mainstream I
 guess
  we have to work within the constraints of browser flaws.
  So are there any issues in defaulting to useXhtmlMimeType = false ?
  Maybe
  even add a small note in the JavaDoc to warn against problems in setting
 it
  to be true
 
  On Wed, Jul 8, 2009 at 2:03 PM, Matt Williams m...@makeable.co.uk
 wrote:
 
   I dont understand what you mean. Internet explorer is what is
   malfunctioning as its ignoring the (incorrectly set) content-type.
   Simply set the correct content-type for the type of content you are
   returning and you shouldn't have any problems.
 
   Kevin Wright wrote:
Puts us in the rather interesting position of being a Java-based
framework that only works on internet explorer...
 
On Wed, Jul 8, 2009 at 1:27 PM, marius d. marius.dan...@gmail.com
mailto:marius.dan...@gmail.com wrote:
 
Actually I had the same problem with with Javeline on FF. Once I
changed the content-type in the HTTP response to text/html it
 worked
just fine.
 
Br's,
Marius
 
On Jul 8, 3:09 pm, Viktor Klang viktor.kl...@gmail.com
mailto:viktor.kl...@gmail.com wrote:
 We want lift to work on those platforms. We need a work-around
 
 On Wed, Jul 8, 2009 at 11:19 AM, fbettag fr...@bett.ag
mailto:fr...@bett.ag wrote:
 
  *Any Lift Project, not Problem. Sorry ;)
 
  On 8 Jul., 10:47, fbettag fr...@bett.ag
mailto:fr...@bett.ag wrote:
   The Problem isn't in Scala nor in Lift nor in jQuery. It's
 a
Firefox
   bug when it gets Content-Type application/xhtml+xml. Same
for Safari.
 
   Just try
$(myobject).load(/some/url/from/lift/with/html/output)
   with JavaScript on any Lift problem.
 
   I don't know why you would want to debug a lift-app when
 all
the links
   i've posted so far show problems with the Browser's
implementation of
   application/html+xml, NOT lift.
 
   On 8 Jul., 05:03, David Pollak
feeder.of.the.be...@gmail.com
mailto:feeder.of.the.be...@gmail.com wrote:
 
2009/7/7 fbettag fr...@bett.ag mailto:fr...@bett.ag
 
 Sorry this is giving me headaches. I don't even know
what to look
 for.. :(
 The Problem is also described here:
 
  http://www.nabble.com/Namespace-failure-td21982365s27240.html
 
 Is there anyway i can spoof the content-type for a
 comet
actor from
 application/xhtml+xml to something else? like text/html
or only
 application/xhtml.
 That would fix the issue for now.
 
I don't understand what the problem is.  Please write
 some
code that
reproduces it so I can actually see *exactly* where the
problem is
  happening
for you.  Only then can I debug it.
 
 best regards
 
 On 1 Jul., 04:58, David Pollak
feeder.of.the.be...@gmail.com mailto:
 feeder.of.the.be...@gmail.com
 
  wrote:
  Please fork this projecthttp://
 github.com/dpp/lift_1_1_sample/tree/masterand
http://github.com/dpp/lift_1_1_sample/tree/masterand
  provide
  an example of the failure.  I'll knock something
together than
  overcomes the problem.
 
  2009/6/30 fbettag fr...@bett.ag mailto:
 fr...@bett.ag
 
   To describe it a little cleaner:
 
   in Safari 4, whenever i try to
$('#foo').load('/some.html'), it
  fails

[Lift] Re: Problem with jQuery/JavaScript and Liftweb because of Doctype

2009-07-08 Thread Kevin Wright
I've already used it :)

On Wed, Jul 8, 2009 at 3:11 PM, marius d. marius.dan...@gmail.com wrote:


 Actually I added a while ago a fixCss feature that deals with root
 relative paths where context path is pre-pended. Please see
 LiftRules.fixCss.

 Br's,
 Marius

 On Jul 8, 4:34 pm, Kevin Wright kev.lee.wri...@googlemail.com wrote:
  Interesting take... There definitely seems to be a growing need for
 working
  with css files as something beyond static text files.
 
  I know we already have some limited processing in place for handling root
  paths, and the idea has been raised before that we could maybe merge
  multiple files into a single css for performance reasons.  Maybe this
 should
  be another driver towards offering richer CSS processing, it would be a
 good
  unique selling point!
 
  On Wed, Jul 8, 2009 at 2:17 PM, marius d. marius.dan...@gmail.com
 wrote:
 
   Lift does a lot of thing to properly cope with browsers idiosyncrasies
   (IE mostly ... doh .. :) ...) ... perhaps not using xhtml mimetype
   affects SVG usage ? ...Other case that I'm thinking of is to use CSS
   tricks that applies for certain browsers but only works for xhtml for
   instance:
 
   .myclass {
height: 100px; // applicable on all browsers
_height: 100px // applicable on IE6 only
*height: 100px // applicable on IE7+
   }
 
   But I'm not sure if many people users are actually using this.
 
   Br's,
   Marius
 
   On Jul 8, 4:12 pm, Kevin Wright kev.lee.wri...@googlemail.com wrote:
Uh-oh, looks like I'm going to be flagged as a troll, I should have
remembered the winking smiley ;)
Especially as I'm working with Lift and Firefox myself!
 
But there is a serious point here, to get lift into the mainstream I
   guess
we have to work within the constraints of browser flaws.
So are there any issues in defaulting to useXhtmlMimeType = false ?
Maybe
even add a small note in the JavaDoc to warn against problems in
 setting
   it
to be true
 
On Wed, Jul 8, 2009 at 2:03 PM, Matt Williams m...@makeable.co.uk
   wrote:
 
 I dont understand what you mean. Internet explorer is what is
 malfunctioning as its ignoring the (incorrectly set) content-type.
 Simply set the correct content-type for the type of content you are
 returning and you shouldn't have any problems.
 
 Kevin Wright wrote:
  Puts us in the rather interesting position of being a Java-based
  framework that only works on internet explorer...
 
  On Wed, Jul 8, 2009 at 1:27 PM, marius d. 
 marius.dan...@gmail.com
  mailto:marius.dan...@gmail.com wrote:
 
  Actually I had the same problem with with Javeline on FF.
 Once I
  changed the content-type in the HTTP response to text/html it
   worked
  just fine.
 
  Br's,
  Marius
 
  On Jul 8, 3:09 pm, Viktor Klang viktor.kl...@gmail.com
  mailto:viktor.kl...@gmail.com wrote:
   We want lift to work on those platforms. We need a
 work-around
 
   On Wed, Jul 8, 2009 at 11:19 AM, fbettag fr...@bett.ag
  mailto:fr...@bett.ag wrote:
 
*Any Lift Project, not Problem. Sorry ;)
 
On 8 Jul., 10:47, fbettag fr...@bett.ag
  mailto:fr...@bett.ag wrote:
 The Problem isn't in Scala nor in Lift nor in jQuery.
 It's
   a
  Firefox
 bug when it gets Content-Type application/xhtml+xml.
 Same
  for Safari.
 
 Just try
  $(myobject).load(/some/url/from/lift/with/html/output)
 with JavaScript on any Lift problem.
 
 I don't know why you would want to debug a lift-app
 when
   all
  the links
 i've posted so far show problems with the Browser's
  implementation of
 application/html+xml, NOT lift.
 
 On 8 Jul., 05:03, David Pollak
  feeder.of.the.be...@gmail.com
  mailto:feeder.of.the.be...@gmail.com wrote:
 
  2009/7/7 fbettag fr...@bett.ag mailto:
 fr...@bett.ag
 
   Sorry this is giving me headaches. I don't even
 know
  what to look
   for.. :(
   The Problem is also described here:
 
http://www.nabble.com/Namespace-failure-td21982365s27240.html
 
   Is there anyway i can spoof the content-type for a
   comet
  actor from
   application/xhtml+xml to something else? like
 text/html
  or only
   application/xhtml.
   That would fix the issue for now.
 
  I don't understand what the problem is.  Please write
   some
  code that
  reproduces it so I can actually see *exactly* where
 the
  problem is
happening
  for you.  Only then can I debug it.
 
   best regards
 
   On 1 Jul., 04:58, David Pollak
  feeder.of.the.be...@gmail.com mailto:
   feeder.of.the.be...@gmail.com

[Lift] Scala resources

2009-07-07 Thread Kevin Wright
I'm trying to compile a catalogue of online resources: websites, blogs,
wikis, open source projects, articles, etc. relating to scala

If anyone has any links for suitable content, especially material that may
not be well known, then please share!

--~--~-~--~~~---~--~~
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] No Navigation Defined in menu snippet

2009-07-06 Thread Kevin Wright
I have two webapps, hosted on the same server:
http://lsug.org/main/
http://lsug.org/stage/

Problem is, the menu works just fine on the stage site, but not on the main
site.
Which is odd, as these sites should be identical.  I just renamed stage.war
to main.war and let tomcat auto-deploy it

The site is using tomcat 6 via apache 2 (with mod_jk proxying)
The problem also appears if I access tomcat directly (i.e. not via apache)

Is this a known issue?

--~--~-~--~~~---~--~~
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: No Navigation Defined in menu snippet

2009-07-06 Thread Kevin Wright
sitemap is defined here:

http://github.com/kevinwright/lsug-website/blob/b3141386cb019cf11fc7eb985cce11e204086139/src/main/scala/bootstrap/liftweb/Boot.scala

using Lift 1.1-M1
There was some issue with 1.1-SNAPSHOT when I tried it about a week ago, I
forget what exactly


On Mon, Jul 6, 2009 at 8:58 AM, Timothy Perrett timo...@getintheloop.euwrote:


 Wow, that really is strange!

 Can you please post your sitemap? What version of Lift are you using?

 Cheers, Tim

 On Jul 6, 8:17 am, Kevin Wright kev.lee.wri...@googlemail.com wrote:
  I have two webapps, hosted on the same server:
 http://lsug.org/main/http://lsug.org/stage/
 
  Problem is, the menu works just fine on the stage site, but not on the
 main
  site.
  Which is odd, as these sites should be identical.  I just renamed
 stage.war
  to main.war and let tomcat auto-deploy it
 
  The site is using tomcat 6 via apache 2 (with mod_jk proxying)
  The problem also appears if I access tomcat directly (i.e. not via
 apache)
 
  Is this a known issue?
 


--~--~-~--~~~---~--~~
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: No Navigation Defined in menu snippet

2009-07-06 Thread Kevin Wright
FWIW, I've had this error for a while now.  It looked like the virtual host
config was guilty at one point, and I also went through a phase of thinking
that it only occurred if I accessed the page via jk2 before hitting tomcat
directly (still not ruled that one out)

Various restarts and other bits of mucking around seemed to fix it then, but
I'm not entirely sure how.  It does look as though the problem persists once
it has occurred, so I'm wondering if it's something to do with the work
directory, or persisted session.

Switching to Jetty didn't seem to fix it either.



On Mon, Jul 6, 2009 at 8:54 AM, Tobias Daub hannes.flo...@gmx.li wrote:


 Don't know if this is an accident, but since yesterday I'm getting this
 error too (and I didn't touched Boot.scala)?


  I have two webapps, hosted on the same server:
  http://lsug.org/main/
  http://lsug.org/stage/
 
  Problem is, the menu works just fine on the stage site, but not on the
  main site.
  Which is odd, as these sites should be identical.  I just renamed
  stage.war to main.war and let tomcat auto-deploy it
 
  The site is using tomcat 6 via apache 2 (with mod_jk proxying)
  The problem also appears if I access tomcat directly (i.e. not via
 apache)
 
  Is this a known issue?
 
  


 


--~--~-~--~~~---~--~~
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: No Navigation Defined in menu snippet

2009-07-06 Thread Kevin Wright
Interesting... yes it does

On Mon, Jul 6, 2009 at 9:51 AM, marius d. marius.dan...@gmail.com wrote:


 And if you deploy only http://lsug.org/main/  does it work correctly?

 Br's,
 Marius

 On Jul 6, 10:17 am, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:
  I have two webapps, hosted on the same server:
 http://lsug.org/main/http://lsug.org/stage/
 
  Problem is, the menu works just fine on the stage site, but not on the
 main
  site.
  Which is odd, as these sites should be identical.  I just renamed
 stage.war
  to main.war and let tomcat auto-deploy it
 
  The site is using tomcat 6 via apache 2 (with mod_jk proxying)
  The problem also appears if I access tomcat directly (i.e. not via
 apache)
 
  Is this a known issue?
 


--~--~-~--~~~---~--~~
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: Anyone out there using SBT?

2009-07-06 Thread Kevin Wright
Single Bullet Theory, or Swedish Bikini Team ?


On Mon, Jul 6, 2009 at 10:07 AM, Timothy Perrett timo...@getintheloop.euwrote:


 Hey Guys,

 Is anyone out there using SBT for their lift projects? if so, how are
 you finding it?

 Cheers, 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: No Navigation Defined in menu snippet

2009-07-06 Thread Kevin Wright
Marius, should I be thinking that you have a theory on this one?


On Mon, Jul 6, 2009 at 9:55 AM, Kevin Wright
kev.lee.wri...@googlemail.comwrote:

 Interesting... yes it does


 On Mon, Jul 6, 2009 at 9:51 AM, marius d. marius.dan...@gmail.com wrote:


 And if you deploy only http://lsug.org/main/  does it work correctly?

 Br's,
 Marius

 On Jul 6, 10:17 am, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:
  I have two webapps, hosted on the same server:
 http://lsug.org/main/http://lsug.org/stage/
 
  Problem is, the menu works just fine on the stage site, but not on the
 main
  site.
  Which is odd, as these sites should be identical.  I just renamed
 stage.war
  to main.war and let tomcat auto-deploy it
 
  The site is using tomcat 6 via apache 2 (with mod_jk proxying)
  The problem also appears if I access tomcat directly (i.e. not via
 apache)
 
  Is this a known issue?
 



--~--~-~--~~~---~--~~
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: No Navigation Defined in menu snippet

2009-07-06 Thread Kevin Wright
Thanks for your ongoing efforts :)

If you want to test with the LSUG app, feel free to grab it from github:
http://github.com/kevinwright/lsug-website/tree/master


Just to clarify, I'm working with continuous deplyment here.  The stage site
gets auto-deployed following a successful hudson build (and hudson is in
turn triggered by changes to the underlying source code).  If no problems
exist in staging then I can very quickly promote it to the main site (by
copying the war)

I really don't want to have any differences between the two apps (such as
package names), I don't even want for them to be produced by different
builds against the same source as this defeats much of the point in running
staged deployments.

Although it isn't so vital for LSUG, If I'm to successfully evangelise Lift
to my employers then I also need for this pattern to work on commercial
sites, where it is much more important that I can guarantee the production
site is identical to the site that passed user testing...



On Mon, Jul 6, 2009 at 1:02 PM, marius d. marius.dan...@gmail.com wrote:


 Well I just deployed 2 different Lift apps in jetty and everything is
 working fine.

 Here is wild thought can you try changing the package names. I
 know it shouldn't matter but this is an awkward case still.

 Br's,
 Marius

 On Jul 6, 2:32 pm, Kevin Wright kev.lee.wri...@googlemail.com wrote:
  I agree with your thinking that this looks like a classloading issue, but
  haven't (yet) tried any clever optimisations here :)
  The only shared jars are those supplied by default via java/tomcat.  When
 I
  get a moment though, it might be worth checking for the usual culprits
  (commons-logging, etc).
 
  I didn't try to read back the sitemap in my code, it's just two
 statically
  defined locs (see the source on github).  I can certainly attempt the
  readback for troubleshooting purposes, but still not sure how this can
 help
  us track down the issue if it fails...
 
  Context paths are not explicitly set, no custom context.xml files,
 nothing
  special in tomcat whatsoever - the two war files are auto-deployed and
 are
  identical (apart from their names, obviously)
 
  On Mon, Jul 6, 2009 at 12:18 PM, marius d. marius.dan...@gmail.com
 wrote:
 
   Oh btw. did you explicitly set the context path for each app ?
 
   On Jul 6, 2:09 pm, marius d. marius.dan...@gmail.com wrote:
Looks like there is an influence there but it should really not be
since each web application is loaded by a separate classloader.
 
1. Do you have any jars that these webapps are sharing?
2. If you put some logs in Boot do you see the logs correctly? ... If
you call LiftRules.siteMap after you set the siteMap gdo you get back
the right SiteMap ?
 
Br's,
Marius
 
On Jul 6, 1:35 pm, Kevin Wright kev.lee.wri...@googlemail.com
 wrote:
 
 Marius, should I be thinking that you have a theory on this one?
 
 On Mon, Jul 6, 2009 at 9:55 AM, Kevin Wright
 kev.lee.wri...@googlemail.comwrote:
 
  Interesting... yes it does
 
  On Mon, Jul 6, 2009 at 9:51 AM, marius d. 
 marius.dan...@gmail.com
   wrote:
 
  And if you deploy onlyhttp://lsug.org/main/does it work
 correctly?
 
  Br's,
  Marius
 
  On Jul 6, 10:17 am, Kevin Wright kev.lee.wri...@googlemail.com
 
  wrote:
   I have two webapps, hosted on the same server:
 http://lsug.org/main/http://lsug.org/stage/
 
   Problem is, the menu works just fine on the stage site, but
 not on
   the
  main
   site.
   Which is odd, as these sites should be identical.  I just
 renamed
  stage.war
   to main.war and let tomcat auto-deploy it
 
   The site is using tomcat 6 via apache 2 (with mod_jk proxying)
   The problem also appears if I access tomcat directly (i.e. not
 via
  apache)
 
   Is this a known issue?
 


--~--~-~--~~~---~--~~
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: [scala] preso on monadic design patterns for the web

2009-06-29 Thread Kevin Wright
Is this going to be made available as a download somewhere?
I have an IPod touch and a long daily commute...


On Mon, Jun 29, 2009 at 2:10 PM, Viktor Klang viktor.kl...@gmail.comwrote:



 On Mon, Jun 29, 2009 at 2:48 PM, Christos KK Loverdos 
 lover...@gmail.comwrote:

 This is one of the presentations after (or during) which one may easily
 wonder What was (is) he talking about? and then wake up 20 years later and
 recall that some guy Greg Meredith already did that.


 I still have yet to experience the moment where the shape of the
 paradoxical combinator suddenly unravels to me :)



 So pay attention everyone! At least, let those stuff stack at the back of
 your head. You never know...

 Greg is peaking...

 Christos

 On Jun 29, 2009, at 2:05 AM, Meredith Gregory wrote:

 All,

 The talk i recently gave on this topic is now available 
 onlinehttp://www.vimeo.com/5318303
 .

 Best wishes,

 --greg

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

 +1 206.650.3740

 http://biosimilarity.blogspot.com


   --
  __~O
 -\ ,   Christos KK Loverdos
 (*)/ (*)  http://ckkloverdos.com








 --
 Viktor Klang
 Scala Loudmouth


 


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



[Lift] Re: Is there any eclipse setup that actually works for lift?

2009-06-22 Thread Kevin Wright
Using eclipse with the IAM plugin is a *big* help (still hosted at
http://code.google.com/p/q4e/)make sure you start as a native maven project
then import the pom
after that you can add the scala nature, you'll need the scala plugin for
that, of course


Personally, I use IntelliJ for the moment, but eagerly awaiting the stable
2.8 eclipse plugin...

On Mon, Jun 22, 2009 at 7:55 PM, Ellis ellis.whiteh...@gmail.com wrote:


  I have had success recently
  with NetBeans, IntelliJ, and emacs.

 Ok, thanks.  I'm downloading NetBeans now to try it out.


 On Jun 22, 8:35 pm, David Pollak feeder.of.the.be...@gmail.com
 wrote:
  On Mon, Jun 22, 2009 at 11:25 AM, Ellis ellis.whiteh...@gmail.com
 wrote:
 
   Hello David,
 
   Thanks for your reply.  Do you know whether lift *should* work with
   scala 2.8 when we pull it from the maven repositories?
 
  Lift currently only works with Scala 2.7.4.  You can use Eclipse and
 2.7.5
  to edit Lift files, but Lift must be deployed against 2.7.4.
 
  We will have a branch of Lift (Jorge... you got this running yet)
 building
  against 2.8, but it will be experimental.
 
  I have experienced a fair number of suboptimalities with Lift and Eclipse
 in
  the last 3 weeks with the 2.7.5 stable plugin.  I have had success
 recently
  with NetBeans, IntelliJ, and emacs.
 
 
 
If so, then
   I'll try deleting my ~/.m2 as Tim suggested.
 
   Thanks,
   Ellis
 
   On Jun 22, 8:14 pm, David Pollak feeder.of.the.be...@gmail.com
   wrote:
Ellis,
Miles will be back online in a few days, but I suspect that the
 answer is
that the 2.8 plugin is the new generation and the 2.7.5 stuff is
 going
   to
have bugs. :-(
 
Sorry.
 
David
 
On Mon, Jun 22, 2009 at 11:08 AM, Ellis ellis.whiteh...@gmail.com
   wrote:
 
 Hello everyone,
 
 Does anyone have a setup for eclipse that works like it should?  By
 like it should, I mostly mean that the scala plugin doesn't crash
 regularly AND it works with lift/maven.  If so, which versions of
 which plugins are you using?
 
 The nightly build of the scala plugin seems to work better than
 2.7.4/2.7.5 in some ways, but I couldn't get it working with lift/
 maven due to signature differences between the scala libraries.
 
 Best regards,
 Ellis
 
--
Lift, the simply functional web frameworkhttp://liftweb.net
Beginning Scalahttp://www.apress.com/book/view/1430219890
Follow me:http://twitter.com/dpp
Git some:http://github.com/dpp
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Git some:http://github.com/dpp

 


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



[Lift] Re: Downloading...

2009-06-20 Thread Kevin Wright
Nothing to do with gitThis is just maven attempting to download the distinct
modules smack and smackx

Maven behaviour is to attempt all known repositories until a given artifact
was found, in this case you had two known repos: scala-tools.org and
repo1.maven.org


On Sat, Jun 20, 2009 at 10:14 PM, Joe Wass j...@folktunefinder.com wrote:


 I'm trying to compile my Lift application but it seems that every time
 I do it tries to download something or other. Case in point, just now:

 Downloading:
 http://scala-tools.org/repo-releases/org/igniterealtime/smack/smack/3.1.0/smack-3.1.0.pom
 Downloading:
 http://repo1.maven.org/maven2/org/igniterealtime/smack/smack/3.1.0/smack-3.1.0.pom
 Downloading:
 http://scala-tools.org/repo-releases/org/igniterealtime/smack/smackx/3.1.0/smackx-3.1.0.pom
 Downloading:
 http://repo1.maven.org/maven2/org/igniterealtime/smack/smackx/3.1.0/smackx-3.1.0.pom

 As it happens my net connection was down (faulty line, not out of
 choice) and I couldn't compile things without a massive delay. Is this
 a side-effect of the Git approach to source control (i.e. you get the
 whole repository whether you like it or not) or is it something
 entirely different? Sure enough I can use the -o flag to say I'm off-
 line, but I suppose that will mean taking a hit next time I tell it
 that I'm not offline? Is Lift suitable for development away from the
 internet?

 Joe

 


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



[Lift] Re: Thoughts on separation of display from logic

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

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

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

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

where Match is an extractor, possibly accepting XPath expressions


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

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




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

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

 the bindings here would respectively match the elements:

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

 Use of the span elements above was an arbitrary choice

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


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



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


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


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



 Kris

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





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








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

 


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



[Lift] Re: Thoughts on separation of display from logic

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

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

 How about this one then:

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

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

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

 where Match is an extractor, possibly accepting XPath expressions



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

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




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

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

 the bindings here would respectively match the elements:

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

 Use of the span elements above was an arbitrary choice

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


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



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


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


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



 Kris

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





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








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

 



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



[Lift] Re: David and Lift @ QCon

2009-06-17 Thread Kevin Wright
I do wish they'd make their videos downloadable...

On Wed, Jun 17, 2009 at 5:22 PM, marius d. marius.dan...@gmail.com wrote:


 Really enjoined ! ... Thank David and congrats !

 Br's,
 Marius

 On Jun 17, 5:41 pm, Viktor Klang viktor.kl...@gmail.com wrote:
  For those of us who weren't there:
 http://www.infoq.com/interviews/Lift-Scala-David-Pollack
 
  Awesome interview Dave!
 
  Cheers,
  --
  Viktor Klang
  Scala Loudmouth
 


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



[Lift] Re: Thoughts on separation of display from logic

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

the bindings here would respectively match the elements:

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

Use of the span elements above was an arbitrary choice

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


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



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


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


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



 Kris

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





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

 


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



Re: [scala] Re: [Lift] Programming in Scala #5, Lift Book #8, Beginning Scala #9

2009-06-10 Thread Kevin Wright
Note sure I'd agree make is all that simple... Unless you're doing something
VERY basic then it's loaded with potential for accidental complexity.  The
whole philosophy of maven is to do the Right Thing(tm) by default, although
I must admit that boilerplate for configuring plugins is frequently a pain
in the proverbial

On Wed, Jun 10, 2009 at 4:35 AM, Josh Suereth joshua.suer...@gmail.comwrote:


 I must say, I have not met a build system (besides automake) that
 exceeded make in complexity.  The amount of funny exceptions to rules
 is astounding.  I had far less trouble learning maven (in all its
 complexity)

 Sent from my iPhone

 On Jun 9, 2009, at 4:56 PM, Alexy Khrabrov delivera...@gmail.com
 wrote:

  Since the topic seems to have morphed into learning Scala and Lift by
  immersion in a day, as a recent Scala convert, I can't begin to
  emphasize how important it is to have the build infrastructure all
  done in a simple way to let novices focus on Scala.  Lift is a good
  example where you have no choice and just follow magic Maven
  incantations.  Another is Processing in Scala, where you can just do
  small sketches.  If the assumption is that it is the Java crowd which
  comes to JVM mostly, it doesn't bootstrap non-JVM folks like those
  coming from Ruby and Haskell/OCaml.  So I'm glad David covers the
  build systems in his book; there should really be an easier way to
  begin without making choices between Maven, SBT, Buildr, Ant, etc.!
  Nothing more complex than a good old command line and a Makefile in
  the same directory...  Ideally SBT becomes a part of Scala and you'll
  have a --make option, or something like that.
 
  Cheers,
  Alexy

 


--~--~-~--~~~---~--~~
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: Great pictures from the Scala Lift Off

2009-06-09 Thread Kevin Wright
I wish I could actually discover LSUG meets!
I signed up on (the extremely minimalist) http://lsug.org/ but the only
other hits I get are fleeting references to old meets on nabble and flickr

Where's the google group? The mailing list?


On Mon, Jun 8, 2009 at 11:10 PM, Timothy Perrett timo...@getintheloop.euwrote:


 That would be good but it's probally not going to happen. Do you get
 along to the LSUG meets?

 It would be good to catch up with more lift users at a meet sometime -
 I'll check with mr mclaver when the next one is and perhaps try to
 make it along.

 Cheers

 Tim

 Sent from my iPhone

 On 8 Jun 2009, at 22:26, KWright kev.lee.wri...@googlemail.com wrote:

 
  Something in london!
  please
  anyone...
 
  On Jun 8, 10:25 pm, TylerWeir tyler.w...@gmail.com wrote:
  Washington, DC area in October 2009.
 
  Road trip!
 
  I plan on attending LiftOffEast.
 
  On Jun 8, 4:06 pm, Dean Wampler deanwamp...@gmail.com wrote:
 
  Is the date set for the Washington, DC meeting?
 
  On Mon, Jun 8, 2009 at 12:43 PM, David Pollak
  feeder.of.the.be...@gmail.com
 
  wrote:
 
  On Mon, Jun 8, 2009 at 10:29 AM, Derek Chen-Becker
  dchenbec...@gmail.comwrote:
 
  I'm still pushing for a Scala on Skis conference out here in
  Colorado ;)
 
  It's looking like Scala on Skis will be held in Lausanne,
  Switzerland in
  Spring 2010.  We'll also have a Scala Lift Off in the Washington,
  DC area in
  October 2009.
 
  Maybe we'll have a Denver-based conference in 2010.
 
  Derek
 
  On Mon, Jun 8, 2009 at 11:14 AM, Timothy Perrett
  timo...@getintheloop.eu
  wrote:
 
  Sweet! So jeleous of you guys cant wait to have a EMEA
  scala geek
  meet! Then myself, Viktor and Heiko can really hit the beers ;-)
 
  Cheers, Tim
 
  On Jun 8, 5:53 pm, David Pollak feeder.of.the.be...@gmail.com
  wrote:
  Folks,
  Ilya not only writes great IDE plugins, he takes good pictures:
  http://picasaweb.google.com/ilyas239/Scalaliftoff09#
 
  Thanks,
 
  David
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Git some:http://github.com/dpp
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
 
  Follow me:http://twitter.com/dpp
  Git some:http://github.com/dpp
 
  --
  Dean Wampler
  coauthor of Programming Scala (O'Reilly)
  twitter: @deanwampler, @chicagoscala
  Chicago-Area Scala Enthusiasts (CASE):
  -  http://groups.google.com/group/chicagoscala
  -
 http://www.meetup.com/chicagoscala/(Meetings)http://www.objectmentorhttp://www.meetup.com/chicagoscala/%28Meetings%29http://www.objectmentor
  
 
 
 
  
 

 


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



[Lift] Re: How to prevent OutOfMemory while compiling Lift project?

2009-06-09 Thread Kevin Wright
It might be permgen space, I'm currently using:

MAVEN_OPTS=-Xms1024m -Xmx1024m -XX:MaxPermSize=256m
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC

*-Xms1024m -Xmx1024m* set the min and max the same, so no dynamic
reallocation will happen, should be faster :)
*-XX:MaxPermSize=256m* sets the size of the permenant generation, you
usually need this if you have a large heap
*-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC* enables the G1 garbage
collector (this need the LATEST java update), which seems to be a bit
faster.


On Tue, Jun 9, 2009 at 4:14 PM, sailormoo...@gmail.com 
sailormoo...@gmail.com wrote:


 Hi :

   When my project grows, it seems a mvn clean following a mvn test
 would generally causes OutOfMemoryException, even with a set
 MAVEN_OPTS=-Xms512M -Xmx1024M.
 I got this error :

 [WARNING] Exception in thread main java.lang.OutOfMemoryError: Java
 heap space

 [WARNING]   at scala.StringBuilder$.scala$StringBuilder$$copyOf
 (StringBuilde
 r.scala:867)
 [WARNING]   at scala.StringBuilder.expandCapacity
 (StringBuilder.scala:112)
 [WARNING]   at scala.StringBuilder.append(StringBuilder.scala:246)
 [WARNING]   at scala.StringBuilder.append(StringBuilder.scala:234)
 [WARNING]   at scala.tools.nsc.symtab.Symbols$Symbol.fullNameString
 (Symbols.
 scala:1241)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM
 $BytecodeGenerator.javaName
 (GenJVM.scala:1583)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM$BytecodeGenerator
 $$anonfun
 $genBlock$1$1.apply(GenJVM.scala:971)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM$BytecodeGenerator
 $$anonfun
 $genBlock$1$1.apply(GenJVM.scala:868)
 [WARNING]   at scala.Iterator$class.foreach(Iterator.scala:414)
 [WARNING]   at scala.runtime.BoxedArray$AnyIterator.foreach
 (BoxedArray.scala
 :45)
 [WARNING]   at scala.Iterable$class.foreach(Iterable.scala:256)
 [WARNING]   at scala.runtime.BoxedArray.foreach(BoxedArray.scala:
 24)
 [WARNING]   at scala.tools.nsc.backend.icode.BasicBlocks
 $BasicBlock.foreach(
 BasicBlocks.scala:130)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM
 $BytecodeGenerator.genBlock
 $1(GenJVM.scala:868)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM
 $BytecodeGenerator.genBlock
 s$1(GenJVM.scala:791)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM
 $BytecodeGenerator.genCode(
 GenJVM.scala:1415)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM
 $BytecodeGenerator.genMetho
 d(GenJVM.scala:594)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM$BytecodeGenerator
 $$anonfun
 $genClass$4.apply(GenJVM.scala:216)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM$BytecodeGenerator
 $$anonfun
 $genClass$4.apply(GenJVM.scala:216)
 [WARNING]   at scala.List.foreach(List.scala:841)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM
 $BytecodeGenerator.genClass
 (GenJVM.scala:216)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM$JvmPhase$$anonfun
 $run$2.ap
 ply(GenJVM.scala:55)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM$JvmPhase$$anonfun
 $run$2.ap
 ply(GenJVM.scala:55)
 [WARNING]   at scala.Iterator$class.foreach(Iterator.scala:414)
 [WARNING]   at scala.collection.Map$$anon$6.foreach(Map.scala:123)
 [WARNING]   at scala.tools.nsc.backend.jvm.GenJVM$JvmPhase.run
 (GenJVM.scala:
 55)
 [WARNING]   at scala.tools.nsc.Global$Run.compileSources
 (Global.scala:574)
 [WARNING]   at scala.tools.nsc.Global$Run.compile(Global.scala:
 667)
 [WARNING]   at scala.tools.nsc.Main$.process(Main.scala:73)
 [WARNING]   at scala.tools.nsc.Main$.main(Main.scala:87)
 [WARNING]   at scala.tools.nsc.Main.main(Main.scala)
 [INFO]
 
 [ERROR] BUILD FAILURE
 [INFO]
 
 [INFO] command line returned non-zero value:1
 [INFO]
 
 [INFO] For more information, run Maven with the -e switch
 [INFO]
 
 [INFO] Total time: 1 minute 4 seconds
 [INFO] Finished at: Tue Jun 09 23:10:56 CST 2009
 [INFO] Final Memory: 16M/508M
 [INFO]
 

 


--~--~-~--~~~---~--~~
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: Great pictures from the Scala Lift Off

2009-06-09 Thread Kevin Wright
BTW, are you in need of someone to actually add a bit of content to that
site?


On Tue, Jun 9, 2009 at 4:58 PM, Richard Dallaway dalla...@gmail.com wrote:


 On 9 Jun 2009, at 15:57, Kevin Wright wrote:
  I wish I could actually discover LSUG meets!
  I signed up on (the extremely minimalist) http://lsug.org/ but the
  only other hits I get are fleeting references to old meets on nabble
  and flickr

 Ah, good point.  For London Scala User group announcements you need to
 subscribe to the LSUG mailing list.  You can do that by sending a
 blank email to 
 lsug+subscr...@lists.scalaforge.orglsug%2bsubscr...@lists.scalaforge.org

 Hmm... might be an idea if we actually add that info to lsug.org :-/

 Returning to the subject: My photos from liftoff are
 http://www.flickr.com/photos/d6y/sets/72157619282779995/

 Cheers
 Richard


 


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



[Lift] Re: Lift Jquery autocomplete *** API CHANGE CANDIDATE ***

2009-06-08 Thread Kevin Wright
+1

As an evolving framework, it definitely makes more sense to favour
consistency over backward compatibility at this stage

On Mon, Jun 8, 2009 at 9:00 AM, marius d. marius.dan...@gmail.com wrote:


 Other folks, please speak up ! :) ... I will soon migrate this into a
 Lift widget.


 Br's,
 Marius

 On Jun 6, 4:53 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
  I think I'm using in one place in one project so my api breakage factor
 is
  low.  I'm okay with moving it unless someone else is going to feel real
  pain.
 
  On Jun 6, 2009 12:24 AM, Marius marius.dan...@gmail.com wrote:
 
  Is there a reason why the JQuery autocomplete is not a Lift widget but
  instead it lives in http/jquery package? .. I remember a long time ago
  me putting it in the jquery package to separate SHtml stuff that is
  dependent on JQuery to the others.
 
  Thoughts?
 
  Br',
  Marius
 


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



[Lift] Re: Future of the Lift wiki

2009-06-02 Thread Kevin Wright
Mark me down :)

On Tue, Jun 2, 2009 at 9:36 AM, marius d. marius.dan...@gmail.com wrote:


 I believe Debbie was asking the community for a few folks willing to
 garden the wiki. Anyone interested?

 Br's,
 Marius

 On Jun 2, 11:07 am, Timothy Perrett timo...@getintheloop.eu wrote:
  Guys,
 
  I know you chaps are quite new on this lift, so just to add a bit of
  background - we've been here many, many times before with various
  people pledging to fix and cleanup the wiki (myself included!)
 
  After much discussion we decided that what was needed were gardeners -
  not perhaps to write the articles themselves (as they may not be able
  to if its about complex lift internals), but rather, to hassle the
  commit team into churning out the required information that the
  gardeners can distill onto the wiki. This involves going through the
  current wiki and removing the old / irrelevant stuff.
 
  Cheers, Tim
 
  On Jun 2, 3:36 am, g-man gregor...@gmail.com wrote:
 
   Having gone through Rails, the Google App Engine with Django, and
   web2py over the last four years, I have seen it all as far as learning
   new frameworks goes, and I have posted a few ideas on that subject
   both here and on the book group.
 
   For those of us spoiled by the wealth of learning material on Rails,
   and to a lesser degree Django and web2py, all I can say is: 'Lift is a
   new framework, and a sophisticated one at that, which uses a new
   language derived from a convoluted one, and is at a relatively early
   stage of development, so therefore the designers are forging ahead to
   completion of the foundation, and thus there are few who can devote
   the time to creating the documentation we newcomers need.'
 
   My post on the book group defined the three classes of useful
   documents to be the Guidebook, the Encyclopedia, and the Cookbook. My
   role for the wiki is to hold Cookbook recipes which answer the most
   common 'how to' questions we encounter when building a website.
 
   In my personal learning quest, I am extending the 'ToDo' app by adding
   pieces of functionality, like many-to-many tagging, date manipulation,
   deletion, an admin interface, etc.
 
   As I come across solutions or questions, I post those on the group in
   order to help others and to get improvements and refinements from the
   members.
 
   David is right... Lift and Scala together are taking web applications
   to a whole new level of performance, so naturally it will take a
   little time to make things happen.
 
   By the way, today my copies of David's and Martin's Scala books
   arrived, and I urge all to purchase them yourselves!
 
   On Jun 1, 3:35 pm, Charles F. Munat c...@munat.com wrote:
 
Hi, Xavi,
 
One of my tasks is to come up with a good organization for the wiki
 and
a site map, as well as a list of things we'd like to add to it.
Unfortunately, with the coming Scala/Liftoff and OSB conferences,
 I've
been swamped with other things. But I am working on it, albeit
 slowly.
If you have any specific recommendations, please post them.
 
Thanks!
 
Chas.
 
Xavi Ramirez wrote:
 Hello,
 
 I'm a bit confused about the future of the lift wiki.  What's the
 end
 goal?  In an ideal world is it supposed to be the main repository
 of
 lift knowledge, or just another documentation source?
 
 I personally feel that having one repository of knowledge is much
 more
 noob friendly.  Currently new members have to navigate through
 started
 guides, books, e-mail threads, scala docs, and personal blogs to
 find
 relative information.  Though the get started guided and book
 provide
 a good introduction, it's hard to progress from novice to
 intermediate
 with these fragmented resources.
 
 Thanks,
 Xavi
 


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