David,

cleaning maven helped: now the Apache-SVN version compiles again and works!

Thanks for your help!

Kind regards,

Daniel

On Mon, Jan 5, 2009 at 5:56 PM, David Pollak
<feeder.of.the.be...@gmail.com>wrote:

> Daniel,
>
> Please CD into the esme/server directory.  Then type "svn update" to pull
> the latest from the subversion repository.  Then type "mvn -U clean install"
> (you should always do a clean install, and -U grabs the latest from the
> Maven repositories).  Finally type "mvn jetty:run"
>
> Please let me know if that works.
>
> Thanks,
>
> David
>
> On Mon, Jan 5, 2009 at 6:57 AM, Daniel Koller <dakol...@googlemail.com>wrote:
>
>> David,
>>
>> thx for your feedback. I took the version from Apache SVN,made that maven
>> processing (which I hope takes the right versions of Scala/Lift) and created
>> a WAR file (which I put then manually to a local Tomcat 6 install).
>>
>> If it helps, I can publish the used WAR file.
>>
>> Kind regards,
>>
>> Daniel
>>
>> On Mon, Jan 5, 2009 at 3:52 PM, David Pollak <
>> feeder.of.the.be...@gmail.com> wrote:
>>
>>> Daniel,
>>> It looks like there's a mis-match between the version of Scala and/or
>>> Lift that was used in compilation and the version that was deployed.  The
>>> abstract method issue is a flag for this sort of problem.
>>>
>>> Did you build your WAR file from scratch or did you pull it down from the
>>> ESME Google code project?
>>>
>>> Thanks,
>>>
>>> David
>>>
>>>
>>> On Sun, Jan 4, 2009 at 9:34 PM, Daniel Koller 
>>> <dakol...@googlemail.com>wrote:
>>>
>>>>
>>>> Hi all,
>>>>
>>>> I have a problem regarding the Lift framework, where I ask for any
>>>> helpful comments.
>>>>
>>>> The problem is that I access my application database, the database
>>>> tables do obviously not exist, but they get also not created.
>>>>
>>>> The basic situation is like this:
>>>> - I am working on the ESME solution, this solution has a Boot-scala
>>>> file, which is the first called file. The relevant snippet of
>>>> Boot.scala is:
>>>>
>>>> "    DefaultConnectionIdentifier.jndiName = "esme"
>>>>
>>>>    if (!DB.jndiJdbcConnAvailable_?) DB.defineConnectionManager
>>>> (DefaultConnectionIdentifier, DBVendor)
>>>>    // where to search snippet
>>>>    LiftRules.addToPackages("us.esme")
>>>>
>>>>    if (Props.mode == Props.RunModes.Test) {
>>>>      Schemifier.destroyTables_!!(Log.infoF _, User, ExtSession,
>>>>                                  Message, Mailbox, Tag,
>>>>                                  Group, Relationship, MessageTag,
>>>>                                  AuthToken, UrlStore, Tracking,
>>>>                                  Action, DidPerform)
>>>>    }
>>>>
>>>>    Schemifier.schemify(true, Log.infoF _, User, ExtSession, Message,
>>>>                        Mailbox, Tag,
>>>>                        Group, Relationship, MessageTag, AuthToken,
>>>>                        UrlStore, Tracking, Action, DidPerform)"
>>>>
>>>> - During execution of Boot.scala the code breaks at at schemify-call
>>>> with the following exception:
>>>>
>>>> "INFO: Deploying web application archive esme-0.2.3-SNAPSHOT.war
>>>> ERROR - Failed to Boot
>>>> java.lang.AbstractMethodError
>>>>        at
>>>> net.liftweb.mapper.MetaMapper$class.$init$(MetaMapper.scala:840)
>>>>        at us.esme.model.Tag$.<init>(Tag.scala:34)
>>>>        at us.esme.model.Tag$.<clinit>(Tag.scala)
>>>>        at bootstrap.liftweb.Boot.boot(Boot.scala:59)
>>>>        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:597)
>>>>        at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply
>>>> (ClassHelpers.scala:396)
>>>>        at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply
>>>> (ClassHelpers.scala:394)
>>>>        at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply
>>>> (LiftRules.scala:867)
>>>>        at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply
>>>> (LiftRules.scala:867)
>>>>        at net.liftweb.util.Full.map(Box.scala:282)
>>>>        at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:867)
>>>>        at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:543)
>>>>        at net.liftweb.http.LiftFilter.init(LiftServlet.scala:518)
>>>>        at org.apache.catalina.core.ApplicationFilterConfig.getFilter
>>>> (ApplicationFilterConfig.java:275)
>>>>        at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef
>>>> (ApplicationFilterConfig.java:397)
>>>>        at org.apache.catalina.core.ApplicationFilterConfig.<init>
>>>> (ApplicationFilterConfig.java:108)
>>>>        at org.apache.catalina.core.StandardContext.filterStart
>>>> (StandardContext.java:3709)
>>>>        at org.apache.catalina.core.StandardContext.start
>>>> (StandardContext.java:4356)
>>>>        at org.apache.catalina.core.ContainerBase.addChildInternal
>>>> (ContainerBase.java:791)
>>>>        at
>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
>>>> 771)
>>>>        at
>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
>>>> 525)
>>>>        at
>>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:
>>>> 829)
>>>>        at
>>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:
>>>> 718)
>>>>        at
>>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:
>>>> 490)
>>>>        at
>>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
>>>>        at org.apache.catalina.startup.HostConfig.lifecycleEvent
>>>> (HostConfig.java:311)
>>>>        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
>>>> (LifecycleSupport.java:117)
>>>>        at
>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
>>>> 1053)
>>>>        at
>>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>>>>        at
>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
>>>> 1045)
>>>>        at
>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:
>>>> 443)
>>>>        at org.apache.catalina.core.StandardService.start
>>>> (StandardService.java:516)
>>>>        at
>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:
>>>> 710)
>>>>        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>>>>        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:597)
>>>>        at
>>>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>>>>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>>>> 05.01.2009 06:49:05 org.apache.coyote.http11.Http11Protocol start
>>>> INFO: Starting Coyote HTTP/1.1 on http-8080
>>>> 05.01.2009 06:49:05 org.apache.jk.common.ChannelSocket init
>>>> INFO: JK: ajp13 listening on /0.0.0.0:8009
>>>> 05.01.2009 06:49:05 org.apache.jk.server.JkMain start
>>>> INFO: Jk running ID=0 time=1/61  config=null
>>>> 05.01.2009 06:49:05 org.apache.catalina.startup.Catalina start
>>>> INFO: Server startup in 4965 ms"
>>>>
>>>> - When I call additional application functions, the following error
>>>> messages show up:
>>>> "
>>>> ERROR - The ActorWatcher restarted us.esme.actor.distribut...@1079ff
>>>> because java.sql.SQLSyntaxErrorException: Table/View 'USERS' does not
>>>> exist.
>>>> java.sql.SQLSyntaxErrorException: Table/View 'USERS' does not exist.
>>>>        at
>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException
>>>> (Unknown Source)
>>>>        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException
>>>> (Unknown Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException
>>>> (Unknown Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown
>>>> Source)
>>>>        at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement
>>>> (Unknown Source)
>>>>        at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement
>>>> (Unknown Source)
>>>>        at
>>>> net.liftweb.mapper.DB$$anonfun$prepareStatement$1.apply(DB.scala:
>>>> 267)
>>>>        at
>>>> net.liftweb.mapper.DB$$anonfun$prepareStatement$1.apply(DB.scala:
>>>> 266)
>>>>        at
>>>> net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:242)
>>>>        at net.liftweb.util.Helpers$.calcTime(Helpers.scala:29)
>>>>        at net.liftweb.mapper.DB$.prepareStatement(DB.scala:266)
>>>>        at net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply
>>>> (MetaMapper.scala:306)
>>>>        at net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply
>>>> (MetaMapper.scala:298)
>>>>        at net.liftweb.mapper.DB$.use(DB.scala:294)
>>>>        at net.liftweb.mapper.MetaMapper$class.findMapFieldDb
>>>> (MetaMapper.scala:297)
>>>>        at us.esme.model.User$.findMapFieldDb(User.scala:42)
>>>>        at
>>>> net.liftweb.mapper.MetaMapper$class.findMapDb(MetaMapper.scala:
>>>> 293)
>>>>        at us.esme.model.User$.findMapDb(User.scala:42)
>>>>        at
>>>> net.liftweb.mapper.MetaMapper$class.findAll(MetaMapper.scala:120)
>>>>        at us.esme.model.User$.findAll(User.scala:42)
>>>>        at
>>>> us.esme.actor.Distributor$$anonfun$act$1$$anonfun$apply$1.apply
>>>> (Distributor.scala:43)
>>>>        at
>>>> us.esme.actor.Distributor$$anonfun$act$1$$anonfun$apply$1.apply
>>>> (Distributor.scala:40)
>>>>        at scala.actors.Reaction.run(Reaction.scala:78)
>>>>        at scala.actors.Scheduler$$anon$2.run(Scheduler.scala:77)
>>>>        at scala.actors.FJTaskRunner.run(Unknown Source)
>>>> Caused by: java.sql.SQLException: Table/View 'USERS' does not exist.
>>>>        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException
>>>> (Unknown Source)
>>>>        at
>>>>
>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA
>>>> (Unknown Source)
>>>>        ... 32 more
>>>> ERROR - The ActorWatcher restarted
>>>> us.esme.comet.publictimel...@1b963c4 because
>>>> java.sql.SQLSyntaxErrorException: Table/View 'MESSAGE' does not exist.
>>>> java.sql.SQLSyntaxErrorException: Table/View 'MESSAGE' does not exist.
>>>>        at
>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException
>>>> (Unknown Source)
>>>>        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException
>>>> (Unknown Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException
>>>> (Unknown Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown
>>>> Source)
>>>>        at
>>>> org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown
>>>> Source)
>>>>        at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement
>>>> (Unknown Source)
>>>>        at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement
>>>> (Unknown Source)
>>>>        at
>>>> net.liftweb.mapper.DB$$anonfun$prepareStatement$1.apply(DB.scala:
>>>> 267)
>>>>        at
>>>> net.liftweb.mapper.DB$$anonfun$prepareStatement$1.apply(DB.scala:
>>>> 266)
>>>>        at
>>>> net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:242)
>>>>        at net.liftweb.util.Helpers$.calcTime(Helpers.scala:29)
>>>>        at net.liftweb.mapper.DB$.prepareStatement(DB.scala:266)
>>>>        at net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply
>>>> (MetaMapper.scala:306)
>>>>        at net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply
>>>> (MetaMapper.scala:298)
>>>>        at net.liftweb.mapper.DB$.use(DB.scala:294)
>>>>        at net.liftweb.mapper.MetaMapper$class.findMapFieldDb
>>>> (MetaMapper.scala:297)
>>>>        at us.esme.model.Message$.findMapFieldDb(Message.scala:38)
>>>>        at
>>>> net.liftweb.mapper.MetaMapper$class.findMapDb(MetaMapper.scala:
>>>> 293)
>>>>        at us.esme.model.Message$.findMapDb(Message.scala:38)
>>>>        at
>>>> net.liftweb.mapper.MetaMapper$class.findAll(MetaMapper.scala:259)
>>>>        at us.esme.model.Message$.findAll(Message.scala:38)
>>>>        at
>>>> us.esme.comet.PublicTimeline.localSetup(PublicTimeline.scala:43)
>>>>        at net.liftweb.http.CometActor$$anonfun$_mediumPriority$1.apply
>>>> (CometActor.scala:231)
>>>>        at net.liftweb.http.CometActor$$anonfun$_mediumPriority$1.apply
>>>> (CometActor.scala:204)
>>>>        at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:38)
>>>>        at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:37)
>>>>        at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:37)
>>>>        at net.liftweb.http.CometActor$$anon$1$$anonfun$apply$4.apply
>>>> (CometActor.scala:167)
>>>>        at net.liftweb.http.CometActor$$anon$1$$anonfun$apply$4.apply
>>>> (CometActor.scala:166)
>>>>        at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:390)
>>>>        at
>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$
>>>> $anonfun$apply$14.apply(S.scala:445)
>>>>        at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:364)
>>>>        at
>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
>>>> $1.apply(S.scala:443)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at
>>>> net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:
>>>> 442)
>>>>        at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
>>>> $anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19$$anonfun$apply
>>>> $20$$anonfun$apply$21.apply(S.scala:462)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
>>>> $anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19$$anonfun$apply
>>>> $20.apply(S.scala:461)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
>>>> $anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19.apply(S.scala:
>>>> 460)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
>>>> $anonfun$apply$17$$anonfun$apply$18.apply(S.scala:459)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
>>>> $anonfun$apply$17.apply(S.scala:458)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at
>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply
>>>> (S.scala:457)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at
>>>> net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:456)
>>>>        at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$$anonfun
>>>> $apply$25$$anonfun$apply$26$$anonfun$apply$27.apply(S.scala:485)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$$anonfun
>>>> $apply$25$$anonfun$apply$26.apply(S.scala:484)
>>>>        at
>>>> net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply
>>>> $4$$anonfun$apply$5.apply(Vars.scala:141)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at
>>>> net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply
>>>> $4.apply(Vars.scala:140)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.RequestVarHandler$$anonfun$apply$3.apply
>>>> (Vars.scala:139)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:138)
>>>>        at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$$anonfun
>>>> $apply$25.apply(S.scala:483)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24.apply
>>>> (S.scala:482)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:481)
>>>>        at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
>>>>        at net.liftweb.http.S$._init(S.scala:480)
>>>>        at net.liftweb.http.S$.init(S.scala:326)
>>>>        at net.liftweb.http.S$.initIfUninitted(S.scala:592)
>>>>        at
>>>> net.liftweb.http.CometActor$$anon$1.apply(CometActor.scala:166)
>>>>        at
>>>> net.liftweb.http.CometActor$$anon$1.apply(CometActor.scala:164)
>>>>        at scala.actors.Reaction.run(Reaction.scala:78)
>>>>        at scala.actors.Scheduler$$anon$2.run(Scheduler.scala:77)
>>>>        at scala.actors.FJTaskRunner.run(Unknown Source)
>>>> Caused by: java.sql.SQLException: Table/View 'MESSAGE' does not exist.
>>>>        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException
>>>> (Unknown Source)
>>>>        at
>>>>
>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA
>>>> (Unknown Source)
>>>>        ... 78 more
>>>> INFO - Service request (GET) /esme-0.2.3-SNAPSHOT/ took 2301
>>>> Milliseconds"
>>>>
>>>> Any comments which help to solve this problem?
>>>>
>>>> Kind regards,
>>>>
>>>> Daniel
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Lift, the simply functional web framework http://liftweb.net
>>> Collaborative Task Management http://much4.us
>>> Follow me: http://twitter.com/dpp
>>> Git some: http://github.com/dpp
>>>
>>>
>>>
>>
>>
>> --
>> ---
>> Daniel Koller
>> Jahnstrasse 20
>> 80469 München * dakol...@googlemail.com
>>
>>
>>
>>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Collaborative Task Management http://much4.us
> Follow me: http://twitter.com/dpp
> Git some: http://github.com/dpp
>
> >
>


-- 
---
Daniel Koller
Jahnstrasse 20
80469 München * dakol...@googlemail.com

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

Reply via email to