----- Original Message -----
From: "Mind Bridge" <[EMAIL PROTECTED]>
To: "Howard M. Lewis Ship" <[EMAIL PROTECTED]>
Sent: Monday, July 29, 2002 2:56 PM
Subject: Re: Validator
>
> Hi Howard,
>
> > Sign up at SourceForge and I'll make you a committer.
>
> My ID there is 'mindbridge' :).
>
> I also have a couple of questions on the topic of libraries. Wanted to put
them up on the Wiki, but I could not figure out how to get an account there,
and I had no time to play with it, unfortunately. So here they are:
>
> 1) Can a library include a library? If it does, would the namespace access
become "lib1:lib2:comp"? Is this a reasonable and/or useful thing to do?
Yes, and this makes sense. For example, say I have an application that uses
the palette. It includes the Contrib.library as "contrib". Then I add in a
second library that does something, maybe a set of components related to
content management. This library is added as "cm". However, "cm" wants to
use the Palette too, so it defines its own library id of "contrib" for the
Contrib.library. Or it could name it "cb", doesn't matter, the name is
locale.
However, the application could *NOT* say <component id="..."
type="cm.contrib:Palette">.
Components and pages defined in the application can only reference libraries
defined by the application (and, of course, the components and pages defined
by the framework itself ... that's a special case).
>
> 2) If a component within a page within a library invokes
cycle.getPage("pagename"), will this invocation work within the scope of the
page? Or would the component need to do cycle.getPage("lib:page") instead,
and hence know the name of the library it is in? I am afraid that if the
library names are predetermined, that would lead to naming conflicts. The
only way around this I could think of when I was considering how the scoping
could be done was to have pages know what their scope is and to allow an
additional getPage invocation: cycle.getPage(scope, "page").
If the page is provided by a library (not by the application, not by the
Tapestry framework), then you must give its fully qualified name. This
could be "contrib:FooPage" or even "cm.contrib:FooPage".
The Page component now accepts a namespace parameter to assist with this.
IComponent now defines a namespace property.
Code could look like:
cycle.getPage(namespace.getExtendedId() + ":FooPage");
Perhaps it would be good to add a new IRequestCycle method:
getPage(INamespace,String).
For the most part, pages will exist in the application, where there's no
prefix, and no change from today. Very rarely, libraries will provide pages
and it may take a small amount of extra effort to make use of them.
-------------------------------------------------------
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code=31
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer