That's the exact reason I'm putting the question out to the list: to figure out the API.  On reflection (inside me head) I'm not even sure we need a shim library; we might be able to offer a set of primitives as straight up widgets.
<br><br>At some point (hopefully today) I'll put together an example widget markup and post it here, and then maybe a full-on discussion could ensue.&nbsp; Perhaps something like this?<br><br><span style="font-family: courier new,monospace;">
&lt;div dojoType=&quot;drawing&quot;&gt;<br>&nbsp;&nbsp;&nbsp; &lt;div dojoType=&quot;circle&quot;&gt;&lt;/div&gt;<br>&nbsp;&nbsp;&nbsp; &lt;div dojoType=&quot;line&quot;&gt;&lt;/div&gt;<br>&nbsp;&nbsp;&nbsp; &lt;div dojoType=&quot;rectangle&quot;&gt;&lt;/div&gt;<br>
&lt;/div&gt;<br></span><br>In all honesty I think that this is probably possible <span style="font-weight: bold;">now</span>, without any special shims.&nbsp; Although (of course) we'd have to make it actually *work* =)<br><br>
trt<br><br><div><span class="gmail_quote">On 4/18/06, <b class="gmail_sendername">Bill Keese</b> &lt;<a href="mailto:bill@dojotoolkit.org">bill@dojotoolkit.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Well, let's decide what API we want first, and then think about what<br>implementations (canvas/svg/vml) we support.&nbsp;&nbsp;Extending your example,<br>can I do this?<br><br>var line = dojo.draw.line(...);<br>line.setOnClick( function(){ alert(&quot;hi!&quot;); });
<br><br>(and then later on, line.destroy();)<br><br>Bill<br><br>Tom Trenka wrote:<br>&gt; It's not so much of whether we should or shouldn't support Canvas, per<br>&gt; se.&nbsp;&nbsp;I know that some feel that canvas is very limited but I think
<br>&gt; that's because it really is just a canvas upon which you can draw raster<br>&gt; primitives.&nbsp;&nbsp;Both SVG and VML are vector languages (think the difference<br>&gt; between a JPG and an EPS file).<br>&gt;<br>&gt; But we'd start off script-based, and so the *commands* currently
<br>&gt; implemented with canvas would probably be the best place to start--even<br>&gt; though underneath they'd be rendering to SVG or VML.&nbsp;&nbsp;That's essentially<br>&gt; what I meant.&nbsp;&nbsp;For instance, dojo.draw.line() would map to &lt;svg:line /&gt;
<br>&gt; and &lt;vml:line /&gt;, etc.<br>&gt;<br>&gt; Anyways, that's the thought.<br>&gt;<br>&gt; trt<br>&gt;<br>&gt; On 4/17/06, *Bill Keese* &lt; <a href="mailto:bill@dojotoolkit.org">bill@dojotoolkit.org</a><br>&gt; &lt;mailto:
<a href="mailto:bill@dojotoolkit.org">bill@dojotoolkit.org</a>&gt;&gt; wrote:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; I know one of the things Alex has asked me for is that any primitive<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; drawn be able to fire and respond to events.&nbsp;&nbsp;Not sure how we'll pull
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; that off with actual Canvas drawings, but I'll cross that bridge when<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; we get to it (probably it will involve looking for a mouse click on<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; the canvas element itself--if that's supported--and then
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; analyzing the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; current rendering to see what the top most element is that one<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; clicked<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; on, what fun).<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; PS: I realized my last message wasn't clear.&nbsp;&nbsp;What I meant was,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; maybe we<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; shouldn't support Canvas.&nbsp;&nbsp;If we just support SVG/VML then it's easier<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; to support events.&nbsp;&nbsp;I'm not sure of all the pros/cons though.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Bill<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Bill Keese wrote:
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Hi Tom,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Thanks for handling this, and also for doing the bug triage.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; There's a guy named Gavin that promised to do this API but I haven't
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; heard anything from him for a while; maybe he lost<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; interest.&nbsp;&nbsp;Here's the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; link:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; <a href="http://thread.gmane.org/gmane.comp.web.dojo.user/5504/focus=5726">
http://thread.gmane.org/gmane.comp.web.dojo.user/5504/focus=5726</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; (this is why I made that InProgressProjects page on the wiki)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; As for my comments: I'm not a graphics expert, but I wonder
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; whether we<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; should support the canvas API model (like you suggested) or the SVG<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; model.&nbsp;&nbsp;The difference being that in SVG there's a handle to every<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; object you draw, so you can attach event handlers / erase previously
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; drawn objects, etc.&nbsp;&nbsp;Presumably canvas is faster but SVG/VML are more<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; powerful.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Bill<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Tom Trenka wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Hi all,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Since the Iterator discussion went *so* well (&amp;lt;sarcasm/&amp;gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; but not<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; really), I figure it's time to start asking questions about an<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; SVG/VML/Canvas library, since it would seem that some think this<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; would<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; be a very useful thing.&nbsp;&nbsp;So let me kick off the discussion<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; (since I'll<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; probably write it)...
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; The nominal purpose of an SVG+VML+Canvas library would be to add a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; single layer of abstraction over the two vector (and one bitmap)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; drawing languages so that a developer can write one set of code,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; have it render properly on the major browser platforms.&nbsp;&nbsp;However, I<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; have some issues with this, so let me lay this out first before<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; diving<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; into a request for purpose+proposal.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 1.&nbsp;&nbsp;My personal feeling is that widgets (one of the core uses for<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; something like this) should not be limited to an encompassing<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; API for<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; drawing, and that there's no real difference (aside from platform)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; between writing markup in VML and SVG and writing markup in<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; HTML.&nbsp;&nbsp;All<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; three are valid, existing markup languages; to force an API over two<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; of these languages would be a detriment to the system.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Note the use of the term &quot;force&quot;.&nbsp;&nbsp;I'm not suggesting the API isn't<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; needed, just that we shouldn't force things to rely on it that we<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; release ourselves.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; 2.&nbsp;&nbsp;In the same vein, we shouldn't ignore the need for core files in<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; the same vein as style.js and html.js for the other markup<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; languages.<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; svg.js is already a part of the library (even though a good<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; portion of<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; the functionality in that file is stub functionality that isn't<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; working yet).&nbsp;&nbsp;I might expect there to be a 
vml.js at some point as<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; well; I will certainly add it when I get a better sense of what<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; kind<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; of helper functions are needed (particularly when we finally address<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; DnD with vector markup).<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; ---<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; All of which to say is that I'd like it to be clear that any vector<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; API could (and probably will) rely on some core files but it should
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; not be the other way around.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Now that that disclaimer is out of the way...what do we think we<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; want<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; out of such an API?&nbsp;&nbsp;What kind of opinions are there as to the shape
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; of such an API?&nbsp;&nbsp;What does Dojo really need in these terms?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; I'll put forth a suggestion, and then let's discuss:&nbsp;&nbsp;I would<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; say that<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; we would start with a script-based API, modeled on the Canvas API,
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; upon which we could write general purpose widgets to represent<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; drawing<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; primitives (and eventually more complex ones).&nbsp;&nbsp;Before anyone<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; objects,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; let me try to be clear:&nbsp;&nbsp;when I say &quot;modeled&quot; on the Canvas API, I'm
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; referring to methods and the general results of those methods.&nbsp;&nbsp;The<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; Canvas API is based on OpenGL, which makes sense from a scripting<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; standpoint; I don't see any reason why we shouldn't use the same
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; approach.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; I know one of the things Alex has asked me for is that any<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; primitive<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; drawn be able to fire and respond to events.&nbsp;&nbsp;Not sure how we'll
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; pull<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; that off with actual Canvas drawings, but I'll cross that bridge<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; when<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; we get to it (probably it will involve looking for a mouse click on<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; the canvas element itself--if that's supported--and then
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; analyzing the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; current rendering to see what the top most element is that one<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; clicked<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; on, what fun).&nbsp;&nbsp;What other things would you want out of such an<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; API?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; trt<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; (for the record, I will certainly be looking at the Google<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; ExplorerCanvas code but I'm pretty sure we won't incorporate it
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; because of licensing...unless, Alex, you want to take a close<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; look at<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; it and see?&nbsp;&nbsp;My inclination is to learn from it but not use it, just<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; to be safe, plus I'd hate for Dojo to be reliant on other
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; projects--since it seems like one of the goals here is to be the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; other<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; way around).<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------------------------------------------------------
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; _______________________________________________<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; dojo-contributors mailing list<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <a href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org
</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt; <a href="http://dojotoolkit.org/mailman/listinfo/dojo-contributors">http://dojotoolkit.org/mailman/listinfo/dojo-contributors
</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<a href="http://dojotoolkit.org/mailman/listinfo/dojo-contributors">http://dojotoolkit.org/mailman/listinfo/dojo-contributors</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; _______________________________________________<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; dojo-contributors mailing list<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; <a href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:dojo-contributors@dojotoolkit.org">
dojo-contributors@dojotoolkit.org</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; <a href="http://dojotoolkit.org/mailman/listinfo/dojo-contributors">http://dojotoolkit.org/mailman/listinfo/dojo-contributors</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; _______________________________________________
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; dojo-contributors mailing list<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org
</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://dojotoolkit.org/mailman/listinfo/dojo-contributors">http://dojotoolkit.org/mailman/listinfo/dojo-contributors</a><br>&gt;<br>&gt;<br>&gt;<br>&gt; ------------------------------------------------------------------------
<br>&gt;<br>&gt; _______________________________________________<br>&gt; dojo-contributors mailing list<br>&gt; <a href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org</a><br>&gt; <a href="http://dojotoolkit.org/mailman/listinfo/dojo-contributors">
http://dojotoolkit.org/mailman/listinfo/dojo-contributors</a><br>_______________________________________________<br>dojo-contributors mailing list<br><a href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org
</a><br><a href="http://dojotoolkit.org/mailman/listinfo/dojo-contributors">http://dojotoolkit.org/mailman/listinfo/dojo-contributors</a><br></blockquote></div><br>