[Lift] Re: file upload

2009-06-12 Thread Oliver Lambert
Whats serious uploading? I uploaded 15,000 records using it today - seemedto
handle it OK.

On Fri, Jun 12, 2009 at 9:48 AM, Timothy Perrett wrote:

>
> FYI - its not a streaming upload at the moment, so its great for
> smallish files, but you wouldnt want to do much serious uploading with
> it right now. We've had several discussions about making it streaming,
> and its certainly "on the todo list".
>
> Cheers, Tim
>
> On Jun 11, 9:24 pm, DavidV  wrote:
> > I would like to upload a .csv file onto the web server so I can then
> > parse it in my webapp, and put certain fields into my database.  I
> > would like a "Browse..." button, much like the one shown on this Lift
> > example page:http://demo.liftweb.net/file_upload
> > Can anyone point me in the right direction as to how to get started
> > doing this, or tell me where I can find the example code for the link
> > I provided?  I can't seem to locate it in liftweb in github
> > thanks,
> > David
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this 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: file upload

2009-06-12 Thread Timothy Perrett

Hey Oliver,

I was referring to large uploads - with the current scheme the entire
file is read into memory, so if you upload, say, a 400 or 500mb file
you'll find that your entire stack bloats in size.

Thanks, Tim

On Jun 12, 11:53 am, Oliver Lambert  wrote:
> Whats serious uploading? I uploaded 15,000 records using it today - seemedto
> handle it OK.
>
> On Fri, Jun 12, 2009 at 9:48 AM, Timothy Perrett 
> wrote:
>
>
>
>
>
> > FYI - its not a streaming upload at the moment, so its great for
> > smallish files, but you wouldnt want to do much serious uploading with
> > it right now. We've had several discussions about making it streaming,
> > and its certainly "on the todo list".
>
> > Cheers, Tim
>
> > On Jun 11, 9:24 pm, DavidV  wrote:
> > > I would like to upload a .csv file onto the web server so I can then
> > > parse it in my webapp, and put certain fields into my database.  I
> > > would like a "Browse..." button, much like the one shown on this Lift
> > > example page:http://demo.liftweb.net/file_upload
> > > Can anyone point me in the right direction as to how to get started
> > > doing this, or tell me where I can find the example code for the link
> > > I provided?  I can't seem to locate it in liftweb in github
> > > thanks,
> > > David
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this 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: file upload

2009-06-12 Thread wapgui

I do similar things.

First there is a snippet using the bind functionality.
var image : FileParamHolder = _

bind("widget", xhtml,
  "image" -> fileUpload(image = _)
}

Now write out:

val wbos : ByteArrayOutputStream = build(image)
val fout = new File(outputFilename)
if (fout.exists()) {
   Log.error("Tried to overwrite existing file")
   return "Error: Filename already exists"
}
val foStream = new FileOutputStream(fout)
foStream.write(wbos.toByteArray())
foStream.close()


def build(image : FileParamHolder) : ByteArrayOutputStream = {
  val bout = new ByteArrayOutputStream()
  val zipout : ZipOutputStream = new ZipOutputStream(bout)
  zipout.setMethod(ZipOutputStream.DEFLATED);
  zipout.setLevel(Deflater.DEFAULT_COMPRESSION);

  writeImage(zos, image)
}

private def writeImage(zos: ZipOutputStream,
image:FileParamHolder):Unit = {
if (image.fileName == "") {
  Log.info("Provided image file is null")
  return
}
if (image.fileName.lastIndexOf("\\") != -1) //this is needed if
upload is from a windows system
  zos.putNextEntry(new ZipEntry("res/" + image.fileName.substring
(image.fileName.lastIndexOf("\\")+1)))
else
  zos.putNextEntry(new ZipEntry("res/" + image.fileName))
zos.write(image.file, 0, image.file.length) //make here a loop on
very large files
zos.closeEntry()
}

Cheers
Torsten

On Jun 11, 10:24 pm, DavidV  wrote:
> I would like to upload a .csv file onto the web server so I can then
> parse it in my webapp, and put certain fields into my database.  I
> would like a "Browse..." button, much like the one shown on this Lift
> example page:http://demo.liftweb.net/file_upload
> Can anyone point me in the right direction as to how to get started
> doing this, or tell me where I can find the example code for the link
> I provided?  I can't seem to locate it in liftweb in github
> thanks,
> David

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this 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: YA menu question: separate menus

2009-06-12 Thread glenn

Derek,

I'd love to test the changes you made to Menu, but my build fails when
I run
mvn install on the pom in the lift directory of the download from

http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons

Here's what maven reports:

[WARNING] Warning in manifest for net.liftweb:lift-webkit:jar:1.1-
SNAPSHOT : Did not find matching r
eferal for org.slf4j.*
[ERROR] Error in manifest for net.liftweb:lift-webkit:jar:1.1-
SNAPSHOT : The default package '.' is
not permitted by the Import-Package syntax.
 This can be caused by compile errors in Eclipse because Eclipse
creates
valid class files regardless of compile errors.
The following package(s) import from the default package
[net.liftweb.http, net.liftweb.http.auth, n
et.liftweb.http.js, net.liftweb.http.js.jquery, net.liftweb.sitemap]
[ERROR] Error(s) found in manifest configuration
[INFO]

[ERROR] BUILD ERROR
[INFO]

[INFO] Error(s) found in manifest configuration

It seems like a problem with the construction of the following
plugin in the pom.


org.apache.felix
maven-bundle-plugin

  
!
net.liftweb.util.*,net.liftweb.*;version="${pom.version}"
org.slf4j.*;resolution:="optional",*
*
  

  

Either that, or there's something else going on. Any ideas?

Glenn...

On Jun 11, 11:54 am, Derek Chen-Becker  wrote:
> I'm building some code right now that I think should handle all of your
> cases. Since Menu.builder is already concerned with building a menu tree, I
> decided that it would be better to allow you to specify a specific item or
> group to Menu.builder instead of conflating tree building with the current
> Menu.item and Menu.group snippets. Given a SiteMap like:
>
>     val menus =
>       Menu(Loc("Home", List("index"), "Home Page")) ::
>       Menu(Loc("Viewtest", List("ViewTest", "test"), "View test")) ::
>       Menu(Loc("InsecureViewtest", List("Insecure", "test"), "Insecure View
> test")) ::
>       Menu(Loc("SelectTest", List("select"), "asm select test")) ::
>       Menu(Loc("Help", List("help", "index"), "Help", LocGroup("help")),
>        Menu(Loc("About", List("help", "about"), "About", LocGroup("help"))),
>        Menu(Loc("Version", List("help", "version"), "Version",
> LocGroup("help" :: Nil
>
> You can render just the Help tree with:
>
> 
>
> Which will render something like:
>
> http://localhost:9090/testthis/help/>">Help href="/testthis/help/about
> http://localhost:9090/testthis/help/about>">About href="/testthis/help/version
> http://localhost:9090/testthis/help/version>">Version
>
> Similarly, you can use a group attribute:
>
> 
>
> But notice that this won't deduplicate entries, so we would render something
> like:
>
> http://localhost:9090/testthis/help/>">Help href="/testthis/help/about
> http://localhost:9090/testthis/help/about>">About href="/testthis/help/version
> http://localhost:9090/testthis/help/version>">Version href="/testthis/help/about
> http://localhost:9090/testthis/help/about>">About href="/testthis/help/version
> http://localhost:9090/testthis/help/version>">Version
>
> This is currently checked in on the wip-dcb-menu-addons branch:
>
> http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons
>
> Thoughts?
>
> Derek
>
> On Mon, Jun 8, 2009 at 5:49 PM, glenn  wrote:
>
> > Yes,
>
> > I would like the expandAll behavior to work for groups and for non-
> > root siteMaps.
> > Here's a specific use-case. The MenuWidget in the lift-widgets package
> > just passes everything
> > through  as
>
> > def render : NodeSeq = {
> >    head ++  > {style.toString} />
> >  }
>
> > So, even though the MenuWidget object has factory methods
> > for using a  non-root siteMap, only the root siteMap is ever used.
> > That's
> > because Menu.builder calls a private function renderWhat, like so:
>
> > val toRender = renderWhat(expandAll)
>
> > which iterates through the root siteMap. There is no way, really, to
> > subclass that
> > to use a different siteMap.
>
> > The problem with the Menu.group snippet is that it just works off the
> > named group in
> > the root siteMap, creating a parent node, but not the kids.
>
> > It would be nice to use MenuWidget, or some subclass, to create a
> > superfish-style
> > nav-bar or horizontal menu for groups or non-root siteMaps just as
> > easily as for the
> > entire root siteMap.
>
> > Glenn...
>
> > On Jun 8, 3:51 pm, Joe Wass  wrote:
> > > What I really wanted was a menu group. Doing things in groups has
> > > solved my particular question.
>
> > > Glenn, can you not just use groups? Do you need the hierarchal
> > > behaviour of nested menus?
>
> > > Joe
>
> > > On Jun 8, 10:24 pm, glenn  wrote:
>
> > > > I have a similar request: namely, being able to apply expandAll="true"
> > > > attribute
> > > > not just to 
>
> > > > but to  and  > > > name="myMenu"/>, or, 

[Lift] Re: YA menu question: separate menus

2009-06-12 Thread glenn

My error. Ignore this. I did a mvn clean then mvn install outside
of Eclipse on the parent pom and everything worked fine.

Glenn...

On Jun 12, 4:45 am, glenn  wrote:
> Derek,
>
> I'd love to test the changes you made to Menu, but my build fails when
> I run
> mvn install on the pom in the lift directory of the download from
>
> http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons
>
> Here's what maven reports:
>
> [WARNING] Warning in manifest for net.liftweb:lift-webkit:jar:1.1-
> SNAPSHOT : Did not find matching r
> eferal for org.slf4j.*
> [ERROR] Error in manifest for net.liftweb:lift-webkit:jar:1.1-
> SNAPSHOT : The default package '.' is
> not permitted by the Import-Package syntax.
>  This can be caused by compile errors in Eclipse because Eclipse
> creates
> valid class files regardless of compile errors.
> The following package(s) import from the default package
> [net.liftweb.http, net.liftweb.http.auth, n
> et.liftweb.http.js, net.liftweb.http.js.jquery, net.liftweb.sitemap]
> [ERROR] Error(s) found in manifest configuration
> [INFO]
> 
> [ERROR] BUILD ERROR
> [INFO]
> 
> [INFO] Error(s) found in manifest configuration
>
> It seems like a problem with the construction of the following
> plugin in the pom.
>
> 
>         org.apache.felix
>         maven-bundle-plugin
>         
>           
>             !
> net.liftweb.util.*,net.liftweb.*;version="${pom.version}" Package>
>             org.slf4j.*;resolution:="optional",* Import-Package>
>             *
>           
>         
>       
>
> Either that, or there's something else going on. Any ideas?
>
> Glenn...
>
> On Jun 11, 11:54 am, Derek Chen-Becker  wrote:
>
> > I'm building some code right now that I think should handle all of your
> > cases. Since Menu.builder is already concerned with building a menu tree, I
> > decided that it would be better to allow you to specify a specific item or
> > group to Menu.builder instead of conflating tree building with the current
> > Menu.item and Menu.group snippets. Given a SiteMap like:
>
> >     val menus =
> >       Menu(Loc("Home", List("index"), "Home Page")) ::
> >       Menu(Loc("Viewtest", List("ViewTest", "test"), "View test")) ::
> >       Menu(Loc("InsecureViewtest", List("Insecure", "test"), "Insecure View
> > test")) ::
> >       Menu(Loc("SelectTest", List("select"), "asm select test")) ::
> >       Menu(Loc("Help", List("help", "index"), "Help", LocGroup("help")),
> >        Menu(Loc("About", List("help", "about"), "About", LocGroup("help"))),
> >        Menu(Loc("Version", List("help", "version"), "Version",
> > LocGroup("help" :: Nil
>
> > You can render just the Help tree with:
>
> > 
>
> > Which will render something like:
>
> > http://localhost:9090/testthis/help/>">Help > href="/testthis/help/about
> > http://localhost:9090/testthis/help/about>">About > href="/testthis/help/version
> > http://localhost:9090/testthis/help/version>">Version
>
> > Similarly, you can use a group attribute:
>
> > 
>
> > But notice that this won't deduplicate entries, so we would render something
> > like:
>
> > http://localhost:9090/testthis/help/>">Help > href="/testthis/help/about
> > http://localhost:9090/testthis/help/about>">About > href="/testthis/help/version
> > http://localhost:9090/testthis/help/version>">Version > href="/testthis/help/about
> > http://localhost:9090/testthis/help/about>">About > href="/testthis/help/version
> > http://localhost:9090/testthis/help/version>">Version
>
> > This is currently checked in on the wip-dcb-menu-addons branch:
>
> >http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons
>
> > Thoughts?
>
> > Derek
>
> > On Mon, Jun 8, 2009 at 5:49 PM, glenn  wrote:
>
> > > Yes,
>
> > > I would like the expandAll behavior to work for groups and for non-
> > > root siteMaps.
> > > Here's a specific use-case. The MenuWidget in the lift-widgets package
> > > just passes everything
> > > through  as
>
> > > def render : NodeSeq = {
> > >    head ++  > > {style.toString} />
> > >  }
>
> > > So, even though the MenuWidget object has factory methods
> > > for using a  non-root siteMap, only the root siteMap is ever used.
> > > That's
> > > because Menu.builder calls a private function renderWhat, like so:
>
> > > val toRender = renderWhat(expandAll)
>
> > > which iterates through the root siteMap. There is no way, really, to
> > > subclass that
> > > to use a different siteMap.
>
> > > The problem with the Menu.group snippet is that it just works off the
> > > named group in
> > > the root siteMap, creating a parent node, but not the kids.
>
> > > It would be nice to use MenuWidget, or some subclass, to create a
> > > superfish-style
> > > nav-bar or horizontal menu for groups or non-root siteMaps just as
> > > easily as for the
> > > entire root siteMap.
>
> > > Glenn...
>
> > > On Jun 8, 3:51 pm, Joe Wass  wrote:
> > > > What

[Lift] Re: Wolfram Alpha integration for Lift

2009-06-12 Thread Timothy Perrett

Greg,

If you have any thoughts on effective ways to model this query grammar
id be interested in your thoughts :-)

Cheers, Tim

On Jun 11, 10:38 pm, Meredith Gregory 
wrote:
> All,
>
> Thanks for all this input. It certainly helps me see the value-prop better.
>
> Best wishes,
>
> --greg
>
> On Thu, Jun 11, 2009 at 2:07 PM, Kris Nuttycombe
> wrote:
>
>
>
>
>
>
>
> > I sort of see Wolfram Alpha as simply an incredibly sophisticated
> > calculator instead of an information discovery tool. What were you
> > trying to compute about polyadic pi-calculus?
>
> > Alpha seems to be trying to put all sorts of different kinds of data
> > into a common, hugely high-dimensional space so that you can perform
> > computations on it, where your computations are expressed in a mix of
> > mathematical and natural language. There are certainly a lot of things
> > that it's not useful for yet, but it's a tremendously interesting
> > problem.
>
> > Kris
>
> > On Thu, Jun 11, 2009 at 12:42 PM, Meredith
> > Gregory wrote:
> > > Tim,
>
> > > Thanks for the response. i'll have to noodle on that one. Off the top of
> > my
> > > head, i'm usually in this loop
>
> > > Initially, usually badly formulated question
> > > Get information sources
> > > Reformulate question
> > > Loop
>
> > > So, i don't really see much difference between the two, except by use. i
> > > will think about it, though.
>
> > > Best wishes,
>
> > > --greg
>
> --
> L.G. Meredith
> Managing Partner
> Biosimilarity LLC
> 1219 NW 83rd St
> Seattle, WA 98117
>
> +1 206.650.3740
>
> http://biosimilarity.blogspot.com
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] Re: YA menu question: separate menus

2009-06-12 Thread Derek Chen-Becker
OK, let me know how your testing goes and whether the change meets your
requirements.

Derek

On Fri, Jun 12, 2009 at 5:59 AM, glenn  wrote:

>
> My error. Ignore this. I did a mvn clean then mvn install outside
> of Eclipse on the parent pom and everything worked fine.
>
> Glenn...
>
> On Jun 12, 4:45 am, glenn  wrote:
> > Derek,
> >
> > I'd love to test the changes you made to Menu, but my build fails when
> > I run
> > mvn install on the pom in the lift directory of the download from
> >
> > http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons
> >
> > Here's what maven reports:
> >
> > [WARNING] Warning in manifest for net.liftweb:lift-webkit:jar:1.1-
> > SNAPSHOT : Did not find matching r
> > eferal for org.slf4j.*
> > [ERROR] Error in manifest for net.liftweb:lift-webkit:jar:1.1-
> > SNAPSHOT : The default package '.' is
> > not permitted by the Import-Package syntax.
> >  This can be caused by compile errors in Eclipse because Eclipse
> > creates
> > valid class files regardless of compile errors.
> > The following package(s) import from the default package
> > [net.liftweb.http, net.liftweb.http.auth, n
> > et.liftweb.http.js, net.liftweb.http.js.jquery, net.liftweb.sitemap]
> > [ERROR] Error(s) found in manifest configuration
> > [INFO]
> > 
> > [ERROR] BUILD ERROR
> > [INFO]
> > 
> > [INFO] Error(s) found in manifest configuration
> >
> > It seems like a problem with the construction of the following
> > plugin in the pom.
> >
> > 
> > org.apache.felix
> > maven-bundle-plugin
> > 
> >   
> > !
> > net.liftweb.util.*,net.liftweb.*;version="${pom.version}" > Package>
> > org.slf4j.*;resolution:="optional",* > Import-Package>
> > *
> >   
> > 
> >   
> >
> > Either that, or there's something else going on. Any ideas?
> >
> > Glenn...
> >
> > On Jun 11, 11:54 am, Derek Chen-Becker  wrote:
> >
> > > I'm building some code right now that I think should handle all of your
> > > cases. Since Menu.builder is already concerned with building a menu
> tree, I
> > > decided that it would be better to allow you to specify a specific item
> or
> > > group to Menu.builder instead of conflating tree building with the
> current
> > > Menu.item and Menu.group snippets. Given a SiteMap like:
> >
> > > val menus =
> > >   Menu(Loc("Home", List("index"), "Home Page")) ::
> > >   Menu(Loc("Viewtest", List("ViewTest", "test"), "View test")) ::
> > >   Menu(Loc("InsecureViewtest", List("Insecure", "test"), "Insecure
> View
> > > test")) ::
> > >   Menu(Loc("SelectTest", List("select"), "asm select test")) ::
> > >   Menu(Loc("Help", List("help", "index"), "Help",
> LocGroup("help")),
> > >Menu(Loc("About", List("help", "about"), "About",
> LocGroup("help"))),
> > >Menu(Loc("Version", List("help", "version"), "Version",
> > > LocGroup("help" :: Nil
> >
> > > You can render just the Help tree with:
> >
> > > 
> >
> > > Which will render something like:
> >
> > > http://localhost:9090/testthis/help/>">Help > > href="/testthis/help/about
> > > http://localhost:9090/testthis/help/about
> >">About > > href="/testthis/help/version
> > > http://localhost:9090/testthis/help/version
> >">Version
> >
> > > Similarly, you can use a group attribute:
> >
> > > 
> >
> > > But notice that this won't deduplicate entries, so we would render
> something
> > > like:
> >
> > > http://localhost:9090/testthis/help/>">Help > > href="/testthis/help/about
> > > http://localhost:9090/testthis/help/about
> >">About > > href="/testthis/help/version
> > > http://localhost:9090/testthis/help/version
> >">Version > > href="/testthis/help/about
> > > http://localhost:9090/testthis/help/about
> >">About > > href="/testthis/help/version
> > > http://localhost:9090/testthis/help/version
> >">Version
> >
> > > This is currently checked in on the wip-dcb-menu-addons branch:
> >
> > >http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons
> >
> > > Thoughts?
> >
> > > Derek
> >
> > > On Mon, Jun 8, 2009 at 5:49 PM, glenn  wrote:
> >
> > > > Yes,
> >
> > > > I would like the expandAll behavior to work for groups and for non-
> > > > root siteMaps.
> > > > Here's a specific use-case. The MenuWidget in the lift-widgets
> package
> > > > just passes everything
> > > > through  as
> >
> > > > def render : NodeSeq = {
> > > >head ++  > > > {style.toString} />
> > > >  }
> >
> > > > So, even though the MenuWidget object has factory methods
> > > > for using a  non-root siteMap, only the root siteMap is ever used.
> > > > That's
> > > > because Menu.builder calls a private function renderWhat, like so:
> >
> > > > val toRender = renderWhat(expandAll)
> >
> > > > which iterates through the root siteMap. There is no way, really, to
> > > > subclass that
> > > > to use a different siteMap.
> >
>

[Lift] Re: YA menu question: separate menus

2009-06-12 Thread glenn

Derek,

Your new Menu snippet works great. I created a superfish-style menu
using
a list of groups, like so:

object MenuWidgetEx {

   def apply(groups:List[String]) = new MenuWidgetEx(groups,
MenuStyle.HORIZONTAL, JsObj()) render

   def apply(groups:List[String], style: MenuStyle.Value) = new
MenuWidgetEx(groups, style, JsObj()) render

   def apply(groups:List[String], jsObj: JsObj) = new MenuWidgetEx
(groups, MenuStyle.HORIZONTAL, jsObj) render

   def apply(groups:List[String], style: MenuStyle.Value, jsObj:
JsObj) = new MenuWidgetEx(groups, style, jsObj) render
}


class MenuWidgetEx(groups:List[String], style: MenuStyle.Value, jsObj:
JsObj) extends
  MenuWidget(LiftRules.siteMap open_!, style: MenuStyle.Value, jsObj:
JsObj){

 override def render :NodeSeq = {

def buildMenu(group:String) = 


head ++ 
{for(group <- groups) yield {buildMenu(group)}}



   }

Someone should redo the MenuWidget snippet to handle your
new Menu.builder construct, so it doesn't have to be subclassed.

Glenn...



On Jun 12, 4:59 am, glenn  wrote:
> My error. Ignore this. I did a mvn clean then mvn install outside
> of Eclipse on the parent pom and everything worked fine.
>
> Glenn...
>
> On Jun 12, 4:45 am, glenn  wrote:
>
> > Derek,
>
> > I'd love to test the changes you made to Menu, but my build fails when
> > I run
> > mvn install on the pom in the lift directory of the download from
>
> >http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons
>
> > Here's what maven reports:
>
> > [WARNING] Warning in manifest for net.liftweb:lift-webkit:jar:1.1-
> > SNAPSHOT : Did not find matching r
> > eferal for org.slf4j.*
> > [ERROR] Error in manifest for net.liftweb:lift-webkit:jar:1.1-
> > SNAPSHOT : The default package '.' is
> > not permitted by the Import-Package syntax.
> >  This can be caused by compile errors in Eclipse because Eclipse
> > creates
> > valid class files regardless of compile errors.
> > The following package(s) import from the default package
> > [net.liftweb.http, net.liftweb.http.auth, n
> > et.liftweb.http.js, net.liftweb.http.js.jquery, net.liftweb.sitemap]
> > [ERROR] Error(s) found in manifest configuration
> > [INFO]
> > 
> > [ERROR] BUILD ERROR
> > [INFO]
> > 
> > [INFO] Error(s) found in manifest configuration
>
> > It seems like a problem with the construction of the following
> > plugin in the pom.
>
> > 
> >         org.apache.felix
> >         maven-bundle-plugin
> >         
> >           
> >             !
> > net.liftweb.util.*,net.liftweb.*;version="${pom.version}" > Package>
> >             org.slf4j.*;resolution:="optional",* > Import-Package>
> >             *
> >           
> >         
> >       
>
> > Either that, or there's something else going on. Any ideas?
>
> > Glenn...
>
> > On Jun 11, 11:54 am, Derek Chen-Becker  wrote:
>
> > > I'm building some code right now that I think should handle all of your
> > > cases. Since Menu.builder is already concerned with building a menu tree, 
> > > I
> > > decided that it would be better to allow you to specify a specific item or
> > > group to Menu.builder instead of conflating tree building with the current
> > > Menu.item and Menu.group snippets. Given a SiteMap like:
>
> > >     val menus =
> > >       Menu(Loc("Home", List("index"), "Home Page")) ::
> > >       Menu(Loc("Viewtest", List("ViewTest", "test"), "View test")) ::
> > >       Menu(Loc("InsecureViewtest", List("Insecure", "test"), "Insecure 
> > > View
> > > test")) ::
> > >       Menu(Loc("SelectTest", List("select"), "asm select test")) ::
> > >       Menu(Loc("Help", List("help", "index"), "Help", LocGroup("help")),
> > >        Menu(Loc("About", List("help", "about"), "About", 
> > > LocGroup("help"))),
> > >        Menu(Loc("Version", List("help", "version"), "Version",
> > > LocGroup("help" :: Nil
>
> > > You can render just the Help tree with:
>
> > > 
>
> > > Which will render something like:
>
> > > http://localhost:9090/testthis/help/>">Help > > href="/testthis/help/about
> > > http://localhost:9090/testthis/help/about>">About > > href="/testthis/help/version
> > > http://localhost:9090/testthis/help/version>">Version
>
> > > Similarly, you can use a group attribute:
>
> > > 
>
> > > But notice that this won't deduplicate entries, so we would render 
> > > something
> > > like:
>
> > > http://localhost:9090/testthis/help/>">Help > > href="/testthis/help/about
> > > http://localhost:9090/testthis/help/about>">About > > href="/testthis/help/version
> > > http://localhost:9090/testthis/help/version>">Version > > href="/testthis/help/about
> > > http://localhost:9090/testthis/help/about>">About > > href="/testthis/help/version
> > > http://localhost:9090/testthis/help/version>">Version
>
> > > This is currently checked in on the wip-dcb-menu-addons branch:
>
> > >http://gi

[Lift] Lift Shopping Cart?

2009-06-12 Thread David Persons

I am experimenting with Lift / Scala and am thinking about using it
for some projects in the future. Really like it. For a website I need
shopping cart functionality. In last years post 'Making modular lift
functionality' I read about plans for making a Lift shopping cart
module. What is the status of this project? Is there a shopping cart
example / project available which I can use / look at?

Same question for a user Forum in Lift, is there a Lift Forum module?

regards,
David Persons

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this 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 Shopping Cart?

2009-06-12 Thread marius d.

There is a PayPal module I think.

Br's,
Marius

On Jun 12, 5:08 pm, David Persons  wrote:
> I am experimenting with Lift / Scala and am thinking about using it
> for some projects in the future. Really like it. For a website I need
> shopping cart functionality. In last years post 'Making modular lift
> functionality' I read about plans for making a Lift shopping cart
> module. What is the status of this project? Is there a shopping cart
> example / project available which I can use / look at?
>
> Same question for a user Forum in Lift, is there a Lift Forum module?
>
> regards,
> David Persons
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this 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 Shopping Cart?

2009-06-12 Thread Timothy Perrett

The paypal module simply covers transactional integration - there is
no support for paypal shopping cart.

You could of course write your own shopping car JAR and just hook that
into lift any which way you would like.

Cheers, Tim

On Jun 12, 3:24 pm, "marius d."  wrote:
> There is a PayPal module I think.
>
> Br's,
> Marius
>
> On Jun 12, 5:08 pm, David Persons  wrote:
>
>
>
> > I am experimenting with Lift / Scala and am thinking about using it
> > for some projects in the future. Really like it. For a website I need
> > shopping cart functionality. In last years post 'Making modular lift
> > functionality' I read about plans for making a Lift shopping cart
> > module. What is the status of this project? Is there a shopping cart
> > example / project available which I can use / look at?
>
> > Same question for a user Forum in Lift, is there a Lift Forum module?
>
> > regards,
> > David Persons
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~--~~~~--~~--~--~---



[Lift] URL Rewriting problem

2009-06-12 Thread glenn

RewriteRequest isn't working in my app, so I must be doing something
wrong, or leaving something important out.

I have a menu in my siteMap:

Menu(Loc("contact", List("info", "contact"), "Contact Us", LocGroup
("info")))

My boot.scala contains this:

LiftRules.rewrite.append {
case RewriteRequest(
ParsePath(List("info","contact"),_,_,_),_,_) =>
RewriteResponse("content" :: Nil, Map("tag" -> 
"contact"))
   ...
}

And I have a content.html page in webapp.

Clicking on the "Contact Us" menu returns an HTTP 403 error, not
content.html.

Any help would be appreciated.

Glenn...

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this 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: YA menu question: separate menus

2009-06-12 Thread Derek Chen-Becker
Tied up with work this afternoon, but I'll look at reworking MenuWidget with
the added functionality.

On Fri, Jun 12, 2009 at 6:40 AM, glenn  wrote:

>
> Derek,
>
> Your new Menu snippet works great. I created a superfish-style menu
> using
> a list of groups, like so:
>
> object MenuWidgetEx {
>
>   def apply(groups:List[String]) = new MenuWidgetEx(groups,
> MenuStyle.HORIZONTAL, JsObj()) render
>
>   def apply(groups:List[String], style: MenuStyle.Value) = new
> MenuWidgetEx(groups, style, JsObj()) render
>
>   def apply(groups:List[String], jsObj: JsObj) = new MenuWidgetEx
> (groups, MenuStyle.HORIZONTAL, jsObj) render
>
>   def apply(groups:List[String], style: MenuStyle.Value, jsObj:
> JsObj) = new MenuWidgetEx(groups, style, jsObj) render
> }
>
>
> class MenuWidgetEx(groups:List[String], style: MenuStyle.Value, jsObj:
> JsObj) extends
>  MenuWidget(LiftRules.siteMap open_!, style: MenuStyle.Value, jsObj:
> JsObj){
>
> override def render :NodeSeq = {
>
>def buildMenu(group:String) =  expandAll="true" top:class={style.toString} />
>
>
> head ++ 
>{for(group <- groups) yield {buildMenu(group)}}
>
>
>
>   }
>
> Someone should redo the MenuWidget snippet to handle your
> new Menu.builder construct, so it doesn't have to be subclassed.
>
> Glenn...
>
>
>
> On Jun 12, 4:59 am, glenn  wrote:
> > My error. Ignore this. I did a mvn clean then mvn install outside
> > of Eclipse on the parent pom and everything worked fine.
> >
> > Glenn...
> >
> > On Jun 12, 4:45 am, glenn  wrote:
> >
> > > Derek,
> >
> > > I'd love to test the changes you made to Menu, but my build fails when
> > > I run
> > > mvn install on the pom in the lift directory of the download from
> >
> > >http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons
> >
> > > Here's what maven reports:
> >
> > > [WARNING] Warning in manifest for net.liftweb:lift-webkit:jar:1.1-
> > > SNAPSHOT : Did not find matching r
> > > eferal for org.slf4j.*
> > > [ERROR] Error in manifest for net.liftweb:lift-webkit:jar:1.1-
> > > SNAPSHOT : The default package '.' is
> > > not permitted by the Import-Package syntax.
> > >  This can be caused by compile errors in Eclipse because Eclipse
> > > creates
> > > valid class files regardless of compile errors.
> > > The following package(s) import from the default package
> > > [net.liftweb.http, net.liftweb.http.auth, n
> > > et.liftweb.http.js, net.liftweb.http.js.jquery, net.liftweb.sitemap]
> > > [ERROR] Error(s) found in manifest configuration
> > > [INFO]
> > >
> 
> > > [ERROR] BUILD ERROR
> > > [INFO]
> > >
> 
> > > [INFO] Error(s) found in manifest configuration
> >
> > > It seems like a problem with the construction of the following
> > > plugin in the pom.
> >
> > > 
> > > org.apache.felix
> > > maven-bundle-plugin
> > > 
> > >   
> > > !
> > > net.liftweb.util.*,net.liftweb.*;version="${pom.version}" > > Package>
> > > org.slf4j.*;resolution:="optional",* > > Import-Package>
> > > *
> > >   
> > > 
> > >   
> >
> > > Either that, or there's something else going on. Any ideas?
> >
> > > Glenn...
> >
> > > On Jun 11, 11:54 am, Derek Chen-Becker  wrote:
> >
> > > > I'm building some code right now that I think should handle all of
> your
> > > > cases. Since Menu.builder is already concerned with building a menu
> tree, I
> > > > decided that it would be better to allow you to specify a specific
> item or
> > > > group to Menu.builder instead of conflating tree building with the
> current
> > > > Menu.item and Menu.group snippets. Given a SiteMap like:
> >
> > > > val menus =
> > > >   Menu(Loc("Home", List("index"), "Home Page")) ::
> > > >   Menu(Loc("Viewtest", List("ViewTest", "test"), "View test")) ::
> > > >   Menu(Loc("InsecureViewtest", List("Insecure", "test"),
> "Insecure View
> > > > test")) ::
> > > >   Menu(Loc("SelectTest", List("select"), "asm select test")) ::
> > > >   Menu(Loc("Help", List("help", "index"), "Help",
> LocGroup("help")),
> > > >Menu(Loc("About", List("help", "about"), "About",
> LocGroup("help"))),
> > > >Menu(Loc("Version", List("help", "version"), "Version",
> > > > LocGroup("help" :: Nil
> >
> > > > You can render just the Help tree with:
> >
> > > > 
> >
> > > > Which will render something like:
> >
> > > > http://localhost:9090/testthis/help/
> >">Help > > > href="/testthis/help/about
> > > > http://localhost:9090/testthis/help/about
> >">About > > > href="/testthis/help/version
> > > > http://localhost:9090/testthis/help/version
> >">Version
> >
> > > > Similarly, you can use a group attribute:
> >
> > > > 
> >
> > > > But notice that this won't deduplicate entries, so we would render
> something
> > > > like:
> >
> > > > http://localhost:9090/testthis/

[Lift] Re: URL Rewriting problem

2009-06-12 Thread Derek Chen-Becker
Do you have a menu item that matches List("content")? If not, that's why
you're getting the 403. If you use SiteMap it has to be exhaustive for all
content on your site. Anything that doesn't match as SiteMap entry will get
a 403 error like you got here. If you don't want to show a menu item for a
particular page (probably in this case), use a Hidden Menu:

Menu(Loc("content", List("content"), "Internal Content", Hidden))

Derek

On Fri, Jun 12, 2009 at 11:44 AM, glenn  wrote:

>
> RewriteRequest isn't working in my app, so I must be doing something
> wrong, or leaving something important out.
>
> I have a menu in my siteMap:
>
> Menu(Loc("contact", List("info", "contact"), "Contact Us", LocGroup
> ("info")))
>
> My boot.scala contains this:
>
> LiftRules.rewrite.append {
>case RewriteRequest(
>ParsePath(List("info","contact"),_,_,_),_,_) =>
>RewriteResponse("content" :: Nil, Map("tag" ->
> "contact"))
>   ...
> }
>
> And I have a content.html page in webapp.
>
> Clicking on the "Contact Us" menu returns an HTTP 403 error, not
> content.html.
>
> Any help would be appreciated.
>
> Glenn...
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this 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: URL Rewriting problem

2009-06-12 Thread David Pollak
On Fri, Jun 12, 2009 at 10:44 AM, glenn  wrote:

>
> RewriteRequest isn't working in my app, so I must be doing something
> wrong, or leaving something important out.
>
> I have a menu in my siteMap:
>
> Menu(Loc("contact", List("info", "contact"), "Contact Us", LocGroup
> ("info")))
>
> My boot.scala contains this:
>
> LiftRules.rewrite.append {
>case RewriteRequest(
>ParsePath(List("info","contact"),_,_,_),_,_) =>
>RewriteResponse("content" :: Nil, Map("tag" ->
> "contact"))
>   ...
> }
>
> And I have a content.html page in webapp.


I think there's a better way to achieve what you want... lemme know together
some code for you.


>
>
> Clicking on the "Contact Us" menu returns an HTTP 403 error, not
> content.html.
>
> Any help would be appreciated.
>
> Glenn...
>
> >
>


-- 
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: URL Rewriting problem

2009-06-12 Thread glenn

David,

Here's my scenario. I've got about 30 menus organized into about 7 or
8 groups. Thanks to
help from you and Derek and others in this discussion, I can display
nested menus in
groups as a horizontal superfish menu.

Using URL Rewriting, as described in the master lift book, I created a
method:

def rewrite:LiftRules.RewritePF = {
//Services
 case RewriteRequest(
ParsePath(List("services"),_,_,_),_,_) =>
RewriteResponse("content" :: Nil, Map("tag" -> 
"services"))
 case RewriteRequest(
ParsePath(List("services","coreguard"),_,_,_),_,_) =>
RewriteResponse("content" :: Nil, Map("tag" -> 
"coreguard"))
 case RewriteRequest(
ParsePath(List("services","estatePlanning"),_,_,_),_,_) =>
RewriteResponse("content" :: Nil, Map("tag" ->
"estatePlanning"))
 case RewriteRequest( 

...
}

That sends all my requests to  a content.html template:


  

  
   


The snippet is just as riduculously simple:

def content(xhtml:NodeSeq):NodeSeq = {
val c = S.param("tag") openOr ""

bind("c", xhtml,
"title" -> S.?(c))
  }

This navigation works, though is repititious.
It would be relatively easy to extend this idea to generate menus,
complete with navigation, programatically (say, from an xml file or a
data table) and allow
site administrators and other users to drag-and-drop menus as desired.

The point of all this, in my view, is to eventually populate
content.html with data/documents/templates/atom feeds, whatever, with
nothing
more than the RewriteResponse Map parameter, and voila, you have a
fledgling CMS built with relatively few lines of code.

If  you have some alternative ideas for creating a programatic
navigation system, I would be very interested.

Glenn...


On Jun 12, 2:39 pm, David Pollak 
wrote:
> On Fri, Jun 12, 2009 at 10:44 AM, glenn  wrote:
>
> > RewriteRequest isn't working in my app, so I must be doing something
> > wrong, or leaving something important out.
>
> > I have a menu in my siteMap:
>
> > Menu(Loc("contact", List("info", "contact"), "Contact Us", LocGroup
> > ("info")))
>
> > My boot.scala contains this:
>
> > LiftRules.rewrite.append {
> >        case RewriteRequest(
> >                ParsePath(List("info","contact"),_,_,_),_,_) =>
> >                        RewriteResponse("content" :: Nil, Map("tag" ->
> > "contact"))
> >       ...
> > }
>
> > And I have a content.html page in webapp.
>
> I think there's a better way to achieve what you want... lemme know together
> some code for you.
>
>
>
> > Clicking on the "Contact Us" menu returns an HTTP 403 error, not
> > content.html.
>
> > Any help would be appreciated.
>
> > Glenn...
>
> --
> Lift, the simply functional web frameworkhttp://liftweb.net
> Beginning Scalahttp://www.apress.com/book/view/1430219890
> Follow me:http://twitter.com/dpp
> Git some:http://github.com/dpp

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



[Lift] Re: URL Rewriting problem

2009-06-12 Thread David Pollak
So, you want custom content with menus generated from the database...
well...

class BaseContentLoc(val name: String, _aspect: String) extends
Loc[CustomContent] {
  // the name of the page
  // def name = "Content"

  val BaseAspect = _aspect

  def defaultParams = Full(ContentLocStuff.NullCustomContent)

  override def forceParam = defaultParams

  // the default parameters (used for generating the menu listing)
  override def additionalKidParams =
CustomContent.findAll(By(CustomContent.aspect, BaseAspect),

OrderBy(CustomContent.displayOrder, Ascending))

  // no extra parameters
  def params = List(Loc.PlaceHolder, Loc.Template(myTemplate))

  def myTemplate() =
  


  /**
   * Generate a link based on the current page
   */
  val link =
  new Loc.Link[CustomContent](List(BaseAspect), false) {
override def createLink(in: CustomContent) = {
  Full(Text("/"+urlEncode(BaseAspect)+"/"+urlEncode(in.page)))
}
  }

  /**
   * What's the text of the link?
   */
  val text = new Loc.LinkText(calcLinkText _)

  def calcLinkText(in: CustomContent): NodeSeq = {
if (in.page.length > 0) Text(in.page) else Text(name)
  }

  object Finder {
def unapply(page: String): Option[CustomContent] =
CustomContent.findContent(page, BaseAspect)
  }

  /**
   * Rewrite the request and emit the type-safe parameter
   */
  override val rewrite: LocRewrite =
  Full({
  case RewriteRequest(ParsePath(BaseAspect :: Finder(content) :: Nil,
_, _, _), _, _) =>
(RewriteResponse(BaseAspect :: Nil), content)
})

  /**
   * Check for page-specific snippets and
   * do appropriate dispatching
   */
  override val snippets: SnippetTest = {
case ("display", Full(v)) =>  display(v) _
  }

  def display(v: CustomContent)(in: NodeSeq) = v.content openOr in
}

This will autogenerate submenus based on a DB lookup of CustomeContent.

Does this help achieve your longer term goal?

Thanks,

David

On Fri, Jun 12, 2009 at 3:20 PM, glenn  wrote:

>
> David,
>
> Here's my scenario. I've got about 30 menus organized into about 7 or
> 8 groups. Thanks to
> help from you and Derek and others in this discussion, I can display
> nested menus in
> groups as a horizontal superfish menu.
>
> Using URL Rewriting, as described in the master lift book, I created a
> method:
>
> def rewrite:LiftRules.RewritePF = {
>//Services
> case RewriteRequest(
>ParsePath(List("services"),_,_,_),_,_) =>
>RewriteResponse("content" :: Nil, Map("tag" ->
> "services"))
> case RewriteRequest(
>ParsePath(List("services","coreguard"),_,_,_),_,_) =>
>RewriteResponse("content" :: Nil, Map("tag" ->
> "coreguard"))
> case RewriteRequest(
>ParsePath(List("services","estatePlanning"),_,_,_),_,_) =>
> RewriteResponse("content" :: Nil, Map("tag" ->
> "estatePlanning"))
> case RewriteRequest( 
>
>...
> }
>
> That sends all my requests to  a content.html template:
>
> 
>  
>
>  
>   
> 
>
> The snippet is just as riduculously simple:
>
> def content(xhtml:NodeSeq):NodeSeq = {
>val c = S.param("tag") openOr ""
>
>bind("c", xhtml,
>"title" -> S.?(c))
>  }
>
> This navigation works, though is repititious.
> It would be relatively easy to extend this idea to generate menus,
> complete with navigation, programatically (say, from an xml file or a
> data table) and allow
> site administrators and other users to drag-and-drop menus as desired.
>
> The point of all this, in my view, is to eventually populate
> content.html with data/documents/templates/atom feeds, whatever, with
> nothing
> more than the RewriteResponse Map parameter, and voila, you have a
> fledgling CMS built with relatively few lines of code.
>
> If  you have some alternative ideas for creating a programatic
> navigation system, I would be very interested.
>
> Glenn...
>
>
> On Jun 12, 2:39 pm, David Pollak 
> wrote:
> > On Fri, Jun 12, 2009 at 10:44 AM, glenn  wrote:
> >
> > > RewriteRequest isn't working in my app, so I must be doing something
> > > wrong, or leaving something important out.
> >
> > > I have a menu in my siteMap:
> >
> > > Menu(Loc("contact", List("info", "contact"), "Contact Us", LocGroup
> > > ("info")))
> >
> > > My boot.scala contains this:
> >
> > > LiftRules.rewrite.append {
> > >case RewriteRequest(
> > >ParsePath(List("info","contact"),_,_,_),_,_) =>
> > >RewriteResponse("content" :: Nil, Map("tag" ->
> > > "contact"))
> > >   ...
> > > }
> >
> > > And I have a content.html page in webapp.
> >
> > I think there's a better way to achieve what you want... lemme know
> together
> > some code for you.
> >
> >
> >
> > > Clicking on the "Contact Us" menu returns an HTTP 403 error, not
> > > content.html.
> >
> > > Any help would be appreciated.
> >
> > > Glenn...
> >
> > --
> > Lift

[Lift] Lift and Scala for Non-Java Programmers

2009-06-12 Thread Peter Robinett

Hi guys,

I know this is more a Scala question than a Lift one but I do all my
web programming within frameworks and I find it's easiest to learn a
language when doing a real project...

Are there any tutorials, let alone good ones, introducing Scala (and
Lift) to programmers with no knowledge or interest in Java?

I've seen several introductions to Scala for Java programmers (Scala
for Java Refugees and Alex Blewitt's articles look particularly in-
depth) but next to nothing for people with other backgrounds. I know
that most Scala people are coming from Java but I would imagine that
there is something for us coming from beyond the Java world.

As for me, I've done a lot of stuff in PHP (CakePHP) and Python
(Pylons, Django) and have spent the last six months mostly doing front-
end work in Javascript. Basically I'm a quick and dirty interpreted
language coder and I'm now looking at Scala because I believe my next
project will demand (near) real-time performance that I don't think
I'd be able to get in my usual languages. Lift looks like a really
nice framework and its Comet, XMPP and OSGI integration are things I
will most likely use in the project.

As somewhat of an aside, I'd like to add my two cents about the
existing tutorials. The To Do tutorial was quite nice and a great
introduction to Lift but didn't leave me at the point where I'm be
comfortable writing my own stand-alone code. I wanted to then do the
PocketChange tutorial (thanks for putting the PDF of the book online!)
but it's way too high-level for me and glosses over a bunch of stuff.
For instance, "import ... standard imports ..." is very unhelpful for
me – I still don't know what are the standard Lift imports! Finally,
the tutorial code snippets on the wiki are very useful.

Like I said, I understand that I'm looking for more a Scala tutorial
than a Lift one but I appreciate any links and suggestions. Thanks for
the great work on the project and as I make progress in my learning I
promise to write up my experiences!

Peter Robinett

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



[Lift] Re: Lift and Scala for Non-Java Programmers

2009-06-12 Thread David Pollak
Peter,

If you want to learn enough Scala to make Programming in Scala a good read,
I'd like to suggest my book, Beginning Scala.  While it does do some
comparison between Scala and Java, it does so with two goals: (1) to use
Java as a generic OO-ish language and (2) to show how Scala's syntax and
features makes writing type-safe code much more efficient.

If you know Python and JavaScript, I think the book will be your speed.

Thanks,

David

On Fri, Jun 12, 2009 at 4:03 PM, Peter Robinett wrote:

>
> Hi guys,
>
> I know this is more a Scala question than a Lift one but I do all my
> web programming within frameworks and I find it's easiest to learn a
> language when doing a real project...
>
> Are there any tutorials, let alone good ones, introducing Scala (and
> Lift) to programmers with no knowledge or interest in Java?
>
> I've seen several introductions to Scala for Java programmers (Scala
> for Java Refugees and Alex Blewitt's articles look particularly in-
> depth) but next to nothing for people with other backgrounds. I know
> that most Scala people are coming from Java but I would imagine that
> there is something for us coming from beyond the Java world.
>
> As for me, I've done a lot of stuff in PHP (CakePHP) and Python
> (Pylons, Django) and have spent the last six months mostly doing front-
> end work in Javascript. Basically I'm a quick and dirty interpreted
> language coder and I'm now looking at Scala because I believe my next
> project will demand (near) real-time performance that I don't think
> I'd be able to get in my usual languages. Lift looks like a really
> nice framework and its Comet, XMPP and OSGI integration are things I
> will most likely use in the project.
>
> As somewhat of an aside, I'd like to add my two cents about the
> existing tutorials. The To Do tutorial was quite nice and a great
> introduction to Lift but didn't leave me at the point where I'm be
> comfortable writing my own stand-alone code. I wanted to then do the
> PocketChange tutorial (thanks for putting the PDF of the book online!)
> but it's way too high-level for me and glosses over a bunch of stuff.
> For instance, "import ... standard imports ..." is very unhelpful for
> me – I still don't know what are the standard Lift imports! Finally,
> the tutorial code snippets on the wiki are very useful.
>
> Like I said, I understand that I'm looking for more a Scala tutorial
> than a Lift one but I appreciate any links and suggestions. Thanks for
> the great work on the project and as I make progress in my learning I
> promise to write up my experiences!
>
> Peter Robinett
>
> >
>


-- 
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: Wolfram Alpha integration for Lift

2009-06-12 Thread Meredith Gregory
Tim,

Thanks for the prompt. Can you point me to a description of what's possible
with W|A? i can put together a draft that you can then rev.

Best wishes,

--greg

On Fri, Jun 12, 2009 at 6:26 AM, Timothy Perrett wrote:

>
> Greg,
>
> If you have any thoughts on effective ways to model this query grammar
> id be interested in your thoughts :-)
>
> Cheers, Tim
>
> On Jun 11, 10:38 pm, Meredith Gregory 
> wrote:
> > All,
> >
> > Thanks for all this input. It certainly helps me see the value-prop
> better.
> >
> > Best wishes,
> >
> > --greg
> >
> > On Thu, Jun 11, 2009 at 2:07 PM, Kris Nuttycombe
> > wrote:
> >
> >
> >
> >
> >
> >
> >
> > > I sort of see Wolfram Alpha as simply an incredibly sophisticated
> > > calculator instead of an information discovery tool. What were you
> > > trying to compute about polyadic pi-calculus?
> >
> > > Alpha seems to be trying to put all sorts of different kinds of data
> > > into a common, hugely high-dimensional space so that you can perform
> > > computations on it, where your computations are expressed in a mix of
> > > mathematical and natural language. There are certainly a lot of things
> > > that it's not useful for yet, but it's a tremendously interesting
> > > problem.
> >
> > > Kris
> >
> > > On Thu, Jun 11, 2009 at 12:42 PM, Meredith
> > > Gregory wrote:
> > > > Tim,
> >
> > > > Thanks for the response. i'll have to noodle on that one. Off the top
> of
> > > my
> > > > head, i'm usually in this loop
> >
> > > > Initially, usually badly formulated question
> > > > Get information sources
> > > > Reformulate question
> > > > Loop
> >
> > > > So, i don't really see much difference between the two, except by
> use. i
> > > > will think about it, though.
> >
> > > > Best wishes,
> >
> > > > --greg
> >
> > --
> > L.G. Meredith
> > Managing Partner
> > Biosimilarity LLC
> > 1219 NW 83rd St
> > Seattle, WA 98117
> >
> > +1 206.650.3740
> >
> > http://biosimilarity.blogspot.com
> >
>


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

+1 206.650.3740

http://biosimilarity.blogspot.com

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



[Lift] Mapper record deletion

2009-06-12 Thread g-man

As I move deeper into learning Lift, I now want to start deleting
Mapper records in the ToDo example.

My first problem is how to get an ECMAscript or jQuery 'Confirm
delete' dialog to actually delegate an affirmative 'OK' button click
to the deletion, and conversely, to do nothing for the 'Cancel'
action.

Right now, both just fall through to the default:

toShow.flatMap(td => bind("todo", html, "delete" -> link("/todo", ()
=> td.delete_!, )% ("onclick" ->
"confirm();") , "check" -> ...

Thanks!

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