FAQ
Hi all,
I have an application that has many "features" (or plugins, or extensions,
or bundles, or whatever, but I'll call it "feature" for uniqueness sake),
which are subsets of the app that may or may not be bundled into the
application, depending on the customer it will be shipped to.

What I'm looking for is to have a very Eclipse-like directory structure:

MyApp/features/my_first_feature_1.0.0/root/
MyApp/features/my_first_feature_1.0.0/lib/Controller
MyApp/features/my_first_feature_1.0.0/lib/Model
MyApp/features/my_first_feature_1.0.0/lib/View

MyApp/features/another_feature_1.2.0/root/
MyApp/features/another_feature_1.2.0/lib/Controller
MyApp/features/another_feature_1.2.0/lib/Model
MyApp/features/another_feature_1.2.0/lib/View

The idea is that modules contained in features should not be aware that they
are in a feature, but work like they are in the default /lib or /root.

I think the /lib part can probably be setup using this:

__PACKAGE__->config( setup_components => { search_extra => [ @features ] }
);

With a little bit of code to fillup @features correctly, and some @INC
tweaking...

But how about the /root part? Can mixed-up root dirs be seen as a single
root dir easily?

cheers,
rodrigo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090625/7e4bfb46/attachment.htm

Search Discussions

  • Robert Buels at Jun 28, 2009 at 8:16 am

    Rodrigo wrote:
    But how about the /root part? Can mixed-up root dirs be seen as a
    single root dir easily?
    I'm interested in making a pluggable app as well. Seems like you and I
    would want the ability to specify an arrayref for MyApp->config->{root},
    and have that work. Poking around cursorily, that doesn't seem to be
    supported right now. Can somebody who knows what they're talking about
    (i.e. not me) confirm?

    Rob
  • Tomas Doran at Jun 28, 2009 at 3:08 pm

    On 28 Jun 2009, at 09:16, Robert Buels wrote:

    Rodrigo wrote:
    But how about the /root part? Can mixed-up root dirs be seen as a
    single root dir easily?
    I'm interested in making a pluggable app as well. Seems like you
    and I would want the ability to specify an arrayref for MyApp-
    config->{root}, and have that work. Poking around cursorily, that
    doesn't seem to be supported right now. Can somebody who knows
    what they're talking about (i.e. not me) confirm?
    Assuming that you're mandating a TT view for your pluggable parts,
    then you can just subclass View::TT to have an INCLUDE_PATH which
    picks up the 'root' directories from all your loaded 'Components'.

    Cheers
    t0m
  • Peter Karman at Jun 28, 2009 at 3:42 pm

    Tomas Doran wrote on 6/28/09 10:08 AM:
    On 28 Jun 2009, at 09:16, Robert Buels wrote:

    Rodrigo wrote:
    But how about the /root part? Can mixed-up root dirs be seen as a
    single root dir easily?
    I'm interested in making a pluggable app as well. Seems like you and
    I would want the ability to specify an arrayref for
    MyApp->config->{root}, and have that work. Poking around cursorily,
    that doesn't seem to be supported right now. Can somebody who knows
    what they're talking about (i.e. not me) confirm?
    Assuming that you're mandating a TT view for your pluggable parts, then
    you can just subclass View::TT to have an INCLUDE_PATH which picks up
    the 'root' directories from all your loaded 'Components'.
    fwiw, you can see an example of this on CPAN in CatalystX::CMS::View


    --
    Peter Karman . http://peknet.com/ . peter@peknet.com
    gpg key: 37D2 DAA6 3A13 D415 4295 3A69 448F E556 374A 34D9
  • Rodrigo de Oliveira at Jun 28, 2009 at 5:11 pm

    Assuming that you're mandating a TT view for your pluggable parts, then you
    can just subclass View::TT to have an INCLUDE_PATH which picks up the 'root'
    directories from all your loaded 'Components'.
    I usually have /static stuff too, mostly css and images.
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090628/2abe3041/attachment.htm
  • Peter Karman at Jun 28, 2009 at 6:21 pm

    Rodrigo wrote on 6/28/09 12:11 PM:
    Assuming that you're mandating a TT view for your pluggable parts, then you
    can just subclass View::TT to have an INCLUDE_PATH which picks up the 'root'
    directories from all your loaded 'Components'.
    I usually have /static stuff too, mostly css and images.
    Catalyst::Plugin::Static::Simple::ByClass is one way to deal with that.

    CatalystX::CMS and CatalystX::CRUD::YUI both use it.

    --
    Peter Karman . http://peknet.com/ . peter@peknet.com
    gpg key: 37D2 DAA6 3A13 D415 4295 3A69 448F E556 374A 34D9

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcatalyst @
categoriescatalyst, perl
postedJun 25, '09 at 4:45p
activeJun 28, '09 at 6:21p
posts6
users4
websitecatalystframework.org
irc#catalyst

People

Translate

site design / logo © 2022 Grokbase