[Lift] More docs?
I recently worked through Starting with Lift. Great to have such a mature introduction = Thanx! Now I would like to dig a little deeper and I wonder if there is more documentation? --~--~-~--~~~---~--~~ 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: More docs?
Great! Thanx Heiko On 11.03.2009, at 02:01, TylerWeir wrote: Derek, Marius and I are writing a book for Lift: http://github.com/tjweir/liftbook/tree/master and http://cloud.github.com/downloads/tjweir/liftbook/master-20090309.pdf On Mar 10, 3:07 pm, Heiko Seeberger heiko.seeber...@googlemail.com wrote: I recently worked through Starting with Lift. Great to have such a mature introduction = Thanx! Now I would like to dig a little deeper and I wonder if there is more documentation? --~--~-~--~~~---~--~~ 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: Fwd: Lift on OSGi
Hi, This is only the first mini step, more are necessary to get real OSGi support. But be sure that I will go ahead ;-) Heiko On 01.04.2009, at 17:23, David Pollak wrote: Folks, Here's an example of Lift on OSGi thanks to Heiko. Thanks, David -- Forwarded message -- From: Heiko Seeberger seeber...@weiglewilczek.com Date: Mon, Mar 30, 2009 at 8:02 AM Subject: Lift on OSGi To: David Pollak feeder.of.the.be...@gmail.com Hi David, Yes!! I succeeded in OSGi-fying a simple Lift project (lift- archetype-blank). Attached you will find the Maven project. There shouldn't be any local dependencies for building. For runtime you will need to install ScalaModules (which you can download from http://www.scalamodules.org ) into you local Maven repository (take a look at the run batch file). In order to run the demo you will have to install PaxRunner (and tweak the path to pax-run in the run batch file). This is the easiest way to run OSGi without needing to know too much about it. Let me know, how I can help you in getting the demo up an running on your machine. Heiko __ Technical Director Weigle Wilczek GmbH Martinstraße 42-44 73728 Esslingen Germany T (+49) 711 46050250 F (+49) 711 45999829 Managing Directors: Dr. Jörn Weigle, Dr. Stephan Wilczek Domicile: Esslingen a. N. Register Court: Stuttgart HRB 214442 Commercial Register No. DE 213 472 880 www.weiglewilczek.comwww.eclipse-training.net -- 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 helloworld-osgi.pnghelloworld.zip --~--~-~--~~~---~--~~ 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] OSGi-fying Scala
Hi, I am currently working on different OSGi on Scala projects, e.g. ScalaModules, Lift (OSGi-fying Lift) and BindForge. I do not know how well OSGi is known in the Scala space, but it will be a very serious thing for Java and in my opinion also very useful for Scala. To keep things simple: It is a dynamic module system which allows to develop and deploy modular Java/Scala systems. Basically there is some metadata specified in a JAR's manifest declaring things like module ID and version, public API, dependencies, etc. Hence all that is needed to OSGi-fy an existing library is adding the necessary manifest headers. For the above mentioned projects me and my mates have created OSGi- fied versions of the Scala libraries (scala-lang and scala-compiler so far). But that is redundant work! We would like to create these OSGi- fied Scala libraries in ONE common project and publish these to ONE central Maven repository. So far I have been talking to David Pollak and we decided to go for: org.scala-lang as group id and scala-library-osgi, scala-compiler- osgi, etc. as artifact ids. This naming resembles the original Scala libraries and makes clear that you will find OSGi inside. What do you think? Any other ideas? 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 use the new Record framework and Jackrabbit
Glenn, We have just started OSGi-fying Scala and Lift and there is still some way to go ... If you need a properly OSGi-fied Scala library right now then take a look at ScalaModules (www.scalamodules.org). But as Josh mentioned we will hopefully soon see the official Scala JARs being OSGi bundles ... Regarding persistence: OSGi class loading sometimes is a little tricky, especially when dealing with code not designed for OSGi. I guess we will have to work on that a little. I will post progress to this list. Heiko On 09.04.2009, at 14:25, Josh Suereth wrote: Glenn, Given what I know of the existing Scala OSGi bundles, I don't see any issues with what you're attempting, but I have not tried that personally. As Tim mentioned, the stuff Heiko and I are working on will hopefully unify the existing OSGi solutions and provide a little bit easier integration for you. I'm hoping you'll see the early work show up in the scala nightlies by next week. In the meantime Heiko's bundlification of scala or the scala- library used by the eclipse plugin are both good alternatives for using scala in OSGi environments. I've only ever used the later personally (and I would only recommend it in equinox, as it uses eclipse specific manifest extensions). - Josh On Wed, Apr 8, 2009 at 7:34 PM, Timothy Perrett timo...@getintheloop.eu wrote: Glenn, my understanding is that the OSGI stuff is *extremely* new... Check back on the recent conversations about it on list and that might answer some of your questions :-) Josh might also chime in with an appropriate answer as I think he's been working on the OSGI stuff. Cheers, Tim On 08/04/2009 22:27, glenn gl...@exmbly.com wrote: Has anyone tried to use the Scala OSGI bundle, say in Sling, to persist data to Jackrabbit? Any attempt at an implementation, at this stage, would be welcome. Glenn Silverman --~--~-~--~~~---~--~~ 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] Constructor for Req in custom dispatch functions
Hi, In the current version of Exploring Lift Listing 3.20 shows an example of a custom dispatch function: LiftRules.dispatch.append { case Req(chart :: balances :: endDate :: Nil, _, _) = ... How does this work? I cannot find a constructor for Req taking these parameters (a List as first one). Thanx -- Heiko Seeberger www.heikoseeberger.name OSGi on Scala --~--~-~--~~~---~--~~ 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: Constructor for Req in custom dispatch functions
Ah, thanx!I forgot about Extractors ;-) 2009/4/15 Derek Chen-Becker dchenbec...@gmail.com This is actually handled by the unapply method on the Req object (not the Req class). If you look at the type signature, the unapply method returns Option http://www.scala-lang.org/docu/files/api/scala/Option.html[(Listhttp://www.scala-lang.org/docu/files/api/scala/List.html [String http://java.sun.com/javase/6/docs/api/java/lang/String.html], String http://java.sun.com/javase/6/docs/api/java/lang/String.html, RequestTypehttp://scala-tools.org/scaladocs/liftweb/1.0/net/liftweb/http/RequestType.html )] Which is what you're actually matching against. I'll clarify that in the text. Derek On Wed, Apr 15, 2009 at 6:17 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi, In the current version of Exploring Lift Listing 3.20 shows an example of a custom dispatch function: LiftRules.dispatch.append { case Req(chart :: balances :: endDate :: Nil, _, _) = ... How does this work? I cannot find a constructor for Req taking these parameters (a List as first one). Thanx -- Heiko Seeberger www.heikoseeberger.name OSGi on Scala -- Heiko Seeberger www.heikoseeberger.name OSGi on Scala --~--~-~--~~~---~--~~ 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 mvn jetty:run to reload changes to snippets
Switch to the one and only great IDE: Eclipse ;-)But be sure to use the latest Scala IDE for Eclipse (2.7.4 RC1 or later). Then you will have lots of fun! 2009/4/17 James Strachan james.strac...@gmail.com Hello Lifters! BTW apologies in advance if this is an obvious newbie question - I did a fair bit of searching on the list and saw JavaRebel discussions etc. I've been taking my first baby steps with Scala/Lift (this Scala/Lift malarkey is starting to grow on me) so I followed the getting started guide. My first surprise (after using Rails/JSP etc) was hitting reload on a browser after changing a snippet doesn't reload the snippet code - you've gotta stop/restart mvn jetty:run. (Though changing the template does). I just wondered if someone had figured out the ninja to get the jetty:run plugin to auto-detect snippet changes? This could well be a tooling issue (e.g. when using eclipse with its incremental compiling generating new class files might solve the problem) - I'm using IDEA currently. I did wonder if we could come up with a way to configure the jetty:run plugin to do the right thing though irrespective of your IDE; using the scala incremental compiler maybe? I tried adding a jetty custom scan target to the pom... plugin groupIdorg.mortbay.jetty/groupId artifactIdmaven-jetty-plugin/artifactId configuration contextPath//contextPath scanIntervalSeconds1/scanIntervalSeconds scanTargetPatterns scanTargetPattern directorysrc/main/scala/directory includes include**/*.scala/include /includes /scanTargetPattern /scanTargetPatterns /configuration /plugin which forces a restart fine - but it doesn't know to recompile the Scala code. So I'm wondering if we setup the scala compiler to auto build the code to a classes directory that the jetty plugin can then auto-detect and restart the web app? I just wondered if others had hit this issue come up with an elegant solution; to force incremental compilation of the Scala class files - or maybe I should just switch to eclipse? -- James --- http://macstrac.blogspot.com/ Open Source Integration http://fusesource.com/ -- Heiko Seeberger www.heikoseeberger.name OSGi on Scala --~--~-~--~~~---~--~~ 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: Why can eclipse never find: org.mortbay.jetty.webapp.WebAppContext
You need to change the Version range for Jetty in the POM: No version 7! Am 19.04.2009 um 22:34 schrieb Tim Perrett timo...@getintheloop.eu: Hey guys, Just having a play around with the new eclipse plugins and the lift archetypes. With a fresh install of Eclipse and the latest RC version of eclipse scala plugin (and the 2.7.3 version) I always get a situation after generating a new lift project from the archetypes that it cannot find: _root_.org.mortbay.jetty.webapp.WebAppContext in RunWebApp.scala in the test package? Is there something we need to change in the archetypes to fix this or is it an eclipse plugin issue? 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: Why can eclipse never find: org.mortbay.jetty.webapp.WebAppContext
+1 for changing. Am 19.04.2009 um 22:59 schrieb Timothy Perrett timo...@getintheloop.eu: Hey Heiko, This was my feeling - im aware that class does not exist in version 7... I guess my point was do we need to change the lift-archetype so that it explicitly defines jetty 6? It seems that this would smooth the curve for newbies :-) Cheers, Tim On Apr 19, 9:50 pm, Heiko Seeberger heiko.seeber...@googlemail.com wrote: You need to change the Version range for Jetty in the POM: No version 7! --~--~-~--~~~---~--~~ 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 lift marketing [was A Lift preso]
Mates, Forget about that old presentation! I have seen it live and it is just not relevant. There will be ab Scala Day at W-JAX 09 (11 Nov) and I will give a *very* positive talk there. Cheers Heiko On 24/04/2009, Daniel Mueller dan.in.a.bot...@gmail.com wrote: Thoughts about that presentation[1] (german): The slides indicate that the presentation was for the W-JAX 2008 conference (Nov 2008), so it's a bit older. While most of the stuff is nothing special (except that he left out JPA in the persistence slides - was probably too new for the submission deadline), I noted the conclusions (translated): Negative (p. 118): * no stable APIS * proprietary * [part of the] hype around Scala * One man show * [Steep] learning curve [because of] Scala * [Missing] Scala tooling * No roadmap (for reference: the positive (p. 110) are: [good] use case for Scala, close to HTTP, elegant because of Scala, and WOW effect) And after some words from David Pollak (english, p. 122), the applicability (p. 124): * playground for Scala friends * Initial effort [required] for non-Scala developers: high Just what went through my mind when I read it (reordered): * no stable APIS: Well, that was before 1.0 which should have been expressed more clearly, but ... * proprietary: Not more than any other OS lib out there... (and in the generally accepted definition in the SE world, this statement is wrong IMHO..) * [part of the] hype around Scala: no comment * [Steep] learning curve [because of] Scala: no comment * [Missing] Scala tooling: This is being rectified in other parts of the Scala community and I think it's improving a lot recently... * One man show no roadmap: both points are actually not true, or definitely not true anymore. But... I think that to increase 'enterprise' adoption (meaning not just bleeding-edge/curious/driven/ self-reliant coders, or enterprises where the final decision is done by someone not very close to code), it would help if lift would market it's adoption among BigNames and big scale projects a bit more, and also show (on the homepage) that it has a highly committed team and a stable roadmap. I was pleased to find the quote from Michael Galpin, eBay on the front page (and the other quotes), but I think a 'adopted by/used in' link to the applications/companies that are using it (with Logos where possible) would help a lot as well (Where exactly is that list of life applications that is polled every once in a while on the mailing list). And quotes about the responsiveness and helpfulness of the mailing list would also deserve a special mention (on a special page accessible from the homepage). A site that I really like in terms of marketing effort: http://terracotta.org/ . ok, it's backed by a company, but it's still quite clean and markets the product really well. I know that for most coders/developers/engineers looking to assess a good technology, this is probably perceived as shadows and dust, but for someone that is very likely betting a part of his yearly salary bonus on the decision (because the cause loss/gain in time/money could make or break his goals/carreer/raise), those considerations are very important. Think of it simply as prudent marketing. The quality of Lift's code and community *is* amazing. Let's just make it as easy as possible for people to recognize that. On a related note please don't forget one of the factors why Ruby on Rails had an immense success as a framework: DHH is a very loud voice talking about a framework and as a result this attracted a lot of attention to it. IIRC the interesting side effect was that because of the excellent 'marketing' and the attracted attention, the framework actually attracted additional developer horsepower and matured a lot faster. And about the 'playground for Scala devs high required initial investment because of Scala', maybe it wouldn't hurt to defuse that a bit as well. I really like the statement of Martin Odersky: In the end it's just another jar on your classpath (ok, it's a bit more than that, but...). Or maybe some excerpts from the mailing list/other adopters about experiences while switching to Lift with no prior Scala experience. True, that's basically something that applies to Scala in the large and not just Lift, but I think that Lift is for Scala what Rails is for Ruby: the flagship product and main attraction magnet. Because Lift (and also Rails) is a framework used to solve problems that a lot of people encounter in daily life (webapps). I personally love what I can do with Scala for other problem domains, but those domains are less close to what most developers work on on a daily basis. Oh, and I think that for the most part the marketing organized in terms of conferences, papers, and books is pretty thorough. Would be nice to see that in a news section to see what is going on with lift. Just some thoughts. Thanks for the amazing work,
[Lift] Move common dependencies into parent POM?
Hi, For my work on OSGi-fying Lift I took a closer look at the POMs. I noticed, that dependencies are duplicated across the modules, e.g. lift-util and lift-webkit both declare almost the same dependencies. What's the reason for that? Wouldn't it be better to move the common dependencies into the parent POM / multiple parent POMs? Heiko -- www.heikoseeberger.name OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: http://liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: [scala-user] Update to maven-scala-plugin 2.10.1 and add maven-compiler-plugin?
The root POM for what? Well, plugin settings are inherited by child projects = Hence you can import lift-webkit, lift-util, etc. into Eclipse and will find the correct compiler settings. Heiko 2009/4/30 Josh Suereth joshua.suer...@gmail.com I'm fine with these changes, but The root pom for what? Yes, the maven-scala-plugin 2.10.1 is the best currently. 2.11 should feature updates to take advantage of the new process-argument-limit workarounds in Scalac (which I think are in 2.7.4). -Josh On Thu, Apr 30, 2009 at 3:25 PM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi, I would like to change the root POM: 1. Update to maven-scala-plugin - 2.10.1 This is just to use the latest (best?) version. 2. Add maven-compiler-plugin - Set source and target to 1.5 This is to ease eclipse integration: The Maven integration for Eclipse applies these settings to Eclipse projects which helps a *great* lot. Any concerns? Heiko -- www.heikoseeberger.name OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: http://liftweb.net -- www.heikoseeberger.name OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: http://liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Fwd: Update to maven-scala-plugin 2.10.1 and add maven-compiler-plugin?
Oops, wrong list = Once more ;-) -- Forwarded message -- From: Heiko Seeberger heiko.seeber...@googlemail.com Date: 2009/4/30 Subject: Update to maven-scala-plugin 2.10.1 and add maven-compiler-plugin? To: _scala-user scala-u...@listes.epfl.ch Hi, I would like to change the root POM: 1. Update to maven-scala-plugin - 2.10.1 This is just to use the latest (best?) version. 2. Add maven-compiler-plugin - Set source and target to 1.5 This is to ease eclipse integration: The Maven integration for Eclipse applies these settings to Eclipse projects which helps a *great* lot. Any concerns? Heiko -- www.heikoseeberger.name OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: http://liftweb.net -- www.heikoseeberger.name OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: http://liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Confusion about Lift-Core
Lift Bloat: LOL!!! 2009/5/10 David Pollak feeder.of.the.be...@gmail.com A long time ago, I insisted that Lift was everything that we had in all the Lift packages. When DavidB split Lift into different packages, he called the whole thing that includes all Lift packages Lift Core. It would probably be better named Lift Bloat (this is a joke), but it is what it is. On Sat, May 9, 2009 at 11:49 PM, Charles F. Munat c...@munat.com wrote: What exactly is Lift-Core. When I read Chapter 7 of the Lift book, it says that Lift-Core is The engine of the framework responsible for the request/response lifecycle, the rendering pipeline, invoking the user's functions, etc. We don't directly cover the core in this book because essentially all of the functionality that we do cover sits on top of the core. But when I look in the source code under lift-core, there's nothing there except a pom.xml file that appears to pull a bunch of dependencies, namely, lift-util, lift-webkit, lift-mapper, lift-machine, lift-record, lift-textile, lift-facebook, lift-amqp, lift-xmpp, and lift-widgets. So does lift-core comprise these widgets? Or is the lift-core something else? (The diagram in the book shows the Mapper, for example, as being separate from the Core.) Thanks for any help. Chas. -- 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 -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] OSGi support for Lift
Hi Lift folks, Today I checked in the first little step towards OSGi support: - Modules lift-util and lift-webkit are no longer plain vanilla JARs, but built as OSGi bundles (OSGi metadata in META-INF/MANIFEST.MF) - New module lift-osgi which offers (yet very limited) support for Lift application bundles (to ones you write) - New example module (under sites) examples-osgi with one (yet very limited) examples-osgi-hello bundle The first thing I would like to ask you is to verify that the changes to the existing modules are free of side effects: Lift should work without OSGi just like before. As the changes to lift-util and lift-webkit are merely in the manifest, I am very confident, but just to be sure ... And for those of you interested in OSGi: Currently there is only support for resources (templates) contributed from Lift-powered bundles to a composite Lift application. Yet no snippets, no custom dispatch, etc. Please take a look at sites/examples-osgi/hello. Note the new manifest header Lift-Config in the POM (the value is yet without any meaning). This bundle contributes its resources under webapp to a composite Lift application. The actual work is done by lift-osgi which is an implementation of the extender pattern. In order to run the example, I suggest you use Pax Runner http://paxrunner.ops4j.org/space/Pax+Runnerwith the scala and web profiles and the provided component configuration file at sites/examples-osgi/hello/hello.component. Else you will have to provision OSGi bundles for Scala, ScalaModules, Lift and all required dependencies (take a look into hello.component) by hand. Of course I would be very glad to get some reviews on my Scala code, because I guess there is still a long way of learning ahead ... Cheers Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: OSGi support for Lift
Beer sounds great (I am form Bavaria) and team beer night also ;-)How does this work? Everybody chatting how much she has drunk? Cheers Heiko 2009/5/12 Viktor Klang viktor.kl...@gmail.com On Tue, May 12, 2009 at 3:59 PM, Timothy Perrett timo...@getintheloop.euwrote: If your buying Viktor ;-) Say, when we having a lift team beer night? Feels like were long overdue for something like that! We really should! Cheers, Tim On 12/05/2009 14:50, Viktor Klang viktor.kl...@gmail.com wrote: I feel I owe Heiko a beer. On Tue, May 12, 2009 at 3:36 PM, David Pollak feeder.of.the.be...@gmail.com wrote: Very good stuff! Looking forward to playing with it today. Thanks for the hard work! On Tue, May 12, 2009 at 12:03 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi Lift folks, Today I checked in the first little step towards OSGi support: - Modules lift-util and lift-webkit are no longer plain vanilla JARs, but built as OSGi bundles (OSGi metadata in META-INF/MANIFEST.MF) - New module lift-osgi which offers (yet very limited) support for Lift application bundles (to ones you write) - New example module (under sites) examples-osgi with one (yet very limited) examples-osgi-hello bundle The first thing I would like to ask you is to verify that the changes to the existing modules are free of side effects: Lift should work without OSGi just like before. As the changes to lift-util and lift-webkit are merely in the manifest, I am very confident, but just to be sure ... And for those of you interested in OSGi: Currently there is only support for resources (templates) contributed from Lift-powered bundles to a composite Lift application. Yet no snippets, no custom dispatch, etc. Please take a look at sites/examples-osgi/hello. Note the new manifest header Lift-Config in the POM (the value is yet without any meaning). This bundle contributes its resources under webapp to a composite Lift application. The actual work is done by lift-osgi which is an implementation of the extender pattern. In order to run the example, I suggest you use Pax Runner http://paxrunner.ops4j.org/space/Pax+Runner with the scala and web profiles and the provided component configuration file at sites/examples-osgi/hello/hello.component. Else you will have to provision OSGi bundles for Scala, ScalaModules, Lift and all required dependencies (take a look into hello.component) by hand. Of course I would be very glad to get some reviews on my Scala code, because I guess there is still a long way of learning ahead ... Cheers Heiko -- Viktor Klang Senior Systems Analyst -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: OSGi support for Lift
Hi again, I just checked in the next little step: Now it is possible to have a Boot class and provide packages = Snippets are also working (and maybe other LiftRules stuff, too). I also improved and fixed some stuff in the osgi-hello example. Cheers Heiko 2009/5/12 Heiko Seeberger heiko.seeber...@googlemail.com Beer sounds great (I am form Bavaria) and team beer night also ;-)How does this work? Everybody chatting how much she has drunk? Cheers Heiko 2009/5/12 Viktor Klang viktor.kl...@gmail.com On Tue, May 12, 2009 at 3:59 PM, Timothy Perrett timo...@getintheloop.eu wrote: If your buying Viktor ;-) Say, when we having a lift team beer night? Feels like were long overdue for something like that! We really should! Cheers, Tim On 12/05/2009 14:50, Viktor Klang viktor.kl...@gmail.com wrote: I feel I owe Heiko a beer. On Tue, May 12, 2009 at 3:36 PM, David Pollak feeder.of.the.be...@gmail.com wrote: Very good stuff! Looking forward to playing with it today. Thanks for the hard work! On Tue, May 12, 2009 at 12:03 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi Lift folks, Today I checked in the first little step towards OSGi support: - Modules lift-util and lift-webkit are no longer plain vanilla JARs, but built as OSGi bundles (OSGi metadata in META-INF/MANIFEST.MF) - New module lift-osgi which offers (yet very limited) support for Lift application bundles (to ones you write) - New example module (under sites) examples-osgi with one (yet very limited) examples-osgi-hello bundle The first thing I would like to ask you is to verify that the changes to the existing modules are free of side effects: Lift should work without OSGi just like before. As the changes to lift-util and lift-webkit are merely in the manifest, I am very confident, but just to be sure ... And for those of you interested in OSGi: Currently there is only support for resources (templates) contributed from Lift-powered bundles to a composite Lift application. Yet no snippets, no custom dispatch, etc. Please take a look at sites/examples-osgi/hello. Note the new manifest header Lift-Config in the POM (the value is yet without any meaning). This bundle contributes its resources under webapp to a composite Lift application. The actual work is done by lift-osgi which is an implementation of the extender pattern. In order to run the example, I suggest you use Pax Runner http://paxrunner.ops4j.org/space/Pax+Runner with the scala and web profiles and the provided component configuration file at sites/examples-osgi/hello/hello.component. Else you will have to provision OSGi bundles for Scala, ScalaModules, Lift and all required dependencies (take a look into hello.component) by hand. Of course I would be very glad to get some reviews on my Scala code, because I guess there is still a long way of learning ahead ... Cheers Heiko -- Viktor Klang Senior Systems Analyst -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: OSGi support for Lift
Hi Alex, 2009/5/12 Alex Boisvert boisv...@intalio.com I downloaded and ran PAX runner, ./pax-run.sh --profiles=log,scala,felix.webconsole,web then installed the examples-osgi bundle, - install file:///home/boisvert/git/liftweb/sites/examples-osgi/hello/target/examples-osgi-hello-1.1-SNAPSHOT.jar Bundle ID: 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent INSTALLED start 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent RESOLVED [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent STARTED OSGi support for Lift is implemented as extender in order to keep Lift core OSGi-agnostic. This means that there is a special add-on bundle (lift-osgi) which must be installed and started. It will watch all bundles if they are Lift-powered which means they have got a Lift-Config manifest entry. If so, these bundles will be delegated to for resource look-ups (templates) and also (latest checkin) bootstrap.liftweb.Boot classes will be called. OK, you have got to install lift-osgi and all its prerequesites, i.e. lift-webkit, lift-util, etc. You could install the example PLUS all the required other bundles manually. But better go for Pax Runner like that pax-run.sh --profiles=web,scala,others scan-composite:file:hello_comp with hello_comp the path to hello.composite which is part of sites/examples-osgi/hello 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: OSGi support for Lift
When did you check out? I pushed again about one or two hours ago.From the log I can see that you use an old version of hello.composite. The new one should look like: scan-bundle:wrap:mvn:javax.mail/mail/1.4 scan-bundle:wrap:mvn:javax.activation/activation/1.1 ... The wrap: is important. Pax Runner will wrap vanilla JARs into OSGi bundles. Please pull again, that should help. Heiko 2009/5/12 Alex Boisvert boisv...@intalio.com Ok, I tried again based on your suggestion but I'm getting an error related to javax.mail:1.4 not being a valid bundle... - Preparing framework [Felix 1.6.0] - Downloading bundles... - mvn:javax.mail/mail/1.4 : 388864 bytes @ [ 471kBps ] s @ [ 498kBps ] ___ / / / / Oops, there has been a problem! / / /__/ org.ops4j.pax.runner.platform.PlatformException: [mvn:javax.mail/mail/1.4] is not a valid bundle ___ /__/ Use --log=debug to see details. To be sure, I wiped my M2 repo under javax/mail and retried but I'm getting the same error. Any idea? I'm attaching the full log in case it's helpful. alex On Tue, May 12, 2009 at 10:08 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi Alex, 2009/5/12 Alex Boisvert boisv...@intalio.com I downloaded and ran PAX runner, ./pax-run.sh --profiles=log,scala,felix.webconsole,web then installed the examples-osgi bundle, - install file:///home/boisvert/git/liftweb/sites/examples-osgi/hello/target/examples-osgi-hello-1.1-SNAPSHOT.jar Bundle ID: 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent INSTALLED start 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent RESOLVED [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent STARTED OSGi support for Lift is implemented as extender in order to keep Lift core OSGi-agnostic. This means that there is a special add-on bundle (lift-osgi) which must be installed and started. It will watch all bundles if they are Lift-powered which means they have got a Lift-Config manifest entry. If so, these bundles will be delegated to for resource look-ups (templates) and also (latest checkin) bootstrap.liftweb.Boot classes will be called. OK, you have got to install lift-osgi and all its prerequesites, i.e. lift-webkit, lift-util, etc. You could install the example PLUS all the required other bundles manually. But better go for Pax Runner like that pax-run.sh --profiles=web,scala,others scan-composite:file:hello_comp with hello_comp the path to hello.composite which is part of sites/examples-osgi/hello Cheers Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: OSGi support for Lift
Sure, Pax Exam rules! 2009/5/12 James Strachan james.strac...@gmail.com BTW speaking of PAX - I've found a nice easy way to test OSGI jars (as its so easy to mess up the metadata) is to use Pax Exam to create an OSGi integration test of your bundles against one or more OSGi containers (e.g. Felix and Equinox), using the maven poms and the Apache ServiceMix/Karaf plugin to deduce the versions of the dependencies you're using to avoid hard coding them in your integration test. More details here: http://macstrac.blogspot.com/2009/04/if-you-are-using-osgi-then-give-pax.html 2009/5/12 Alex Boisvert boisv...@intalio.com: Hi Heiko, Just a few basic questions I downloaded and ran PAX runner, ./pax-run.sh --profiles=log,scala,felix.webconsole,web then installed the examples-osgi bundle, - install file:///home/boisvert/git/liftweb/sites/examples-osgi/hello/target/examples-osgi-hello-1.1-SNAPSHOT.jar Bundle ID: 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent INSTALLED start 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent RESOLVED [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent STARTED Now how to I access the Lift app? How does the servlet context get mapped onto Jetty? It is normal there's no web.xml in this project? (I can access the Felix admin console at http://localhost:8080/system/console) alex -- James --- http://macstrac.blogspot.com/ Open Source Integration http://fusesource.com/ -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Build problem
Oops! That's the OSGi stuff :-( Please comment in lift/pom.xml !--plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId configuration instructions Export-Package!net.liftweb.util.*,net.liftweb.*;version=${pom.version}/Export-Package Import-Packageorg.slf4j.*;resolution:=optional,*/Import-Package DynamicImport-Package*/DynamicImport-Package /instructions /configuration /plugin-- I will try to fix it. Heiko 2009/5/12 David Pollak feeder.of.the.be...@gmail.com Folks, It seems that the minified versions of jquery and json2.js are not being included in the built JAR file. Anyone have an idea of why? 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 -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Build problem
OK, I fixed it and pushed to the repo.Sorry for the trouble! Heiko 2009/5/12 Heiko Seeberger heiko.seeber...@googlemail.com Oops! That's the OSGi stuff :-( Please comment in lift/pom.xml !--plugin groupIdorg.apache.felix/groupId artifactIdmaven-bundle-plugin/artifactId configuration instructions Export-Package!net.liftweb.util.*,net.liftweb.*;version=${pom.version}/Export-Package Import-Packageorg.slf4j.*;resolution:=optional,*/Import-Package DynamicImport-Package*/DynamicImport-Package /instructions /configuration /plugin-- I will try to fix it. Heiko 2009/5/12 David Pollak feeder.of.the.be...@gmail.com Folks, It seems that the minified versions of jquery and json2.js are not being included in the built JAR file. Anyone have an idea of why? 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 -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: OSGi support for Lift
Hm, does not look good :-(Thanx for trying and please keep on! I have to deal with some build issues, and will take a look at that tomorrow. Heiko 2009/5/12 Alex Boisvert boisv...@intalio.com That was it. I pulled again from git and now I can start the examples-osgi app. However, one more nitpick... I can load index.htm but the snippet isn't rendered correctly because some resources can't be found. e.g. [5285...@qtp-20735553-0 - /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/templates-hidden/default.htm] [5285...@qtp-20735553-0 - /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null Is that normal? I can see the following displayed: pFrom a snippet: spanHi, I am a snippet from a Lift-powered OSGi bundle!/span/p but there's no surrounding html body ... /body /html so the browser complains. alex On Tue, May 12, 2009 at 11:24 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: When did you check out? I pushed again about one or two hours ago.From the log I can see that you use an old version of hello.composite. The new one should look like: scan-bundle:wrap:mvn:javax.mail/mail/1.4 scan-bundle:wrap:mvn:javax.activation/activation/1.1 ... The wrap: is important. Pax Runner will wrap vanilla JARs into OSGi bundles. Please pull again, that should help. Heiko 2009/5/12 Alex Boisvert boisv...@intalio.com Ok, I tried again based on your suggestion but I'm getting an error related to javax.mail:1.4 not being a valid bundle... - Preparing framework [Felix 1.6.0] - Downloading bundles... - mvn:javax.mail/mail/1.4 : 388864 bytes @ [ 471kBps ] s @ [ 498kBps ] ___ / / / / Oops, there has been a problem! / / /__/ org.ops4j.pax.runner.platform.PlatformException: [mvn:javax.mail/mail/1.4] is not a valid bundle ___ /__/ Use --log=debug to see details. To be sure, I wiped my M2 repo under javax/mail and retried but I'm getting the same error. Any idea? I'm attaching the full log in case it's helpful. alex On Tue, May 12, 2009 at 10:08 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi Alex, 2009/5/12 Alex Boisvert boisv...@intalio.com I downloaded and ran PAX runner, ./pax-run.sh --profiles=log,scala,felix.webconsole,web then installed the examples-osgi bundle, - install file:///home/boisvert/git/liftweb/sites/examples-osgi/hello/target/examples-osgi-hello-1.1-SNAPSHOT.jar Bundle ID: 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent INSTALLED start 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent RESOLVED [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent STARTED OSGi support for Lift is implemented as extender in order to keep Lift core OSGi-agnostic. This means that there is a special add-on bundle (lift-osgi) which must be installed and started. It will watch all bundles if they are Lift-powered which means they have got a Lift-Config manifest entry. If so, these bundles will be delegated to for resource look-ups (templates) and also (latest checkin) bootstrap.liftweb.Boot classes will be called. OK, you have got to install lift-osgi and all its prerequesites, i.e. lift-webkit, lift-util, etc. You could install the example PLUS all the required other bundles manually. But better go for Pax Runner like that pax-run.sh --profiles=web,scala,others scan-composite:file:hello_comp with hello_comp the path to hello.composite which is part of sites/examples-osgi/hello Cheers Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: OSGi support for Lift
Alex, [5285...@qtp-20735553-0 - /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/templates-hidden/default.htm] [5285...@qtp-20735553-0 - /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null Is that normal? I can see the following displayed: As far as I know Lift that *is* normal, because Lift tries different locales and suffixes to match index. Browse little further down and you should see that it finally finds index.html (not .htm): INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/index_en_US] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/index_en] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/index] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/index_en_US.html] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/index_en.html] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/index.html] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: bundle://16.0:1/webapp/index.html pFrom a snippet: spanHi, I am a snippet from a Lift-powered OSGi bundle!/span/p but there's no surrounding html body ... /body /html so the browser complains. Puh, I cannot reproduce this. My browser gets ?xml version=1.0 encoding=UTF-8? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; html xmlns:lift=http://liftweb.net/; xmlns=http://www.w3.org/1999/xhtml;head titleLift-OSGi/title script type=text/javascript src=/ajax_request/liftAjax.js;jsessionid=ll3rqumuelvm/script/head body h2Welcome to Lift on OSGi!/h2 pFrom a snippet: spanHi, I am a snippet from a Lift-powered OSGi bundle!/span/p script type=text/javascript // ![CDATA[ jQuery(document).ready(function() {lift_successRegisterGC();}); var lift_page = 'F1077120265494I14'; // ]] /script/body /html My fix for the build issues broke the example. I just pushed a new version that works again (for me). Could you please give it another try? Thanx 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: OSGi support for Lift
Alex, This is an interesting requirement and could be feasible but not trivial. Please keep in mind, that in OSGi *each* application is (potentially) made up from several bundles that can be installed, updated and removed at any point of (run)time = Whar really leverages the power of OSGi is to have one *composite* web application (under one context). Because then you can do things like adding functionality or hot deployment which have not been possible before. Also notice that in OSGi space you will not have a Jetty as the leading server, but an OSGi framework like Felix or Equinox where Jetty or another servlet container is just one bundle. Currently there are ongoing efforts on how to nest OSGi frameworks = This will provide a very mature way to have several isolated composite applications. Maybe we should wait for that ... Cheers Heiko 2009/5/12 Alex Boisvert boisv...@intalio.com Alright, thanks for your help! I was mostly kicking the tires to get a taste for the upcoming OSGi integration. I guess my main feedback at this point is that it would be nice to map the app into a non-root context of Jetty. e.g. http://localhost:8080/examples-osgi instead of directly under http://localhost:8080.This would make it possible to deploy several Lift apps onto the same OSGi container. alex On Tue, May 12, 2009 at 12:19 PM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hm, does not look good :-(Thanx for trying and please keep on! I have to deal with some build issues, and will take a look at that tomorrow. Heiko 2009/5/12 Alex Boisvert boisv...@intalio.com That was it. I pulled again from git and now I can start the examples-osgi app. However, one more nitpick... I can load index.htm but the snippet isn't rendered correctly because some resources can't be found. e.g. [5285...@qtp-20735553-0 - /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/templates-hidden/default.htm] [5285...@qtp-20735553-0 - /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null Is that normal? I can see the following displayed: pFrom a snippet: spanHi, I am a snippet from a Lift-powered OSGi bundle!/span/p but there's no surrounding html body ... /body /html so the browser complains. alex On Tue, May 12, 2009 at 11:24 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: When did you check out? I pushed again about one or two hours ago.From the log I can see that you use an old version of hello.composite. The new one should look like: scan-bundle:wrap:mvn:javax.mail/mail/1.4 scan-bundle:wrap:mvn:javax.activation/activation/1.1 ... The wrap: is important. Pax Runner will wrap vanilla JARs into OSGi bundles. Please pull again, that should help. Heiko 2009/5/12 Alex Boisvert boisv...@intalio.com Ok, I tried again based on your suggestion but I'm getting an error related to javax.mail:1.4 not being a valid bundle... - Preparing framework [Felix 1.6.0] - Downloading bundles... - mvn:javax.mail/mail/1.4 : 388864 bytes @ [ 471kBps ] s @ [ 498kBps ] ___ / / / / Oops, there has been a problem! / / /__/ org.ops4j.pax.runner.platform.PlatformException: [mvn:javax.mail/mail/1.4] is not a valid bundle ___ /__/ Use --log=debug to see details. To be sure, I wiped my M2 repo under javax/mail and retried but I'm getting the same error. Any idea? I'm attaching the full log in case it's helpful. alex On Tue, May 12, 2009 at 10:08 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi Alex, 2009/5/12 Alex Boisvert boisv...@intalio.com I downloaded and ran PAX runner, ./pax-run.sh --profiles=log,scala,felix.webconsole,web then installed the examples-osgi bundle, - install file:///home/boisvert/git/liftweb/sites/examples-osgi/hello/target/examples-osgi-hello-1.1-SNAPSHOT.jar Bundle ID: 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent INSTALLED start 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent RESOLVED [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent STARTED OSGi support for Lift is implemented as extender in order to keep Lift core OSGi-agnostic. This means that there is a special add-on bundle (lift-osgi) which must be installed and started. It will watch all bundles if they are Lift-powered which means they have got a Lift-Config manifest entry. If so, these bundles will be delegated to for resource look-ups (templates) and also (latest checkin) bootstrap.liftweb.Boot classes will be called. OK, you have got to install lift-osgi and all its prerequesites, i.e. lift-webkit, lift-util, etc. You could install the example PLUS all the required other bundles manually. But better go for Pax Runner like that pax-run.sh --profiles=web,scala,others scan-composite:file:hello_comp
[Lift] Re: OSGi support for Lift
Hi Alex, Yes, I do get that and these are exactly the things I'm looking for in moving to OSGi. However, as applications grow I think it's eventually necessary to modularize and isolate them so that changing something in one app doesn't affect another one. Yes, you are right. But so far OSGi does not support the concept of an application. Let's say I have 2 apps and I'd like one of them to run on Lift 1.0 and the other one on Lift 1.1-SNAPSHOT, how do you see this working? In a typical J2EE webapp, these would be deployed as separate wars, each having a separate web context and isolated Lift core instances. Two separate WARs means two separate applications which is not possible in OSGi so far. We could try to tweak this, e.g. by using non-overlapping version ranges on package imports. But currently Lift needs (evil) DynamicImport-Package to properly resolve classes (e.g. Snippets) which breaks version-based resolving. And there would be other issues, too. This whole application and isolation stuff is currently investigated by the OSGi EEG (enterprise experts group): Hopefully we will soon see a solution! 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] Schedule for 1.1
Hi, I am about to use Lift for a new project and I wonder whether I should use 1.0 or go for 1.1. Any ideas when 1.1 will be released? And what about the record framework? Is it production ready yet or in near future? Thanx Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Recommended way for logging?
What is the recommended way for logging in Lift applications? (a) Use LiftLogger (b) Use custom application logging via Log4j, SLF4J, etc. because LiftLogger is meant for Lift internal only Thanx Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Question about field validation
I am using Mapper with a class like that: class Participant extends LongKeyedMapper[Participant] with IdPK { override def getSingleton = Participant object firstName extends MappedString(this, 100) { override val displayName = First name override val validations = valMinLen(1, Required!) _ :: Nil } ... The form is created via Snippet like that: class Register { def render(content: NodeSeq): NodeSeq = { Participant.create.toForm(Full(Next), onSubmit(_)) } When I enter nothing I expect the validation for the firstName field to produce an error, but there is no error and my onSubmit function is called. Is there anything else needed to activate field validation? Thanx Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] How to use lift-paypal?
Hi, I would like to use the PayPal module. First: Is it considered production ready? Second: If yes, please point me to some documentation or examples. Thanx Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: How to use lift-paypal?
Hi Tim, Yes, it's production ready. Currently both PDT and IPN are supported. Great! I'll bash together a sample later if you need one (at work now). I would appreciate that a lot! Alternitivly, the lift book has a small sample of it's usage. Yes, but that's indeed very small :-( I have never used PayPal before, hence I could need a little more. Of course that's not the main focus of the book ... 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: Which lift version should I be using
I asked something similar some days ago (Subject: Schedule for 1.1).I am using 1.1-SNAPSHOT and that's doing fine ... Heiko 2009/5/19 glenn gl...@exmbly.com I was using lift 1.1-SNAPSHOT,which I had in my local repository. There is a version 1.1-M1 on http://scala-tools.org/repo-releases. Should I be using that, or is there another repository that I should use in my POM? Glenn... -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Snippet name clashes
Hi, As far as I understand it is not possible to specify the FQCN of a snippet class in a snippet tag. Is this true? If so, there might be name clashes: Just imagine popular names like user, customer, item, etc. This will be particularly important in the OSGi space where you can create extensible applications: You do not know in advance, which modules are added. Hence on the long run I think we need something like namespacing. What do you think? Cheers Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: lift-tag discussion
From a user's perspective lift-tag feels odd = I prefer version 1 Heiko 2009/5/25 Marius marius.dan...@gmail.com Dear all, As you may have noticed recently lift:bind and lift:with-param has been deprecated in favor of lift-tag:bind and lift-tag:with-param. The rationale was that the syntax for these two constructs was similar with a snippet invocation where in fact the two are not snippets. so lift-tag distinguishes between snippets invocation and the tags processing (which in this cases happens inside of surround processing). I did this deprecations (based on public list discussions) but I'm not thrilled about it. I don't know what it is but something is just not there (really weird ...). Now what options do we really have? 1. Make lift:bind and lift:with-param to be real snippets. That should be feasible but requires a bit of changes (transparent to the user) ... this would lead to un-deprecation of current deprecations :) 2. Suggest some other naming convention or just live with lift-tag prefix 3. Other thoughts? Br's, Marius -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: git ouch
Some more details, please: What git commands did you enter? 2009/5/29 Oliver Lambert olambo...@gmail.com Git wouldn't let me create a branch of liftweb until I deleted and recreated my ssh keys - I believed all was good. I thought I was following the documentation, to create my own branch, which appeared to be correct on my machine. But, when I just pushed what I thought was my branch, I appear to have done something wrong. Any help (without curses) is greatly appreciated at this moment. cheers Oliver -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: git ouch
Oliver, But that's perfect! What's your problem? There is one LOCAL wip-ol-immu branch and one REMOTE. That's how it is expected to be for a branch you pushed. Heiko 2009/5/29 Oliver Lambert olambo...@gmail.com I got that list of commands wrong, what I typed, was git clone g...@github.com:dpp/liftweb.git git branch wip-ol-immu git checkout wip-ol-immu git push origin wip-ol-immu When I do a git branch -a, I get two wip-ol-immu master * wip-ol-immu origin/1.0_maint origin/HEAD origin/master origin/new_actor origin/wip-boolean-can origin/wip-dcb-derby-binary origin/wip-dcb-jpa-jta origin/wip-dcb-jpa-validation origin/wip-dcb-lift-jpa origin/wip-dpp-record origin/wip-marius-dom-optimizations origin/wip-ol-immu origin/wip-prettify origin/wip-record2-dpp On Fri, May 29, 2009 at 3:50 PM, Oliver Lambert olambo...@gmail.comwrote: When I look at the liftweb network graph, it looks like I'm working on the main liftweb master line and have renamed it. On Fri, May 29, 2009 at 3:38 PM, Derek Chen-Becker dchenbec...@gmail.com wrote: I just looked at Git and I show a proper branch there (wip-ol-immu) committed about 30 minutes ago. Are you seeing some error on your end? Derek On Thu, May 28, 2009 at 11:19 PM, Oliver Lambert olambo...@gmail.comwrote: Git wouldn't let me create a branch of liftweb until I deleted and recreated my ssh keys - I believed all was good. I thought I was following the documentation, to create my own branch, which appeared to be correct on my machine. But, when I just pushed what I thought was my branch, I appear to have done something wrong. Any help (without curses) is greatly appreciated at this moment. cheers Oliver -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: git ouch
Hm, never looked at those images before. But I guess it is OK. Heiko 2009/5/29 Oliver Lambert olambo...@gmail.com I have a problem with breaking a build on my first attempt of working with git. I'm happy if I haven't, but what was concerning me was in the included image (the network line looks like wip-ol-immu is directly next to master, rather than on a separate branch - if this is normal, Im happy) On Fri, May 29, 2009 at 4:22 PM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Oliver, But that's perfect! What's your problem? There is one LOCAL wip-ol-immu branch and one REMOTE. That's how it is expected to be for a branch you pushed. Heiko 2009/5/29 Oliver Lambert olambo...@gmail.com I got that list of commands wrong, what I typed, was git clone g...@github.com:dpp/liftweb.git git branch wip-ol-immu git checkout wip-ol-immu git push origin wip-ol-immu When I do a git branch -a, I get two wip-ol-immu master * wip-ol-immu origin/1.0_maint origin/HEAD origin/master origin/new_actor origin/wip-boolean-can origin/wip-dcb-derby-binary origin/wip-dcb-jpa-jta origin/wip-dcb-jpa-validation origin/wip-dcb-lift-jpa origin/wip-dpp-record origin/wip-marius-dom-optimizations origin/wip-ol-immu origin/wip-prettify origin/wip-record2-dpp -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Switch to Scala 2.7.5 for 1.1 ?
Hi, I wonder if we should switch to Scala 2.7.5. I do not know whether the actor fixes are relevant as Lift has got its own actor library now. But for users of the Scala IDE for Eclipse (like me) it might be beneficial, because the Scala IDE ships with 2.7.5. Cheers Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
Re: [scala] Re: [Lift] Programming in Scala #5, Lift Book #8, Beginning Scala #9
2009/6/9 Viktor Klang viktor.kl...@gmail.com Awesome idea. Would be great to establish some kind of curriculum with joint teaching material to be able to offer courses worldwide. +1 We have been doing something similar with Eclipse = www.eclipse-training.net And very recently we also started with courses on Scala and Lift, still flagged Eclipse Training Alliance. But we would like to go for some kind of world wide Scala Training network. What do you guys think? Interested? 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: Lift group created on LinkedIn
Cool!I just joined. Thanx Heiko 2009/6/10 Mark Baker markmbake...@gmail.com This morning I created a group on LinkedIn for Lift enthusiasts. I called it LiftWeb and here's the link to the group - http://www.linkedin.com/groups?gid=2017908. Hopefully this will build more interest in Lift and enable Lift people to meet. Thanks, Mark -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: On OSGi bundle mavens
OK, I spotted the issue and fixed it = BND (which is used internally by the Felix Bundle plug-in for Maven) is very special about resources to include in the JAR ... I will run some tests and then push the changes to the central repo. Heiko 2009/6/21 Josh Suereth joshua.suer...@gmail.com It sounds like an issue with either the javascript compressor library or the felix bundle library or the ordering of those plugins. Perhaps if I can get some free cycles, I'll investigate the culprit. On Sat, Jun 20, 2009 at 7:11 PM, Kjetil Valstadsve valstad...@gmail.comwrote: On Jun 20, 5:01 pm, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Of course I would like to stick to the more common approach described above. Maybe you want to take a look at the POMs and analyze if/how the Felix Bundle plug-in can pick the compressed JavaScript libraries? I was missing something, then - with Maven, there always is something, isn't there. I will certainly let you know if I stumble across the magic potion. Kjetil -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Relax test cases?
Hi, As I am travelling a lot I often use my MacBook Air for coding. This morning I ran into the following issue when trying to build Lift: --- Test set: net.liftweb.textile.TextileSpecTest --- Tests run: 19, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 5.803 sec FAILURE! A Textile Parse can Fast Time elapsed: 3.345 sec FAILURE! org.specs.runner.UserError: 3209 is not less than 3000 Would it be possible to relax this stuff? Or make it somehow configurable, e.g. via a system property very.slow.machine? Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Hudson not building?
ScalaModules is also not building and I do not know any reasons for that ... Heiko 2009/7/20 Timothy Perrett timo...@getintheloop.eu Hey Jeppe, Thats strange, i've just kicked off a hudson build manually, so we'll see if it works or not - i'll report back shortly Derek / DPP can you look into this? Cheers, tim On Jul 20, 12:03 pm, Jeppe Nejsum Madsen je...@ingolfs.dk wrote: Hi, It seems the latest Lift build onhttp:// hudson.scala-tools.org/job/Lift/is 10 days old, same with the jars inhttp:// scala-tools.org/repo-snapshots/net/liftweb/lift-webkit/1.1-SNA... Yet, many changes have been committed to github which I assume is the master? I didn't notice until I tried making a release build since I'm building lift from source in the dev env. /Jeppe -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: OSGi support for Lift
If you pack everything into one bundle, this approach will work. But then there is no real benefit from running on OSGi. What we really need is Lift apps made up from several bundles. And that will be still some work ... Heiko 2009/7/23 Kjetil Valstadsve valstad...@gmail.com The paxers (in the link above) seem to suggest that a compliant war will work with their WAR watchdog extender bundle, combined with (preferrably) the Pax Web HTTP Service. Has anyone tried this with a Lift app and succeeded? I don't feel like it's quite Spring-time on my projects yet, but if anyone has succeeded with that approach, please give a holler. Kjetil On Jun 10, 4:19 pm, Alex Boisvert boisv...@intalio.com wrote: Quick follow-up I've since discovered you can use the 'Webapp-Context:' manifest entry with PAX Web Extender and Spring dm Server to achieve this. http://wiki.ops4j.org/display/paxweb/WAR+Extenderhttp://jira.springframework.org/browse/OSGI-468 alex On Tue, May 12, 2009 at 12:48 PM, Alex Boisvert boisv...@intalio.com wrote: Alright, thanks for your help! I was mostly kicking the tires to get a taste for the upcoming OSGi integration. I guess my main feedback at this point is that it would be nice to map the app into a non-root context of Jetty. e.g.http://localhost:8080/examples-osgiinstead of directly underhttp://localhost:8080.This would make it possible to deploy several Lift apps onto the same OSGi container. alex On Tue, May 12, 2009 at 12:19 PM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hm, does not look good :-(Thanx for trying and please keep on! I have to deal with some build issues, and will take a look at that tomorrow. Heiko 2009/5/12 Alex Boisvert boisv...@intalio.com That was it. I pulled again from git and now I can start the examples-osgi app. However, one more nitpick... I can load index.htm but the snippet isn't rendered correctly because some resources can't be found. e.g. [5285...@qtp-20735553-0 - /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - getting resource: [/templates-hidden/default.htm] [5285...@qtp-20735553-0 - /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - found resource: null Is that normal? I can see the following displayed: pFrom a snippet: spanHi, I am a snippet from a Lift-powered OSGi bundle!/span/p but there's no surrounding html body ... /body /html so the browser complains. alex On Tue, May 12, 2009 at 11:24 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: When did you check out? I pushed again about one or two hours ago.From the log I can see that you use an old version of hello.composite. The new one should look like: scan-bundle:wrap:mvn:javax.mail/mail/1.4 scan-bundle:wrap:mvn:javax.activation/activation/1.1 ... The wrap: is important. Pax Runner will wrap vanilla JARs into OSGi bundles. Please pull again, that should help. Heiko 2009/5/12 Alex Boisvert boisv...@intalio.com Ok, I tried again based on your suggestion but I'm getting an error related to javax.mail:1.4 not being a valid bundle... - Preparing framework [Felix 1.6.0] - Downloading bundles... - mvn:javax.mail/mail/1.4 : 388864 bytes @ [ 471kBps ] s @ [ 498kBps ] ___ / / / / Oops, there has been a problem! / / /__/ org.ops4j.pax.runner.platform.PlatformException: [mvn:javax.mail/mail/1.4] is not a valid bundle ___ /__/ Use --log=debug to see details. To be sure, I wiped my M2 repo under javax/mail and retried but I'm getting the same error. Any idea? I'm attaching the full log in case it's helpful. alex On Tue, May 12, 2009 at 10:08 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi Alex, 2009/5/12 Alex Boisvert boisv...@intalio.com I downloaded and ran PAX runner, ./pax-run.sh --profiles=log,scala,felix.webconsole,web then installed the examples-osgi bundle, - install file:///home/boisvert/git/liftweb/sites/examples-osgi/hello/target/examples -osgi-hello-1.1-SNAPSHOT.jar Bundle ID: 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent INSTALLED start 9 - [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent RESOLVED [FelixDispatchQueue] DEBUG net.liftweb.examples-osgi-hello - BundleEvent STARTED OSGi support for Lift is implemented as extender in order to keep Lift core OSGi-agnostic. This means that there is a special add-on bundle (lift-osgi) which must be installed and started. It will watch all bundles if they are Lift-powered which means they have got a Lift-Config manifest entry. If so, these bundles will be delegated to for resource look-ups (templates) and also
[Lift] Re: Modularization of Lift code
Hi all, This is a very good discussion! As I am trying to provide OSGi support for Lift, I already encountered this booting/resolving issue. If we could go for OSGi-only this would be a straightforward task (like Stephen described), but we have to support both worlds: Static monolithic non-OSGi and dynamic modular OSGi. I have not yet come up with a solution (could someone please sell me some spare time) but I know for sure there have to be some major changes to resolving/classloading and static-ness (e.g. LiftRules only lets you add stuff, but OSGi requires stuff to be removed on stopping/uninstalling bundles again) if we want proper OSGi support. Any ideas/discussions are very welcome! Go on! Cheers Heiko 2009/7/29 stephen goldbaum stephen.goldb...@gmail.com Classpath management is one of OSGi's features. Another is dynamic service registry and dependency management. So following that route, the Lift framework would define an interface that exposes much of what is currently found in Boot. Modules (OSGi bundles) would create implementations of that interface and register them during startup (fortunately the details are usually handled automatically). Lift would also define a manager class that listens to the registry and does whatever bookkeeping is required when modules come and go. Eclipse RCP is a great example of this in action. Note that defining a framework on top OSGi can also be a slippery slope. RCP is a good example of that as well; it's an extensive framework on top of OSGi. So, the question is whether it's worth turning what is currently a straightforward boot process into something that is more modular though more complicated. If so, a good first step would be to define that manager class and interface since these could be wired together by any means (Scala, OSGi, Spring, etc.) without necessarily branching too far. I can take a look if you all think it's worth it (and if Heiko hasn't already). -Stephen -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Modularization of Lift code
Arthur, Thanx for sharing your experiences! Please find my comments below ... Heiko 2009/7/29 Arthur avand...@gmail.com Hi all I'm completely new to Lift (and Scala) so I'm not yet very familiar with the Lift-specific needs regarding modularization. But I just come from an OSGi project and would like to share two experiences I've had: * Usually OSGi handles classloading very well. Where you can run into problems is when third-party libraries do their own classloading wizardry. I've spent quite some time hunting down exceptions like java.lang.Object Class Not Found. There are solutions and workarounds for such problems. (The most important ones would be passing along the classloader of the current thread to a library doing its own classloading stuff, importing more classes from that library in case of broken classloading chains and using the bootdelegation runtime parameter of the OSGi framework.) How well these would work in combination with Lift and Scala I don't know. I am very focussed on Lift being a good OSGi citizen! Hence Lift itself shall use OSGi properly without workarounds. There will be enough of them for third-party libs ... * People have grown tired of keeping manually track of OSGi services and bundles by subscribing to the service registry or by using a ServiceTracker. Several solutions exist to automatically keep track of dependencies and dynamically start and stop bundles. The one I've used are OSGi's own Declarative Services. But there exist several other solutions to look at: Eclipse Extensions, Spring-OSGi, iPOJO and possibly more. I've chosen Declarative Services because they are part of the OSGi Service Compendium and seem to be comparatively lightweight, but everything else probably would have worked just as well. Internally I am planning to use the OSGi API or better ScalaModules ( www.scalamodules.org), in order to keep the footprint small and avoid bugs from DS, DM, etc. But of course people can use any declarative approach for their bundles. I do like OSGi because I think it adds modularization functionality to Java which it has really been missing. Whether it's the right tool to use for Lift I gladly let the Lift cracks decide. I clearly don't know. I hope this was at least tangentially helpful. Cheers Arthur On Wed, Jul 29, 2009 at 8:33 AM, Heiko Seebergerheiko.seeber...@googlemail.com wrote: Hi all, This is a very good discussion! As I am trying to provide OSGi support for Lift, I already encountered this booting/resolving issue. If we could go for OSGi-only this would be a straightforward task (like Stephen described), but we have to support both worlds: Static monolithic non-OSGi and dynamic modular OSGi. I have not yet come up with a solution (could someone please sell me some spare time) but I know for sure there have to be some major changes to resolving/classloading and static-ness (e.g. LiftRules only lets you add stuff, but OSGi requires stuff to be removed on stopping/uninstalling bundles again) if we want proper OSGi support. Any ideas/discussions are very welcome! Go on! Cheers Heiko 2009/7/29 stephen goldbaum stephen.goldb...@gmail.com Classpath management is one of OSGi's features. Another is dynamic service registry and dependency management. So following that route, the Lift framework would define an interface that exposes much of what is currently found in Boot. Modules (OSGi bundles) would create implementations of that interface and register them during startup (fortunately the details are usually handled automatically). Lift would also define a manager class that listens to the registry and does whatever bookkeeping is required when modules come and go. Eclipse RCP is a great example of this in action. Note that defining a framework on top OSGi can also be a slippery slope. RCP is a good example of that as well; it's an extensive framework on top of OSGi. So, the question is whether it's worth turning what is currently a straightforward boot process into something that is more modular though more complicated. If so, a good first step would be to define that manager class and interface since these could be wired together by any means (Scala, OSGi, Spring, etc.) without necessarily branching too far. I can take a look if you all think it's worth it (and if Heiko hasn't already). -Stephen -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en
[Lift] Re: Modularization of Lift code
Just a quick and dirty reply: In order to get OSGi support LiftRules should delegate *everything* to a Collection of LiftModules. LiftModules can be added to and removed from this collection anytime. Heiko 2009/7/29 Timothy Perrett timo...@getintheloop.eu Ryan, I agree with you for the most part - certainly making it explicit would be my preference also. Im not 100% sure that we would need to replicate all the LiftRules functionality as a trait for plugins, as that's just one aspect of how a plugin could change the environment. Your point about making the developer aware what the plugin actually did is a good one though - no one likes black boxes. Perhaps the plugin developer would need to implement some kind of descriptor trait... Meaning that their actual code just uses the normal LiftRules infrastructure, but during the loading process perhaps just Log.debug it to death showing exactly how the environment has been modified or something? Just spitballing... Cheers, Tim On 29/07/2009 12:31, Ryan Donahue donahu...@gmail.com wrote: -1 for adding modules by dropping in a jar Suppose the jar supplies multiple Lift modules and I only want to use one, or suppose I want to use some other class in the jar and don't want to use any of its Lift modules. Adding a module to a Lift app really should be an explicit action by the developer, closer to what Tim does by putting MyModule.init in Boot. However, this does have a couple shortcomings: (1) Does not provide a mechanism for supplying templates in the module and (2) Hides the LiftRules additions from the developer which could result in confusion when troubleshooting (did this module prepend or append to dispatch? which module's dispatchers are executing first? etc.) So what about putting something like this in Boot: LiftRules.modules.append(MyModule) or LiftRules.modules.prepend(new MyModule) where MyModule extends LiftModule and LiftModule is a trait like: trait LiftModule { /* * Specify where to search for snippets, views, etc */ def lookupPackage : String /* * Specify where to search for templates */ def templates : Box[String] // or maybe this has a nice default value /* * Override this to provide LoanWrappers that will be added by S.addAround */ def SWrappers : List[LoanWrapper] = List() /* * Override this to provide dispatchers that will be added by * LiftRules.dispatch.append */ def dispatchers : List[LiftRules.DispatchPF] = List() /* * Override this to provide dispatchers that will be added by * LiftRules.statelessDispatchTable.append */ def statelessDispatchers : List[LiftRules.DispatchPF] = List() // Etc. Basically there would be an overrideable method for each type of // thing you can add to LiftRules with nice defaults where possible. A module // developer only overrides the methods needed for their module. } On Jul 28, 4:18 pm, Naftoli Gugenheim naftoli...@gmail.com wrote: The first suggestion was reflection... I'm not pushing the idea, just throwing in an alternative. But the xml route doesn't have to be xml--it could be a plain text file like /META-INF/.liftboot etc. Or you could search all jars for net.liftweb.BootXX or net.liftweb.XX that implements a trait OnBoot... The point is, there's no shortage of ways (if there's a will :) ) but they all have a certain cost of course. Dynamic loading _means_ searching for Something. That takes time, and it puts some requirement on the library author--but it takes the requirement off the user. - Timothy Perretttimo...@getintheloop.eu wrote: Hey Naftoli, Lift has a general aversion to xml configs... Is there another route? Cheers, Tim On 28/07/2009 20:47, Naftoli Gugenheim naftoli...@gmail.com wrote: What I was suggesting is that instead of having to write Lib.init in Boot, Lift should look in Lib.jar for say /boot.xml which would tell Lift to execute Lib.init for you on startup. I think that would accomplish what you want, at the cost of lift searching through the jars. -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Modularization of Lift code
Sounds good! Any ideas how class lookups (snippets at least) could be delegated to various modules. Currently Lift is using the *global* classpath in a fashion that makes it really hard / impossible for OSGi. Heiko 2009/7/29 Ryan Donahue donahu...@gmail.com More spitballing... Tim, I really don't know which LiftRules stuff would need to be included. For other types of environment changes, the trait could have onLoad and onUnload methods. Heiko, Maybe it is possible to make such a change without breaking API, though I am still fairly new to Lift and not at all familiar enough with LiftRules yet. All the LiftRules public methods could simply manipulate a default internal LiftModule that is always in LiftRules.modules. These are probably big changes, but I see great benefit to well- defined modules. It would facilitate sharing functionality with each other. Could even set up a LiftModule site where you can share and find modules. -Ryan On Jul 29, 7:55 am, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Just a quick and dirty reply: In order to get OSGi support LiftRules should delegate *everything* to a Collection of LiftModules. LiftModules can be added to and removed from this collection anytime. Heiko 2009/7/29 Timothy Perrett timo...@getintheloop.eu Ryan, I agree with you for the most part - certainly making it explicit would be my preference also. Im not 100% sure that we would need to replicate all the LiftRules functionality as a trait for plugins, as that's just one aspect of how a plugin could change the environment. Your point about making the developer aware what the plugin actually did is a good one though - no one likes black boxes. Perhaps the plugin developer would need to implement some kind of descriptor trait... Meaning that their actual code just uses the normal LiftRules infrastructure, but during the loading process perhaps just Log.debug it to death showing exactly how the environment has been modified or something? Just spitballing... Cheers, Tim On 29/07/2009 12:31, Ryan Donahue donahu...@gmail.com wrote: -1 for adding modules by dropping in a jar Suppose the jar supplies multiple Lift modules and I only want to use one, or suppose I want to use some other class in the jar and don't want to use any of its Lift modules. Adding a module to a Lift app really should be an explicit action by the developer, closer to what Tim does by putting MyModule.init in Boot. However, this does have a couple shortcomings: (1) Does not provide a mechanism for supplying templates in the module and (2) Hides the LiftRules additions from the developer which could result in confusion when troubleshooting (did this module prepend or append to dispatch? which module's dispatchers are executing first? etc.) So what about putting something like this in Boot: LiftRules.modules.append(MyModule) or LiftRules.modules.prepend(new MyModule) where MyModule extends LiftModule and LiftModule is a trait like: trait LiftModule { /* * Specify where to search for snippets, views, etc */ def lookupPackage : String /* * Specify where to search for templates */ def templates : Box[String] // or maybe this has a nice default value /* * Override this to provide LoanWrappers that will be added by S.addAround */ def SWrappers : List[LoanWrapper] = List() /* * Override this to provide dispatchers that will be added by * LiftRules.dispatch.append */ def dispatchers : List[LiftRules.DispatchPF] = List() /* * Override this to provide dispatchers that will be added by * LiftRules.statelessDispatchTable.append */ def statelessDispatchers : List[LiftRules.DispatchPF] = List() // Etc. Basically there would be an overrideable method for each type of // thing you can add to LiftRules with nice defaults where possible. A module // developer only overrides the methods needed for their module. } On Jul 28, 4:18 pm, Naftoli Gugenheim naftoli...@gmail.com wrote: The first suggestion was reflection... I'm not pushing the idea, just throwing in an alternative. But the xml route doesn't have to be xml--it could be a plain text file like /META-INF/.liftboot etc. Or you could search all jars for net.liftweb.BootXX or net.liftweb.XX that implements a trait OnBoot... The point is, there's no shortage of ways (if there's a will :) ) but they all have a certain cost of course. Dynamic loading _means_ searching for Something. That takes time, and it puts some requirement on the library author--but it takes the requirement off the user. - Timothy
[Lift] Re: Modularization of Lift code
Glenn, We have got OSGi support on the roadmap for 1.1, hence IMHO this has to be addressed right now. Heiko 2009/7/29 glenn gl...@exmbly.com This discussion has gotten beyond a simple solution for Lift plugins. Most Lift apps now don't use OSGi, and modularization means something different in a non-OSGi environment. For one thing, it's not dynamic. You still have to code to use the new module. A well-mannered Lift/OSGi marriage is a good thing, where modularization is the rule, not the exception, but that doesn't take the place of statically dropping in code/jars during development. That is what needs to be addressed foremost, I think. Glenn... On Jul 29, 4:55 am, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Just a quick and dirty reply: In order to get OSGi support LiftRules should delegate *everything* to a Collection of LiftModules. LiftModules can be added to and removed from this collection anytime. Heiko 2009/7/29 Timothy Perrett timo...@getintheloop.eu Ryan, I agree with you for the most part - certainly making it explicit would be my preference also. Im not 100% sure that we would need to replicate all the LiftRules functionality as a trait for plugins, as that's just one aspect of how a plugin could change the environment. Your point about making the developer aware what the plugin actually did is a good one though - no one likes black boxes. Perhaps the plugin developer would need to implement some kind of descriptor trait... Meaning that their actual code just uses the normal LiftRules infrastructure, but during the loading process perhaps just Log.debug it to death showing exactly how the environment has been modified or something? Just spitballing... Cheers, Tim On 29/07/2009 12:31, Ryan Donahue donahu...@gmail.com wrote: -1 for adding modules by dropping in a jar Suppose the jar supplies multiple Lift modules and I only want to use one, or suppose I want to use some other class in the jar and don't want to use any of its Lift modules. Adding a module to a Lift app really should be an explicit action by the developer, closer to what Tim does by putting MyModule.init in Boot. However, this does have a couple shortcomings: (1) Does not provide a mechanism for supplying templates in the module and (2) Hides the LiftRules additions from the developer which could result in confusion when troubleshooting (did this module prepend or append to dispatch? which module's dispatchers are executing first? etc.) So what about putting something like this in Boot: LiftRules.modules.append(MyModule) or LiftRules.modules.prepend(new MyModule) where MyModule extends LiftModule and LiftModule is a trait like: trait LiftModule { /* * Specify where to search for snippets, views, etc */ def lookupPackage : String /* * Specify where to search for templates */ def templates : Box[String] // or maybe this has a nice default value /* * Override this to provide LoanWrappers that will be added by S.addAround */ def SWrappers : List[LoanWrapper] = List() /* * Override this to provide dispatchers that will be added by * LiftRules.dispatch.append */ def dispatchers : List[LiftRules.DispatchPF] = List() /* * Override this to provide dispatchers that will be added by * LiftRules.statelessDispatchTable.append */ def statelessDispatchers : List[LiftRules.DispatchPF] = List() // Etc. Basically there would be an overrideable method for each type of // thing you can add to LiftRules with nice defaults where possible. A module // developer only overrides the methods needed for their module. } On Jul 28, 4:18 pm, Naftoli Gugenheim naftoli...@gmail.com wrote: The first suggestion was reflection... I'm not pushing the idea, just throwing in an alternative. But the xml route doesn't have to be xml--it could be a plain text file like /META-INF/.liftboot etc. Or you could search all jars for net.liftweb.BootXX or net.liftweb.XX that implements a trait OnBoot... The point is, there's no shortage of ways (if there's a will :) ) but they all have a certain cost of course. Dynamic loading _means_ searching for Something. That takes time, and it puts some requirement on the library author--but it takes the requirement off the user. - Timothy Perretttimo...@getintheloop.eu wrote: Hey Naftoli, Lift has a general aversion to xml configs... Is there another route? Cheers, Tim On 28/07/2009 20:47, Naftoli Gugenheim naftoli...@gmail.com wrote: What I was suggesting is that instead of having to write Lib.init in Boot
[Lift] Converting from HTML form values to numeric MappedFields
Hi, I have got a Mapper with a numeric MappedField (let's say Int). What is the best way to convert and validate from a HTML form? Obviously the following won't work: Mapper: class Course extends LongKeyedMapper[Course] with IdPK { override def getSingleton = Course object title extends MappedString(this, 50) object duration extends MappedInt(this) } Snippet: ... Helpers.bind(course, content, title - SHtml.text(course.title.is, course.title(_)), duration - SHtml.text(course.duration.is, course.duration(_)), ... Thanx Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Exception for S.? while booting
Hi, When I try to use internationalization via S.? in a Mapper class, I get the below exception while booting Lift. It seems that S._resBundle is null when Schemifier tries to do its work. Is this a bug or a feature (S must not be used outside the request life cycle). If last, how to i18n then? Thanx Heiko 0 [main] ERROR lift - Failed to Boot java.lang.ExceptionInInitializerError at bootstrap.liftweb.Boot.boot(Boot.scala:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:408) at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406) at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096) at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096) at net.liftweb.util.Full.map(Box.scala:330) at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1096) at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:560) at net.liftweb.http.LiftFilter.init(LiftServlet.scala:534) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:653) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466) at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:222) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132) at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441) at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383) at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210) at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137) at org.apache.maven.cli.MavenCli.main(MavenCli.java:356) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at net.liftweb.mapper.MetaMapper$$anonfun$27$$anonfun$apply$22.apply(MetaMapper.scala:869) at
[Lift] Re: Exception for S.? while booting
I would like to internationalize my code. Something like: Mapper class: class Course extends LongKeyedMapper[Course] with IdPK { ... override val validations = valMinLen(3, ?(minLen, 3)) _ :: valMaxLen(50, ?(maxLen, 50)) _ :: Nil } Localized messages: minLen=At least %s characters required! maxLen=At most %s characters allowed! Thanx Heiko 2009/8/4 marius d. marius.dan...@gmail.com S lifetime is per request. S is not constructed on Boot. Could you post a code snippet on what you're trying to achieve? Br's, Marius On Aug 4, 12:43 pm, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi, When I try to use internationalization via S.? in a Mapper class, I get the below exception while booting Lift. It seems that S._resBundle is null when Schemifier tries to do its work. Is this a bug or a feature (S must not be used outside the request life cycle). If last, how to i18n then? Thanx Heiko 0 [main] ERROR lift - Failed to Boot java.lang.ExceptionInInitializerError at bootstrap.liftweb.Boot.boot(Boot.scala:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:408) at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406) at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096) at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096) at net.liftweb.util.Full.map(Box.scala:330) at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1096) at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:560) at net.liftweb.http.LiftFilter.init(LiftServlet.scala:534) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:653) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466) at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:222) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132) at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441) at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383) at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210) at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137) at org.apache.maven.cli.MavenCli.main(MavenCli.java:356) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke
[Lift] Re: Converting from HTML form values to numeric MappedFields
Ah, MappedFields know how to make themselves to form fields. Very nice! Next question: Now I can enter some characters into the MappedInt field and will get a 0 (zero) on form submission. But that is not what I want. I would like to show a validation message (FieldError). Any chances to hook into the conversion? Heiko 2009/8/4 David Pollak feeder.of.the.be...@gmail.com Why not use title - (title.toForm openOr NodeSeq.Empty) ? On Mon, Aug 3, 2009 at 7:23 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi, I have got a Mapper with a numeric MappedField (let's say Int). What is the best way to convert and validate from a HTML form? Obviously the following won't work: Mapper: class Course extends LongKeyedMapper[Course] with IdPK { override def getSingleton = Course object title extends MappedString(this, 50) object duration extends MappedInt(this) } Snippet: ... Helpers.bind(course, content, title - SHtml.text(course.title.is, course.title(_)), duration - SHtml.text(course.duration.is, course.duration(_)), ... Thanx Heiko -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net -- 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 -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Exception for S.? while booting
def can be overridden with val. But this is a Scala thingy, please do not bother. If it makes you easier replace val with def. The question remains: How can i18n be done in stateless (request state) cases? 2009/8/5 marius d. marius.dan...@gmail.com I thought validations is a function not a val: override val validations should probably be override def validations ? or override lazy val validations ? Br's, Marius On Aug 5, 7:48 am, Heiko Seeberger heiko.seeber...@googlemail.com wrote: I would like to internationalize my code. Something like: Mapper class: class Course extends LongKeyedMapper[Course] with IdPK { ... override val validations = valMinLen(3, ?(minLen, 3)) _ :: valMaxLen(50, ?(maxLen, 50)) _ :: Nil } Localized messages: minLen=At least %s characters required! maxLen=At most %s characters allowed! Thanx Heiko 2009/8/4 marius d. marius.dan...@gmail.com S lifetime is per request. S is not constructed on Boot. Could you post a code snippet on what you're trying to achieve? Br's, Marius On Aug 4, 12:43 pm, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi, When I try to use internationalization via S.? in a Mapper class, I get the below exception while booting Lift. It seems that S._resBundle is null when Schemifier tries to do its work. Is this a bug or a feature (S must not be used outside the request life cycle). If last, how to i18n then? Thanx Heiko 0 [main] ERROR lift - Failed to Boot java.lang.ExceptionInInitializerError at bootstrap.liftweb.Boot.boot(Boot.scala:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:408) at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406) at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096) at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096) at net.liftweb.util.Full.map(Box.scala:330) at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1096) at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:560) at net.liftweb.http.LiftFilter.init(LiftServlet.scala:534) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:653) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466) at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:222) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132) at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441) at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383) at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210) at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523
[Lift] Re: Exception for S.? while booting
Ah, yes!Sorry, I did not get the point, but obviously the val is to be blamed ;-) Now it's running, thanx!!! Heiko 2009/8/5 marius d. marius.dan...@gmail.com I'm aware about the override thing but I don't see why you would do it in such way. Since you don't have state, you don't have a session = you don't have S. Are you using a statelesDispatchPf ? You can do: 1. Use your own ResourceBundles 2. Or a hacky thingy like: val session = LiftRules.getLiftSession(request, httpRequest) S.initIfUninitted(session) { // Now you should be able to call call S.?(...) } Localization is bound to state as ResourceBundles You exception thrown in Boot probably was cause because you used a val and it obviously tried to initialize it. Using a def or lazy val it would be evaluated properly upon requests. Typically S.? is used in the context of page rendering, Ajax functions processing, DispatchPF. All these are executed in a stateful context where S is available. To process pure stateless requests you have LiftRules.statelessDispatchTable, and a few request processing hooks ... but do you really need those? Do you have a usecase when you want to process a pure stateless requests and need Lift's localization? Br's, Marius On Aug 5, 8:50 am, Heiko Seeberger heiko.seeber...@googlemail.com wrote: def can be overridden with val. But this is a Scala thingy, please do not bother. If it makes you easier replace val with def. The question remains: How can i18n be done in stateless (request state) cases? 2009/8/5 marius d. marius.dan...@gmail.com I thought validations is a function not a val: override val validations should probably be override def validations ? or override lazy val validations ? Br's, Marius On Aug 5, 7:48 am, Heiko Seeberger heiko.seeber...@googlemail.com wrote: I would like to internationalize my code. Something like: Mapper class: class Course extends LongKeyedMapper[Course] with IdPK { ... override val validations = valMinLen(3, ?(minLen, 3)) _ :: valMaxLen(50, ?(maxLen, 50)) _ :: Nil } Localized messages: minLen=At least %s characters required! maxLen=At most %s characters allowed! Thanx Heiko 2009/8/4 marius d. marius.dan...@gmail.com S lifetime is per request. S is not constructed on Boot. Could you post a code snippet on what you're trying to achieve? Br's, Marius On Aug 4, 12:43 pm, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi, When I try to use internationalization via S.? in a Mapper class, I get the below exception while booting Lift. It seems that S._resBundle is null when Schemifier tries to do its work. Is this a bug or a feature (S must not be used outside the request life cycle). If last, how to i18n then? Thanx Heiko 0 [main] ERROR lift - Failed to Boot java.lang.ExceptionInInitializerError at bootstrap.liftweb.Boot.boot(Boot.scala:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:408) at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406) at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096) at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096) at net.liftweb.util.Full.map(Box.scala:330) at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1096) at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:560) at net.liftweb.http.LiftFilter.init(LiftServlet.scala:534) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:653) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466) at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java
[Lift] Re: XHTML gotchas
+1 for W3C validations: I feel more comfortable with valid code than with invalid which somehow runs on (some) browsers. Heiko 2009/8/26 David Pollak feeder.of.the.be...@gmail.com Folks, I've been working on the XHTML validation stuff for Lift. Basically, you can, in dev mode, turn on validation and you'll get an error box at the bottom of each screen that has a validation error as well as an error in the console. I've found that a fair number of constructs that work in browsers fail validation. For example: divspanform.../form/span/div fails validation (no blocks in a span and form is a block). form input /form fails validation (sub-tags of form must be blocks.) Is this right? Is it worthwhile to add W3C validation when these constructs are allowed by browsers? 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 -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: who can give me some case?
A Swiss job portal is about to. Cheers Heiko On Monday, August 31, 2009, Margaret mawei...@gmail.com wrote: who are using lift web now? - mawei...@gmail.com 13585201588 http://maweis.com -- My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: www.scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Lift and Cappuccino integration... a first step
Very exciting! 2009/9/4 David Pollak feeder.of.the.be...@gmail.com Folks, Hearkening back to my NextStep days, I took a dive into Cappuccino today. Yep... Obj-J is just like Obj-C and Cappuccino faithfully captures AppKit goodness. I've integrated Lift with Cappuccino. The integration points are as follows: 1. A Lift application serves the Cappuccino application. This means that one could mix a web style Lift based app with a could of app style Cappuccino-based application pages. 2. Cappuccino can initiate calls to Lift via Ajax. The call from Cap looks like: performAjaxCall([input stringValue]); where there's been a binding a Lift JSON message handler to the performAjaxCall function. The binding looks like: Script( Function(performAjaxCall, List(param), JsonVar.is._1(hello, JsVar(param))) JsonVar.is._2) 3. Lift can initiate calls into a Cappuccino app via Lift's Comet support. Here's the Lift code that's necessary to create a clock that ticks every 3 seconds in the Cap app: override def highPriority = { case 'Ping = partialUpdate(currentTime) ActorPing.schedule(this, 'Ping , 3 seconds) } def currentTime: JsCmd = JsRaw(clockCallback(+(+now).encJs+);) Plus the following line that must appear in the page that contains the Cap app: lift:comet type=Clock/ A running version of the Lift/Cappuccino integrated app can be found at http://frothy.liftweb.net/ The source can be found at http://github.com/dpp/Frothy/tree/master (please don't laugh at/vomit on my ObjJ code... it's been 15 years since I did ObjC). 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 -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Include jquery.js script
With the current snapshot one has to explicitly add script type=text/javascript src=/classpath/jquery.js / to the templates. Was this not automatically included formerly? Cheers, Heiko My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Include jquery.js script
Fine for me. Let's keep things as they are. Heiko 2009/9/11 David Pollak feeder.of.the.be...@gmail.com A long time ago (pre 1.0) Lift automatically inserted the jQuery stuff if it was not on the page. It would increase the complexity of the head re-writer to do this and it would make Lift appear more jQuery oriented, so I'd prefer to not add this feature. Cheers, Tim On 11 Sep 2009, at 15:54, Heiko Seeberger wrote: Don't get me wrong: I thought that it was added to the head section automatically, like script type=text/javascript src=/ajax_request/liftAjax.js/ script This would mean that it need not be included in any template. Heiko 2009/9/11 Timothy Perrett timo...@getintheloop.eu Errr, thats always been the case, no? It is in the default archetypes for as long as I care to remember :-) Cheers, Tim On 11 Sep 2009, at 14:45, Heiko Seeberger wrote: With the current snapshot one has to explicitly add script type=text/javascript src=/classpath/jquery.js / to the templates. Was this not automatically included formerly? Cheers, Heiko My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- 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: Nested binding
Jose, please take it from here: http://wiki.github.com/dpp/liftweb/how-to-binding-view-content-to-code Cheers, Heiko 2009/9/14 José María josemariar...@gmail.com Hi, I want to render the content of some tables one after another: table 1 data table 2 data table 3 data I want to separate the XHTML from the code, so I'm trying to use binding. My problem is that each table is rendered with the same XHTML template, as every row. If I use bind to bind the tables: lift:mysnippet.tables /lift:mysnippet.tables What can I do to bind the rows inside this snippet so I can render them? This is what I tried/want/expect: lift:mysnippet.tables table:name/ table:rows? row:name?? /table:rows ? /lift:mysnippet.tables Best regards. -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Nested binding
Jose, Please use - instead of -- The latter is deprecated and seems to do weird things ;-) Cheers, Heiko 2009/9/14 José María josemariar...@gmail.com That's what I need Heiko!! But I've another problem, the following code: def estante1 (xhtml : NodeSeq ) : NodeSeq = this.estante(xhtml, Peluches, List(180L,34L,55L) ) def estante (xhtml: NodeSeq, nombre: String, listaProductos : List [Long]) : NodeSeq = { bind(estante, xhtml, nombre -- nombre, productos -- listaProductos.flatMap( id = Producto.find(id) match { case Full(producto) = bind(p, chooseTemplate(producto,datos,xhtml), nombre -- producto.nombre) case _ = NodeSeq.Empty })) } Applied to: lift:estantes.estante1 div class=Estante h3estante:nombre//h3 ul estante:productos producto:datos p:nombre/ /producto:datos /estante:productos /ul /div /lift:estantes.estante1 Generates this xhtml: div class=Estante h3Peluches/h3 ul List( , Peluche de la E. Coli (Escherichi Coli), , , Peluche del Resfriado común (Rhinovirus), , , Peluche de la Sífilis (Treponema pallidum), ) /ul /div Looks like a serialization of the NodeSeq, as if it doesn't concat the nodes. Cheers On Sep 14, 12:48 pm, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Jose, please take it from here: http://wiki.github.com/dpp/liftweb/how-to-binding-view-content-to-code Cheers, Heiko 2009/9/14 José María josemariar...@gmail.com Hi, I want to render the content of some tables one after another: table 1 data table 2 data table 3 data I want to separate the XHTML from the code, so I'm trying to use binding. My problem is that each table is rendered with the same XHTML template, as every row. If I use bind to bind the tables: lift:mysnippet.tables /lift:mysnippet.tables What can I do to bind the rows inside this snippet so I can render them? This is what I tried/want/expect: lift:mysnippet.tables table:name/ table:rows? row:name?? /table:rows ? /lift:mysnippet.tables Best regards. -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Breaking changes in CometActor code vs. continuing instabilities in Scala Actors
Of course in a perfect world we would like to use the perfect EPFL actors. But as know the world, well at least EPFL actors, are not perfect. By the way: Scala is a lot about libraries, hence IMHO it is OK if Lift uses it's own approach for actors. = Let's go for lift-actor, if possible abstracted to common interfaces to swap in others like Akka Heiko 2009/9/16 David Pollak feeder.of.the.be...@gmail.com On Wed, Sep 16, 2009 at 7:50 AM, Timothy Perrett timo...@getintheloop.euwrote: Kevin, To clarify, your talking about akka-actors? The preferred route I think would be to use a fixed EPFL implementation, however, in leu of that i think from a project perspective it would be beneficial for lift to have a corrected actor implementation that we have direct control of. I know DPP would certainly have this be his preference despite Jonas, Viktor and myself being commiters on both projects :-) Bottom line here is that we need this fixed, asap and the path of least resistance is to use lift-actor until EPFL fix the core actor code. If we make the change, we're not switching back. If EPFL wants to make their Actors conform to a common Akka/Lift interface, that would allow them to be used, but otherwise, if we go down this path I'm not messing with EPFL Actors anymore. Cheers, Tim On 16 Sep 2009, at 14:27, Kevin Wright wrote: 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 -- 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] How to bind preserving element contents?
Hi, I would like to bind the following part form a template: question:row tdquestion:edit/nbsp;question:delete//td tdquestion:id//td tdquestion:text//td tdquestion:answers//td /question:row The result should be a table row like that: tr id=someId td.../td ... /tr So in this case I want to replace the row-element itself (and add an attribute value), but the contents (children) of the row-element must be preserved! How can this be accomplished? Thank you! Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: How to bind preserving element contents?
Ross, I tries this yesterday and it did not work, but i must have been too tired and screwed things up, because of course this is the way to go. By the way: It has to be flatMap ;-) Thanks Heiko 2009/9/18 Ross Mellgren dri...@gmail.com Oh I put in foreach, I should have said map ( questions.map(q = ...{ ) -Ross On Sep 18, 2009, at 11:35 AM, Ross Mellgren wrote: Well I'm not sure what ID you want, but how about bind(question, xhtml, ... row - { (ns: NodeSeq) = questions.foreach(q = { tr id=someId{ bind(question, ns, id - q.id, ...) }/tr } }) I'm presuming here that question:row will generate multiple rows, one for each question, but I'm not sure from your example. -Ross On Sep 18, 2009, at 3:05 AM, Heiko Seeberger wrote: Hi, I would like to bind the following part form a template: question:row tdquestion:edit/nbsp;question:delete//td tdquestion:id//td tdquestion:text//td tdquestion:answers//td /question:row The result should be a table row like that: tr id=someId td.../td ... /tr So in this case I want to replace the row-element itself (and add an attribute value), but the contents (children) of the row-element must be preserved! How can this be accomplished? Thank you! Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ 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
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: [Lift committers] Welcome Indrajit Raychaudhuri to the Lift Committers
Jeppe, If you are not using Maven, you certainly have to provide any information your build system needs. But why would you want to bother about the POMs then? They are Maven-specific and of no interest for other build systems. Or am I missing something? Heiko On Thursday, September 24, 2009, Jeppe Nejsum Madsen je...@ingolfs.dk wrote: Heiko Seeberger heiko.seeber...@googlemail.com writes: 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. Looking at the doc to maven-scala-plugin, I can see how it can just use the compiler version matching whatever scala-library is declared as dependency. This makes the above a working solution for maven. As I wrote, it doesn't completely solve the problem with e.g. gradle. Just because a compile-time dependency is declared to e.g. scala-library.jar:2.7.5 doesn't mean that my source files are compiled with scala-compiler:2.7.5. In gradle, the scala plugin uses whateever jars are defined in the scalaTools classpath. I think that buildr uses the scalac defined in $SCALA_HOME. Not sure about SBT. 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. Agreed, but non-maven users would still have to specify the version of scala needed to compile your own project (which should match the version used for Lift). All in all, I think making scala-library a dependency of lift is a good idea, but doesn't free you (well, me anyway :-) from specifying which scala version is used in your project. /Jeppe -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: [Lift committers] Welcome Indrajit Raychaudhuri to the Lift Committers
Jeppe, Many other build systems (Ivy, Gradle, SBT, buildr) etc. can use a Maven repository to resolve dependencies and hence use the POMs from the repo. Ah, now I see your point ;-) I'm not using maven so don't know how the POM in the repo gets generated, but somehow thought the proposal would modify the content of the POMs in the maven repo. Yes, it will! Since my knowledge of maven is limited, I could be mistaken here :-) If that's the case, then sorry for the confusion No problem! My knowledge of Ivy and SBT is very limited and I do not know Gradle at all. But if these are able to consume and fully understand Maven POMs they should be cool about the changes, at least in theory. Why not put it to the test? Of course in a working branch! And then look for workarounds if there should be issues? 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: RFC: Restructuring Lift Codebase
Indrajit, Impressive work! See my comments below ... Heiko 2009/9/27 Indrajit Raychaudhuri indraj...@gmail.com [A] lift-* prefix looks superfluous, but it's best to have one for all artifacts that generate jar (packagingjar/packaging). Also Maven reactor feels happier when artifactId == directory_name (site generation, scm extrapolation etc., situation might have improved now). Let's keep it! [B] The top level project categories (lift-core, lift-persistence, lift-modules etc.) are simple multi-module models at the moment and not meant to create anything other than pom. Therefore, lift-* prefix can go away. But they'll have to come back if we plan to generate 'one jar' in assembly mode per category (lift-core-all.jar, lift- persistence-all.jar etc.). This could be useful for 'get me everything, I don't care about size' people. But is it necessary? The alternative is to have empty 'meta modules' that pull up the necessary dependencies and can be included by the users in their project (quite similar to what lift-core does now). Again, let's keep the prefix, because for Lift users not using Maven these *-all.jars will be valuable. [D] Presentations and other materials aren't really source code for inclusion in source repository. Can this go in wiki? (immediate problem: github doesn't take attachment). Has this been discussed earlier? They can go as a separate github project too. GitHub's Wiki or Downloads are not well suited for these materials. I tried myself for ScalaModules and it was frustrating. Therefore I think keeping them in the repository in a separate folder which of course in not a Maven module is a pragmatic solution. [F] The modules in a category can be further sub-grouped, but with caution. Basically, need the right mix between 'flat'-ness and deep nesting. Thoughts on this? Let's not go deeper right now. -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Removing Scala Actors from Lift
Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Surf the harmonics -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Surf the harmonics -- Jonas Bonér twitter: @jboner blog:http://jonasboner.com work: http://crisp.se work: http://scalablesolutions.se code: http://github.com/jboner code: http://akkasource.org -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Override the display names for (Mega)ProtoUser
Hi, It is not possible to localize or override the display names for (Mega)ProtoUser's first name, last name and time zone. This is because it is determined by ??(First Name) and analogous, with First Name (with a blank) not a valid key for a PropertyResourceBundle. Am I missing something? Or should I file a bug? Heiko My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Override the display names for (Mega)ProtoUser
Jeppe, You are my hero ;-) Thanks, Heiko 2009/10/6 Jeppe Nejsum Madsen je...@ingolfs.dk Heiko Seeberger heiko.seeber...@googlemail.com writes: Hi, It is not possible to localize or override the display names for (Mega)ProtoUser's first name, last name and time zone. This is because it is determined by ??(First Name) and analogous, with First Name (with a blank) not a valid key for a PropertyResourceBundle. Am I missing something? Or should I file a bug? I think you're missing something :-) I had the same issue. Some studying of http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html#load%28java.io.InputStream%29 leads to this explanation: The key contains all of the characters in the line starting with the first non-white space character and up to, but not including, the first unescaped '=', ':', or white space character other than a line terminator. All of these key termination characters may be included in the key by escaping them with a preceding backslash character And, while not very intuitive, this works for me: First\ Name = Fornavn Last\ Name = Efternavn /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: Override the display names for (Mega)ProtoUser
Take it from here: http://github.com/dpp/liftweb/tree/master/lift/src/main/resources/i18n/ Heiko 2009/10/7 Dirk Louwers dirk.louw...@stormlantern.nl Hi, Not to be an evil hijacker of threads, but can anyone supply me the english Lift core resource bundle? I would like to work on a dutch translation. Best, Dirk Louwers On Oct 7, 7:43 am, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Jeppe, You are my hero ;-) Thanks, Heiko 2009/10/6 Jeppe Nejsum Madsen je...@ingolfs.dk Heiko Seeberger heiko.seeber...@googlemail.com writes: Hi, It is not possible to localize or override the display names for (Mega)ProtoUser's first name, last name and time zone. This is because it is determined by ??(First Name) and analogous, with First Name (with a blank) not a valid key for a PropertyResourceBundle. Am I missing something? Or should I file a bug? I think you're missing something :-) I had the same issue. Some studying of http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html#loa. .. leads to this explanation: The key contains all of the characters in the line starting with the first non-white space character and up to, but not including, the first unescaped '=', ':', or white space character other than a line terminator. All of these key termination characters may be included in the key by escaping them with a preceding backslash character And, while not very intuitive, this works for me: First\ Name = Fornavn Last\ Name = Efternavn /Jeppe -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Missing i18n in Lift?
Try LiftRules.formatDate and LiftRules.parseDate Cheers, Heiko 2009/10/8 Jeppe Nejsum Madsen je...@ingolfs.dk Hi, While lift's basic support for i18n in templates etc is wonderful, I feel it is somewhat.hmmm lacking when it comes to form handling. I'm using mapper based forms and, at least to me, it seems like there's no obvious way (other than roll my own) to do i18n form display/parsing (ie. currency, number formats, date etc). Or did I miss something? /Jeppe -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: PayPal Subscriptions
, the cancel message does not include the payment_status. I think this results in the message being dropped on the floor because of the for-comprehension on line 458 in Paypal.scala. Would appreciate any help. By the way, we've been using the paypal module in production for a couple months now (a very small app for selling a partner-branded version of our screen recorder). Thanks, Ryan -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: master_post_M6 branch (attn Lift committers with changes ready to merge into master)
When is a commit approved?How many shiPPP its ? Heiko 2009/10/8 David Pollak feeder.of.the.be...@gmail.com Folks, For all the committers with approved commits, please apply them to the master_post_M6 branch. We can develop off this branch while Charles is spinning the M6 build. Once the M6 build goes out (most likely today), we can rebase master with master_post_M6. Thanks, David -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Surf the harmonics -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Lift @ W-JAX Challenge
Lifters, In some weeks W-JAX http://it-republik.de/jaxenter/wjax09/, one of Germany's leading conferences in Java (and now also Scala) space, will open its gates. This time there will be a Scala Dayhttp://it-republik.de/jaxenter/wjax09/sessions?tid=1296 with sessions from some Scala VIPs (Martin Odersky, Ted Neward, etc.) and I am glad to do a Lift talk there. If I manage to get my preso finished timely I will ask you guys for your feedback. Additionally there will be a web framework contest: The W-JAX Challengehttp://it-republik.de/jaxenter/wjax09/challenge. The task is to develop a web app for betting on the 2010 FIFA world cup (soccer). Of course I will participate with Lift! As it seems that the winner will be elected by the conference audience it will be beneficial to have a good looking UI and some cool features (Comet at least). Maybe some of you could help me?! I don't have enough time and I do not know every cool detail of Lift, hence your support would be highly appreciated. What do you think? Cheers, Heiko My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: **IMPORTANT** Do Not change to Scala 2.7.6
Alex, Please use Scala 2.7.5 for Lift, because there are issues with 2.7.6. Maybe Lift will go for 2.7.7 somewhen later. Heiko 2009/10/14 Alex Black a...@alexblack.ca Hi David, can you elaborate a bit more? Being new to Scala and Lift, I've downloaded and been using 2.7.6, with Lift 1.0. Should I instead be using 2.7.5? I'm just wondering if 2.7.6 has issues with perhaps the latest Lift but not 1.0 lift? - Alex On Sep 15, 11:43 pm, David Pollak feeder.of.the.be...@gmail.com wrote: Folks, Do not change your version to Scala 2.7.6. 2.7.6 is broken (it will not compile Lift). Just stick with 2.7.5. 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 -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Welcome Dirk Louwers to the Lift committers
Hi Dirk! Heiko On Thursday, October 15, 2009, David Pollak feeder.of.the.be...@gmail.com wrote: Folks, Please join me in welcoming Dirk to the Lift committers. Dirk is going to integrate Ext.Js (the MIT licensed part of it) into Lift. Welcome Dirk and we look forward to your contributions! Thanks, David -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Surf the harmonics -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Enhance Msgs snippet to show all messages
Hi, I had a hard time figuring out why the ProtoUser's changePassword page will show an error message when the wrong old password is given but won't show any messages when the new password is too short or two different new passwords are entered. In the end it is very simple: The first error is not related to a particular field, because it is created via S.error(??Some error text)), and the second error comes from a validation of a mapped field. Now the Msgs built-in snippet will only display messages NOT related to a particular field. I propose to enhance the Msgs snippet such that it can be configured to display ALL messages, e.g. via an showAll attribute. What do you think? Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Enhance Msgs snippet to show all messages
Created Issue 123 and put on reviewboard. Heiko 2009/10/21 Heiko Seeberger heiko.seeber...@googlemail.com Because that will lead to two different sections on the page (take a look at the attachment). Heiko 2009/10/21 Marius marius.dan...@gmail.com Why not use both lift:Msg and lift:Msgs ? Br's, Marius On Oct 21, 4:39 pm, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi, I had a hard time figuring out why the ProtoUser's changePassword page will show an error message when the wrong old password is given but won't show any messages when the new password is too short or two different new passwords are entered. In the end it is very simple: The first error is not related to a particular field, because it is created via S.error(??Some error text)), and the second error comes from a validation of a mapped field. Now the Msgs built-in snippet will only display messages NOT related to a particular field. I propose to enhance the Msgs snippet such that it can be configured to display ALL messages, e.g. via an showAll attribute. What do you think? Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: **Important** Migration guide Scala Actors - Lift Actors
One small step for Lift and Akka, one giant leap for Scala! Thanks, David and Jonas! Heiko 2009/10/22 Marius marius.dan...@gmail.com Just Simple Beautiful ! ... Nice work Dave and Jonas. Br's, Marius On Oct 22, 9:57 pm, David Pollak feeder.of.the.be...@gmail.com wrote: Folks, I wrote a quick blog piece about migrating from Scala Actors to Lift Actors athttp://blog.lostlake.org/index.php?/archives/96-Migrating-from-Scala-. .. I hope this addresses questions that folks on the list have about the affirmative steps they need to take to make the migration. Thanks, David -- Lift, the simply functional web frameworkhttp://liftweb.net Beginning Scalahttp://www.apress.com/book/view/1430219890 Follow me:http://twitter.com/dpp Surf the harmonics -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Lift Actor names
I agree, the names could be improved. Is there still a chance to do so? Heiko 2009/10/25 Naftoli Gugenheim naftoli...@gmail.com I was looking at Actor.scala, which contains SimpleActor, SimplestActor, TypedActor, GenericActor, and ForwardableActor. Some people will say, once you know what something does, who cares what it's called? But names can really make a difference in learning curve, memorization, and code readability. Other than ForwardableActor, do these names reflect what they do? My suggestions: Change SimpleActor to Messageable (it only defines an abstract ! method; arguably more general than an actor) SimplestActor to AnyMessageable (it's SimpleActor with Any for T) TypedActor to RespondingActor etc. (what it adds is !? and !! methods) GenericActor to AnyRespondingActor (or could it be replaced by 'RespondingActor with AnyMessageable'?) ForwardableActor to ForwardingActor (it doesn't get forwarded, it forwards messages) Thoughts? Thanks. -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] CometActor fixedRender vs. render
Hi, In CometActor, what's the puropse of fixedRender? What's the difference/relation to render? Thanks Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: CometActor fixedRender vs. render
Thank you for your very detailed answer! Heiko 2009/10/26 David Pollak feeder.of.the.be...@gmail.com There are parts of a comet component that may not change on every render of the component. For example, if a Chat component were to re-render its whole self on every chat message, the input box would be re-rendered, erasing any in-process input. So, there's a fixed part of the the comet component and a changes a lot part of the comet component. By default (reRender(false)) only the non-fixed part of the component is re-rendered. Does this answer your question? On Mon, Oct 26, 2009 at 12:53 AM, Heiko Seeberger heiko.seeber...@googlemail.com wrote: Hi, In CometActor, what's the puropse of fixedRender? What's the difference/relation to render? Thanks Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- 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 -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Problem with RequestVar
Hi, 2009/10/27 sunanda sunanda.pa...@gmail.com Hi, I need to retain the value of gridid throughout the session. Then use a SessionVar instead of a RequestVar. 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] Folder for resource bundles possible?
Hi, Is there a way to configure Lift such that it is possible to but resource bundles (properties files, used by S.?) into another folder but the top level one? I would like to put them into a i18n folder, just like the core-lift properties. Thanks, Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: LiftTicket and AJAX
Looks good! 2009/10/31 Derek Chen-Becker dchenbec...@gmail.com I just committed some code for AJAX-editable fields that I think might be useful as a part of LiftWeb. Basically, if you've seen how ReviewBoard handles field editing, this is the same thing. It's a trait that can be mixed into any MappedField and as soon as M7 is release and I can merge the new ajaxForm postSubmit code into master, I'll have a demo that will work out of the box. If you're interested, take a look at it in GitHub: http://github.com/dchenbecker/LiftTicket/blob/master/src/main/scala/org/liftticket/liftticket/model/AjaxEditableField.scala Constructive criticism would be appreciated. Derek -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Question about megaprotouser S.error
2009/11/3 DFectuoso santiago1...@gmail.com I am using MegaProtoUser in my user model and a couple of users reported they do not get any kind of feedback if they don't input a valid user in the Sign Up form What exactly is a valid user in your case? def testSignup() { theUser.validate match { case Nil = actionsAfterSignup(theUser) S.redirectTo(homePage) case xs = S.error(xs) ; signupFunc(Full(innerSignup _)) } } I think that S.error should be the one giving me the errors in the lift:msgs/ handler right? Yes. Cheers, Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Question about megaprotouser S.error
2009/11/3 DFectuoso santiago1...@gmail.com Wow, its working allright, let me compare your code with mine, so far the only diff is that you are using the full error snippet lift:Msgs showAll=true lift:error_classerror/lift:error_class lift:notice_classnotice/lift:notice_class lift:warning_classerror/lift:warning_class /lift:Msgs in the template, while im doing a lift:Msgs/ Then show me your Mapper class (and object) please ... Is there a way to override the default password (**) without making all the html of the signup page? Good question. Looking at MappedPassword I think it will be some work ... 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: Question about megaprotouser S.error
Thank you. It's my contribution to the W-JAX Challenge where several web frameworks compete. But to be honest: The others are really nicely designed ... Heiko 2009/11/3 Randinn rand...@gmail.com Nicely designed site, just to go a bit off-topic, very clean. On Nov 4, 4:33 am, Heiko Seeberger heiko.seeber...@googlemail.com wrote: 2009/11/3 DFectuoso santiago1...@gmail.com I would expect that any time the form fails to validate(try clicking submit without typing a password or a valid email in hellolift) i would get a message saying what is wrong. That's how it works. Go tohttp://174.143.152.248:8080/kix-1.0/to see a live demo: Try to sign up and (thereafter) to login with invalid data. Go tohttp:// github.com/hseeberger/kix/and take a look at the User class (and object). Heiko -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Question about megaprotouser S.error
2009/11/3 DFectuoso santiago1...@gmail.com I would expect that any time the form fails to validate(try clicking submit without typing a password or a valid email in hellolift) i would get a message saying what is wrong. That's how it works. Go to http://174.143.152.248:8080/kix-1.0/ to see a live demo: Try to sign up and (thereafter) to login with invalid data. Go to http://github.com/hseeberger/kix/ and take a look at the User class (and object). 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: Question about megaprotouser S.error
2009/11/3 DFectuoso santiago1...@gmail.com Yes, changing the binding to the full errors,notices and warning fixed it, now i just need to override the messages on fail(don't know how to change those password.must.set and the default password) and i'll be over this signup thing password.must.set is a key that will be looked up from the core lift properties. You can override these, but not on a single key base, you have to replace all. But obviously this is a bug! The core lift properties should contain an entry. But they do not. Well, they do, but the key is password.must.be.set which is a ways better key IMHO. So the bug is in the Scala code of ProtoUser. I will open a ticket and fix it, but do not know if this will make it into M7. Heiko -- My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Question about megaprotouser S.error
2009/11/4 DFectuoso santiago1...@gmail.com well that seems great! I use the snapshot so if you finish that and want to make someone very happy, you can send me an example of how it ended up working and i will be very very thankful! It is a bug in MappedPassword (not ProtoUser): http://github.com/dpp/liftweb/commit/da7d38602e860b24706b1a9f01736f77313f967c You will find it very soon in the snapshot. The last piece of the puzzle is the ** default value of the mappedPassword, since its part of the mappedPassword and not of the ProtoUser. And its a val, i don't know how to override it. What is the reason of this default value? Please open a ticket on the GitHub issue tracker, e.g. Allow different default value for MappedPassword. Heiko My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Question about megaprotouser S.error
2009/11/4 Heiko Seeberger heiko.seeber...@googlemail.com 2009/11/4 DFectuoso santiago1...@gmail.com well that seems great! I use the snapshot so if you finish that and want to make someone very happy, you can send me an example of how it ended up working and i will be very very thankful! It is a bug in MappedPassword (not ProtoUser): http://github.com/dpp/liftweb/commit/da7d38602e860b24706b1a9f01736f77313f967c You will find it very soon in the snapshot. It's on master now: http://github.com/dpp/liftweb/commit/81ebc75711410d695b17d7091da58b713b01e26f Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: Question about megaprotouser S.error
2009/11/4 David Pollak feeder.of.the.be...@gmail.com It is a bug in MappedPassword (not ProtoUser): It's not a bug, it's by design. Well , issue 157 (MappedPassword contains misspelled key for unset password) is a bug, but ** as default value is by design, of course. Heiko My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: lift-webkit-1.1-SNAPSHOT contains duplicate classes (e.g. Box.class)
maven-bundle-plugin? Well, that's my business, I guess. I will take a look ... Heiko 2009/11/12 Alex Boisvert alex.boisv...@gmail.com Can one of our resident Maven experts quickly look at: http://github.com/dpp/liftweb/issues/#issue/166 I took a brief look at the poms but couldn't figure why Maven was including classes from lift-common and lift-actor into lift-webkit. It is a feature of the maven-bundle-plugin? I can take care of fixing the issue if pointed towards the right direction. thanks! alex -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: lift-webkit-1.1-SNAPSHOT contains duplicate classes (e.g. Box.class)
OK, I spotted the problem and will work on the issue ... Heiko 2009/11/13 Heiko Seeberger heiko.seeber...@googlemail.com maven-bundle-plugin? Well, that's my business, I guess. I will take a look ... Heiko 2009/11/12 Alex Boisvert alex.boisv...@gmail.com Can one of our resident Maven experts quickly look at: http://github.com/dpp/liftweb/issues/#issue/166 I took a brief look at the poms but couldn't figure why Maven was including classes from lift-common and lift-actor into lift-webkit. It is a feature of the maven-bundle-plugin? I can take care of fixing the issue if pointed towards the right direction. thanks! alex -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---
[Lift] Re: lift-webkit-1.1-SNAPSHOT contains duplicate classes (e.g. Box.class)
I fixed it and it is on review board ... Heiko 2009/11/13 Heiko Seeberger heiko.seeber...@googlemail.com OK, I spotted the problem and will work on the issue ... Heiko 2009/11/13 Heiko Seeberger heiko.seeber...@googlemail.com maven-bundle-plugin? Well, that's my business, I guess. I will take a look ... Heiko 2009/11/12 Alex Boisvert alex.boisv...@gmail.com Can one of our resident Maven experts quickly look at: http://github.com/dpp/liftweb/issues/#issue/166 I took a brief look at the poms but couldn't figure why Maven was including classes from lift-common and lift-actor into lift-webkit. It is a feature of the maven-bundle-plugin? I can take care of fixing the issue if pointed towards the right direction. thanks! alex -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net -- Heiko Seeberger My job: weiglewilczek.com My blog: heikoseeberger.name Follow me: twitter.com/hseeberger OSGi on Scala: scalamodules.org Lift, the simply functional web framework: liftweb.net --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Lift group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~--~~~~--~~--~--~---