David Pollak wrote:
>
>
> On Thu, Apr 30, 2009 at 10:48 PM, Andrew Scherpbier
> <[email protected] <mailto:[email protected]>> wrote:
>
>
> The "Getting Started" document got me hooked on Lift. :-)
> I guess I'll report my struggles from there. I don't know if what
> I did
> is typical.
>
> After actually running the two examples from the "Getting Started"
> docs,
> I looked and found some other examples, did some looking around in the
> mailing list archives and started reading the "Exploring Lift" book.
> As a starting application of lift, I want to write a simple purchase
> order tracking webapp. It was easy enough to figure out how to
> hook up
> PostgreSQL instead of Derby. I started experimenting with the CRUDify
> trait and got several tables working, but then I got stuck trying to
> make a more cohesive app. What I could not figure out was how to use
> CRUDify's functionality without having to put all the options in the
> SiteMap. So I spent a lot of time trying to figure out the SiteMap
> class. I have since come to the realization that I probably shouldn't
> be using CRUDify, as non of the examples actually use it. I have also
> realized that I should be putting rules in LiftRules.rewrite.
>
>
> I don't think so. I think that you should be using SiteMap. SiteMap
> is the best tool for defining site navigation and access control rules
> around.
>
> CRUDify and ProtoUser are like scaffolding... they get you some pieces
> really quickly, but you'll ultimately need to replace them. You
> should never have to replace SiteMap.
>
> So... what's the specific challenge you're running into with SiteMap?
>
The first challenge I had was trying to figure out how to keep the
functionality of CRUDify, but not the menu items. The docs state that
you can override defs. ie:
*createMenuLoc* |def createMenuLoc|
The menu item for listing items (make this "Empty" to disable)
Box <javascript:void>[Menu <javascript:void>]
But I don't want to disable it, just hide it from the menu.
Then, failing that, I wanted to put the menu items in a sub-menu in the
SiteMap. I wasn't able to accomplish this while keeping the CRUDify
functionality functioning. (The submenu seems to always to add a level
to URI but the CRUDify trait doesn't know about that? I could be
grossly wrong, of course!)
Ultimately, in the app I'm trying to build, CRUDify would only be useful
for the main record type. Most other records have a 1-n relationship
with the main record. It is unclear to me how to use CRUDify in this
situation. (I can use CRUDify to add a PO, but how do I use CRUDify to
add SKUs to a specific PO?)
So, looking at the pocketchange app which has this kind of record
relationship as well, I figured that CRUDify was not the right
solution. (I hope I'm wrong, because I like what CRUDify provides!)
>
>
> So, my point, I guess, is that it was never clear to me what request
> rewriting was all about. I didn't understand the explanations and
> basically just skipped it and tried to do everything with SiteMap.
> What I have taken away from this: "Request Rewriting" sounds very
> advanced and made me think of sendmail rewriting rules! (Yuck!)
> Maybe it would be good to have some blurbs on "Lift for JEE
> developers". What is the equivalent of mapping a URL to a servlet and
> how do you deal with the URL pattern matching. (I want to map
> "/foo/*"
> to a some soft of action)
>
> So that would then be a nice lead-in to coverage of
> net.liftweb.http.S,
> right?
>
> Anyway, back to API docs, it never occurred to be to look at the docs
> for net.liftweb.http.LiftRules! There are actually lots of comments
> there. The "rewrite" is kinda hidden there, so it probably should be
> called out in the class docs. Then for the actual "rewrite" docs, it
> would be nice to give some examples of what should go in there or
> provide a link to external docs showing the same.
>
> How have other people tackled the learning curve of lift?
>
> --Andrew
>
> Derek Chen-Becker wrote:
> > In terms of the API docs part of it would just be expanding on the
> > current scaladoc to provider better explanation. Obviously there
> are a
> > ton of classes to document, so I'd like to focus efforts on getting
> > the most bang for the buck. I was thinking of starting with
> > net.liftweb.http.{LiftRules,S,SHtml} and making the documentation on
> > them *outstanding*. We can branch out from there. If you're
> coming to
> > Lift new, it would also be helpful to find out what we're missing or
> > need to cover better in the "Getting Started" document on the web
> > site. If you want to read through that and provide feedback here on
> > the list that would be great.
> >
> > Derek
> >
> > On Thu, Apr 30, 2009 at 12:20 PM, Andrew Scherpbier
> > <[email protected] <mailto:[email protected]>
> <mailto:[email protected] <mailto:[email protected]>>> wrote:
> >
> >
> > Derek,
> > That's awesome. I want to help. What can I do? I can
> start by proof
> > reading stuff.
> >
> > --Andrew
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---