Here's a description of what has been implemented:
Remoted objects can now have a hierarchical JavaScript name, which means that a dotted name can be used in a creator's javascript attribute, and this will be interpreted as several levels of names much like packages. The mapping to JavaScript can be done in different ways and the default mapping in /dwr/interface will create JavaScript objects for each name level so that a hierarchical reference may be used. F ex, if the following is specified in dwr.xml:
<create creator="..." javascript="foo.bar.Fred">
<param name="class" value="com.example.Fred"/>
</create>
then it will be possible to include this script:
<script src="dwr/interface/foo.bar.Fred.js"></script>
or, if preferring slash "/" separators:
<script src="dwr/interface/foo/bar/Fred.js"></script>
The script will define the needed object structure to make calls to the remoted proxy available as:
foo.bar.Fred.<call to your method>
in JavaScript.
The JavaScript mapping is done somewhat differently for other supported JavaScript module formats, see DWR-515 for explanation of these.
In addition to providing hierarchical identifiers, most characters are now allowed in identifiers, such as
and others. This f ex makes it possible to name remoted objects with a versioned identifier such as "MyProxy-1.0.4".
Wildcards are also allowed in the javascript attribute, in the same way used for converters, so the following can be used:
<create creator="..." javascript="*">
<param name="class" value="com.example.Fred"/>
</create>
Resulting JS identifier: Fred
<create creator="..." javascript="foo.bar.*">
<param name="class" value="com.example.Fred"/>
</create>
Resulting JS identifier: foo.bar.Fred
<create creator="..." javascript="**">
<param name="class" value="com.example.Fred"/>
</create>
Resulting JS identifier: com.example.Fred
Moving from RC2 to 3.0 as I will not have time to fix this the next few weeks...