Guess I was too eager.  I think the best thing would be to create a patches category on SF that you could upload the fixes to.  Of course, they'll be rolled into 2.3.  The Workbench showed that foo:PageName works, but I guess I screwed up foo.bar:PageName.
 
I never intended services to support namespaces; they are rarely used enough that using qualified names (foo.bar.baz.myservice) is reasonable.
 
BTW ... what is you app?
 
I've been cleaning up 2.3 but before I do anything too radical I'm going to extend the test suite some more.  The Mock Objects based test suite is pretty sweet already, I think I can get overall coverage up into the 85%+ range given enough time.  I've noticed that there are a few places where error messages are all but misleading.
----- Original Message -----
Sent: Sunday, October 13, 2002 11:30 AM
Subject: bugs

Hi Howard,

We are converting our libraries to 2.2 (our earlier pilot trial went okay) and we've encountered a number of serious showstoppers. Unfortunately this came to my attention only today, otherwise I would have notified you on Friday. Here are the most serious ones:

1. Finding pages in nested namespaces does not work:

If have library1 include library2 and you have a page in library2 called 'page', and you try to do cycle.getPage("library1.library2:page") that will not find the page.

I followed the code and I think the problem is in the method getChildNamespace() of Namespace (the implementation of INamespace). By specification that method can accept dot separated paths (or so says the doc of INamespace), but the implementation does not seem to implement that.

The fix is quick via recursion, I think -- split the argument into first namespace and remaining path (which will be emtpy if the argument has no dots), find the first namespace as a child, then call getChildNamespace() on it with the rest of the path (if it is non-empty).

2. The getService(String name) method in the engine does not understand namespaces. If you have a service defined in a library, you should theoretically be able to do getService("library:service"), but that would not work -- there does not seem to be code to handle that.

I think there are a few others (notably the exceptions related to missing components do not carry enough information to locate the problems -- something that has become very important with the addition of namespaces), but I will send you more info tomorrow.

May I ask you to let me know if you plan to fix those soon? I will need to get things running tomorrow, so I will probably do some patches tonight if you are busy. If you want, I can send you what I've done.

Best regards,

- mb

 



Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos, & more
faith.yahoo.com

Reply via email to