Re: How I plan to move forward.

"Geoff Longman" <[email protected]> Sun, 19 Feb 2006 21:49:09 -0500
Newsgroups gmane.comp.ide.eclipse.spindle.devel
Message-ID <[email protected]>
I have been writing code and tests to enforce tradeoff #3

(3)"Namespaces of any kind, application or library, must not overlap"

and as I have progressed it has become clear how this will impact
users of Spindle.

"must not overlap" is actually easy to test for.

This is legal:

/WEB-INF/foo/foo.application
/WEB-INF/bar/bar.libary
/WEB-INF/cat/cat.libary

none of the above overlap. No page/component in any of the above
namespaces can be referenced by another namespace.

This is illegal:

/WEB-INF/foo.application
/WEB-INF/bar.library

if Foo is a component in foo.application, Foo is also a component in
bar.library.

This is legal (but undesired IMHO:

/bar/bar.library
/WEB-INF/foo.application

Undesirable as bar.library is outside of /WEB-INF/ and therefore
"servable" to a browser.

This would appear to be illegal (and is by the current detection routine):

/bar.library
/WEB-INF/foo.application

Since a page in bar.libary could reference component Foo in
foo.application like this:

@WEB-INF/Foo

But WEB-INF is not allowed in component names so an error would be
thrown by Tapestry.
So /bar.library is legal.

But, this is illegal

/bar.library
/cat/cat.library
/WEB-INF/foo.application

foo.application is safe but all the pages/components in cat are also
part of bar.

To make the last one legal one would have to move bar:

/bar/bar.library
/cat/cat.library
/WEB-INF/foo.application


Illegal:

/com/iw/foo.library
/com/iw/bar/bar.library

Legal:

/com/iw/foo/foo.library
/com/iw/bar/bar.library

I'm getting nervous that

(3)"Namespaces of any kind, application or library, must not overlap"

is too:

- Hard to explain
- Hard to accept by end users.


And to make this even more special, Tapestry itself violates the rule:

/org/apache/tapestry/Framework.library
/org/apache/tapestry/contrib/Contrib.library
/org/apache/tapestry/contrib/inspector/Inspector.library

Which the detection routine would reject as illegal.

I'm trying to underestand the implications of this and am spending
some time this evening coming up with an example application.

Geoff

--
The Spindle guy.          http://spindle.sf.net
Get help with Spindle:   
http://lists.sourceforge.net/mailman/listinfo/spindle-user
Blog:                     http://jroller.com/page/glongman
Feature Updates:          http://spindle.sf.net/updates


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642