Tim,

My last post may be dismissed as adding more complication than simply
editing Boot.scala. But keep in mind that a consistent, uniform and
robust
procedure for modularization across the Lift universe is to be favored
over the
ad-hoc approach, as exists now. In my view, opening a project and
editing
source files should always be a last-resort option.

Glenn...

On Jul 28, 9:36 am, Timothy Perrett <timo...@getintheloop.eu> wrote:
> Glenn,
>
> You have my full attention - this is something I've been sitting on for
> quite some time but just not quite sure what the best route forward is.
>
> When im creating these modules, I essentially just build a normal jar
> project with maven, and as you say, if I have JS or whatever that I need to
> use I just specify that with ResourceServer (in the module JAR init).
>
> To date I've not actually needed to pull a template from another JAR, but
> looking at ResourceServer.findResourceInClasspath I think it could do it...
> If memory serves DPP checked in a change to make this work about 2 weeks
> ago...
>
> In terms of having a defined loading pattern, its possible, but would need
> outlining with some very specific details... IMO, adding one line of code to
> Boot.scala is not a big deal so we would really need a good reason to add a
> bunch of reflection which can sometime feel like voodoo because its not
> clear what its loading and why (one of the reasons I went off ruby).
>
> Cheers, tim
>
> On 28/07/2009 17:00, "glenn" <gl...@exmbly.com> wrote:
>
>
>
> > Hi, Tim,
>
> > So, what you do is put all new LiftRules, Schemifier and
> > ResourceServer stuff
> > in an init function and run it after the Boot.scala defaults. Sounds
> > simple enough.
>
> > When creating your modules, do you just strip out all the stock webapp
> > files (those
> > that come with the maven lift archetypes), and put all your new
> > resources in a
> > "toserve" directory, then just jar it up?
>
> > And what about any new template files? Where do those go in you module
> > jars?
> > You can't put them in the "toserver" directory. My understanding is
> > that that would
> > install them in the WEB-INF/classes directory of your final war file,
> > when they
> > need to go into the root webapp.
>
> > I still see loose ends here.
>
> > Also, what if you didn't have to modify Bool.scala for every
> > module you add. Some hook function in an object that Boot.scala runs
> > each time that
> > would iterate through all your init functions that followed a pre-
> > defined
> > signature, would be a nice feature to add to Lift.
>
> > Glenn...
>
> > On Jul 27, 4:01 pm, Timothy Perrett <timo...@getintheloop.eu> wrote:
> >> Hi Glen...
>
> >> I actually do a lot of this - we have a product at work and i've just
> >> written a bunch of abstractions for work which just require me to do:
>
> >> MyLib.init
>
> >> In the boot file of a new application and then everything wires up - I
> >> couldn't think of anything more straightforward?
>
> >> The vast majority of stuff in lift is done with PF's, so you can
> >> pretty much just write them in external jars, and import them - my 3rd
> >> part stuff usually has a lift-webkit dependency so that I can just do
> >> the LiftRules.disptach.append stuff directly in the init method, but
> >> its really no biggy and saves boilerplate.
>
> >> So given your example, this scheme should work right?
>
> >> Cheers, Tim
>
> >> On Jul 27, 11:52 pm, glenn <gl...@exmbly.com> wrote:
>
> >>> I'm interested in abstracting out useful features from my Lift
> >>> applications for ease of reuse, but I haven't found an easy way to do
> >>> it. I find myself creating a new Lift aplication for each feature,
> >>> with all the baggage (bootstrapping, etc.), and I then have to do a
> >>> lot of code modification to the application I'm adding the feature to
> >>> in order to get it to work.
>
> >>> For example, suppose I want to add role-based user login to an
> >>> application that already has a User model just by dropping in a jar
> >>> file with the new feature. I don't see how to do it without some
> >>> boostrapping modifications.
>
> >>> Has anyone really tried to modularize their Lift development. I'd be
> >>> very interested in some suggestions.
--~--~---------~--~----~------------~-------~--~----~
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