You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Mind Bridge <mi...@yahoo.com> on 2004/06/11 14:16:43 UTC

RE: Modularized Applications in 3.1?

[Taking this to -dev]

There is one more issue in this post: at the moment libraries need to form a
tree, rather than a graph -- there must not be cycles e.g. if lib A uses lib
B, lib B cannot use lib A, since you are going to get A:B:A:B:A:B.....

I think this makes sense in a properly designed app, but nevertheless, is it
desirable to relax that condition?


-----Original Message-----
From: Julio C. Rivera [mailto:JulioC.Rivera@carm.es]
Sent: Friday, June 11, 2004 2:07 PM
To: Tapestry users
Subject: RE: Modularized Applications in 3.1?


See this thread
(http://www.caddr.com/macho/archives/tapestry-users/2004-1/3251.html) about
problems modularizing applications using libraries.

Regards.
   Julio.

At 12:22 11/06/2004, you wrote:
>At the moment the Wiki says:
>
><quote>
>Tapestry 3.0 expects all Tapestry pages and components in the application
>to be within a single directory
></quote>
>
>THIS IS *NOT* TRUE
>
>If the page/component is defined in the .application or .library file, the
>specification can be placed anywhere on the classpath. In this way the
>pages and components can be organized in different folders depending on
>their logical purpose. The "all files in one directory" approach was added
>only in 3.0 to make things easy for people who want to start quickly.
>
>There is another common falacy as well -- if defined in the .application
>file, all of the files of one page or component (.page/.jwc, .html, .java)
>can be placed in the same place, rather than have the .jwc in one, the
>.html in another, and the .java in yet another. If Tapestry is used for
>large scale development, that helps a lot.
>
>
>Back to modularized applications: You can organize Tapestry pages and
>components in libraries, like the default Contrib library, and then
>distribute those libraries in jars. This feature has been there for a long
>time (since 2.2, I think). All the web applications we produce consist of
>a multitude of libraries, among which a large number of Tapestry ones that
>contain shared components and pages. It seems to me that this qualifies as
>a modular approach.
>
>
>I think that what the Wiki essentially refers to is being able to place
>pages in different folders in the context, being able to use a different
>URL scheme, etc. Those features will be in 3.1, but they are not ready
>yet, I believe. Nevertheless, this does not preclude the modular
>organization of the application.
>
>-mb
>
>-----Original Message-----
>From: Jose Gonzalez Gomez [mailto:jgonzalez@opentechnet.com]
>Sent: Friday, June 11, 2004 12:40 PM
>To: Tapestry users
>Subject: Modularized Applications in 3.1?
>
>
>
>     In the following page from the Tapestry wiki
>
>         http://wiki.apache.org/jakarta-tapestry/Tapestry31
>
>     they mention modularized applications. Is this going to be / has
>been included in 3.1? It seems there is no reference to this version in
>the Apache download pages, so I guess the only way to test the ongoing
>work is to download the code right from the CVS, am I right?
>
>     Regards
>     Jose
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>---
>Incoming mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004
>
>
>---
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tapestry-user-help@jakarta.apache.org

*************************************************
Julio C. Rivera Riquelme
Unidad de Informática
Gerencia de Atención Primaria de Murcia
C\ Escultor Sanchez Lozano, 7
*************************************************


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


Re: Modularized Applications in 3.1?

Posted by Geoff Longman <gl...@intelligentworks.com>.
Right now that case causes Spindle to crash. I can prevent the crash but producing a valid build is going to be really tough if the restriction is relaxed.

Spindle walks the xml tree in a library file, resolves its child libraries and then its pages/components. That way the child libraries is fully resolved before any pages or components are resolved.

Spindle currently craches in a cycle because the parent is not finished being resolved, its Namespace object is not stored, so when the builder tries to resolve the child, the builder checks its store - not there - and tries to resolve the parent from scratch. You get into a loop and end up with a stack overflow.

I can get detect loops by storing the Namespace early with a (isFullyResolvedFlag). That fixes the stack overflow but doesn't make things any better 'cuz a half resolved Namespace will result in missing page/component errors.

Geoff


----- Original Message ----- 
From: "Mind Bridge" <mi...@yahoo.com>
To: "Tapestry development" <ta...@jakarta.apache.org>
Cc: <Ju...@carm.es>
Sent: Friday, June 11, 2004 8:16 AM
Subject: RE: Modularized Applications in 3.1?


> [Taking this to -dev]
> 
> There is one more issue in this post: at the moment libraries need to form a
> tree, rather than a graph -- there must not be cycles e.g. if lib A uses lib
> B, lib B cannot use lib A, since you are going to get A:B:A:B:A:B.....
> 
> I think this makes sense in a properly designed app, but nevertheless, is it
> desirable to relax that condition?
> 
> 
> -----Original Message-----
> From: Julio C. Rivera [mailto:JulioC.Rivera@carm.es]
> Sent: Friday, June 11, 2004 2:07 PM
> To: Tapestry users
> Subject: RE: Modularized Applications in 3.1?
> 
> 
> See this thread
> (http://www.caddr.com/macho/archives/tapestry-users/2004-1/3251.html) about
> problems modularizing applications using libraries.
> 
> Regards.
>    Julio.
> 
> At 12:22 11/06/2004, you wrote:
> >At the moment the Wiki says:
> >
> ><quote>
> >Tapestry 3.0 expects all Tapestry pages and components in the application
> >to be within a single directory
> ></quote>
> >
> >THIS IS *NOT* TRUE
> >
> >If the page/component is defined in the .application or .library file, the
> >specification can be placed anywhere on the classpath. In this way the
> >pages and components can be organized in different folders depending on
> >their logical purpose. The "all files in one directory" approach was added
> >only in 3.0 to make things easy for people who want to start quickly.
> >
> >There is another common falacy as well -- if defined in the .application
> >file, all of the files of one page or component (.page/.jwc, .html, .java)
> >can be placed in the same place, rather than have the .jwc in one, the
> >.html in another, and the .java in yet another. If Tapestry is used for
> >large scale development, that helps a lot.
> >
> >
> >Back to modularized applications: You can organize Tapestry pages and
> >components in libraries, like the default Contrib library, and then
> >distribute those libraries in jars. This feature has been there for a long
> >time (since 2.2, I think). All the web applications we produce consist of
> >a multitude of libraries, among which a large number of Tapestry ones that
> >contain shared components and pages. It seems to me that this qualifies as
> >a modular approach.
> >
> >
> >I think that what the Wiki essentially refers to is being able to place
> >pages in different folders in the context, being able to use a different
> >URL scheme, etc. Those features will be in 3.1, but they are not ready
> >yet, I believe. Nevertheless, this does not preclude the modular
> >organization of the application.
> >
> >-mb
> >
> >-----Original Message-----
> >From: Jose Gonzalez Gomez [mailto:jgonzalez@opentechnet.com]
> >Sent: Friday, June 11, 2004 12:40 PM
> >To: Tapestry users
> >Subject: Modularized Applications in 3.1?
> >
> >
> >
> >     In the following page from the Tapestry wiki
> >
> >         http://wiki.apache.org/jakarta-tapestry/Tapestry31
> >
> >     they mention modularized applications. Is this going to be / has
> >been included in 3.1? It seems there is no reference to this version in
> >the Apache download pages, so I guess the only way to test the ongoing
> >work is to download the code right from the CVS, am I right?
> >
> >     Regards
> >     Jose
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >
> >---
> >Incoming mail is certified Virus Free.
> >Checked by AVG anti-virus system (http://www.grisoft.com).
> >Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004
> >
> >
> >---
> >Outgoing mail is certified Virus Free.
> >Checked by AVG anti-virus system (http://www.grisoft.com).
> >Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004
> >
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> *************************************************
> Julio C. Rivera Riquelme
> Unidad de Informática
> Gerencia de Atención Primaria de Murcia
> C\ Escultor Sanchez Lozano, 7
> *************************************************
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.692 / Virus Database: 453 - Release Date: 5/28/2004
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org