You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by li xuefeng <xu...@gmail.com> on 2007/10/05 06:06:42 UTC

a problem about tapestry5 on the feature of tapestry.app-package

the problem is that,how can i loading class from different class path
from different package like follow in web.xml:
        <param-name>tapestry.app-package</param-name>
        <param-value>std.example.myapp, cus.example.myapp</param-value>

we support custom solution base on product solution.

the web application's directory like follow:
WEB-ROOT
         |
         |----WEB-INF
         |         |
         |         |-----std.example.myapp         //product components
         |         |               |
         |         |               |----pages
         |         |               |----services
         |         |               |----data
         |-----std module1   //standard module (modue1_*.html)
         |-----std module2   //standard module (modue2_*.html)
         |         |               |
         |         |-----cus.example.myapp         //custom modules components
         |         |               |
         |         |               |----pages
         |         |               |----services
         |         |               |----data
         |         |               |
         |-----cus module1   //custom module (modue1_*.html)
         |-----cus module2   //custom module (modue2_*.html)

the benefits:
    1、if we only nedd to upgrade std module1, we only need to update directory
         std module1   //standard module (modue1_*.html)
         and some java in pages,services,data
    2、I suggest the sambol "tapestry.app-package" not define in web.xml,
         the problem is how can i add a new cus module(cus module3),the web
         application don't need to stop and restart.

Re: a problem about tapestry5 on the feature of tapestry.app-package

Posted by Howard Lewis Ship <hl...@gmail.com>.
I think this is more of a users list question.

It sounds like you want to have a customization system, where you can drop
in a replacement for some builtin functionality?

Tapestry abounds with higher-order ways of viewing the application; what I'm
saying it to institute some abstraction from class names.  Don't create
custom modules that overlap built-in classes exactly, create custom modules
that user their own package, and use some configuration to figure out which
particular class to use in a given situation.

To do this seamlessly would require some minor changes to the framework ...
ideally, you should be able, inside a template, to reference "MyComponent"
and determine, on the fly, whether that's MyComponent from a standard module
or from a custom module.  Those hooks do not exist at this time, but could
be introduced in your appliction, but cutting-and-pasting some code from T5.



On 10/4/07, li xuefeng <xu...@gmail.com> wrote:
>
> the problem is that,how can i loading class from different class path
> from different package like follow in web.xml:
>         <param-name>tapestry.app-package</param-name>
>         <param-value>std.example.myapp, cus.example.myapp</param-value>
>
> we support custom solution base on product solution.
>
> the web application's directory like follow:
> WEB-ROOT
>          |
>          |----WEB-INF
>          |         |
>          |         |-----std.example.myapp         //product components
>          |         |               |
>          |         |               |----pages
>          |         |               |----services
>          |         |               |----data
>          |-----std module1   //standard module (modue1_*.html)
>          |-----std module2   //standard module (modue2_*.html)
>          |         |               |
>          |         |-----cus.example.myapp         //custom modules
> components
>          |         |               |
>          |         |               |----pages
>          |         |               |----services
>          |         |               |----data
>          |         |               |
>          |-----cus module1   //custom module (modue1_*.html)
>          |-----cus module2   //custom module (modue2_*.html)
>
> the benefits:
>     1、if we only nedd to upgrade std module1, we only need to update
> directory
>          std module1   //standard module (modue1_*.html)
>          and some java in pages,services,data
>     2、I suggest the sambol "tapestry.app-package" not define in web.xml,
>          the problem is how can i add a new cus module(cus module3),the
> web
>          application don't need to stop and restart.
>



-- 
Howard M. Lewis Ship
Partner and Senior Architect at Feature50

Creator Apache Tapestry and Apache HiveMind