Opened 14 years ago

Closed 14 years ago

Last modified 13 years ago

#7928 closed defect (fixed)

dojox.gfx rendering back ends do not work when baked into a build

Reported by: ptwobrussell Owned by: Eugene Lazutkin
Priority: high Milestone: 1.3
Component: DojoX GFX Version: 1.2.0
Keywords: Cc:
Blocked By: Blocking:


I have found that if you include dojox.gfx as a dependency in a build file that it dynamically requests the backend rendering component when the page loads, so your layer file needs the rest of the toolkit structure (including at a minimum the dojox.gfx stuff) to run. That caught me off guard, but I can see why that might be the way it was designed. But is it documented anywhere that this is the way it's supposed to work? I'm not a fan of adding a 101st switch to the build script, but I guess that's one alternative that could slurp everything in if you wanted it.

But, anyway, when I try to include dojox.gfx, dojox.gfx.svg, dojox.gfx.Silverlight, etc. into the build to cover all possible cases, I get a layer that includes it all, but I still get no joy because of an error "this.rawNode is undefined" when the page tries to load. I've seen that error many other times, so I know it's something in the gfx logic somewhere.

Change History (7)

comment:1 Changed 14 years ago by Eugene Lazutkin

Resolution: wontfix
Status: newclosed

All backends are included conditionally depending on the client's configuration, and cannot be baked-in. Even if we allow this possibility the sheer size of them will be prohibitive.

comment:2 Changed 14 years ago by ptwobrussell

So, after all of this marketing talk we've been doing about making things easier, maybe we should at least re-open this so that this gets documented properly? Or am I just missing that part too?

comment:3 Changed 14 years ago by Eugene Lazutkin

Priority: normalhigh
Resolution: wontfix
Status: closedreopened

Nope, it is missed in the doc. Reopening...

comment:4 Changed 14 years ago by dante

Resolution: fixed
Status: reopenedclosed

These kinds of things should be documented, which is what the ticket suggested. I've added a note here:

Feel free to elaborate.

comment:5 Changed 14 years ago by James Burke

If I get a fix in for #7077, then it may be possible to select renderers to include in a layer without having them conflict. As Eugene points out, you may take a big hit in file size though. Also, #7077 requires some non-trivial changes to the build system, so it may not get in for a while, if ever.

comment:6 Changed 14 years ago by Eugene Lazutkin

I can place each renderer in its special namespace, e.g., vml.js can live in dojox.gfx.vml. The gfx.js (the loader and selector) can mix the renderer's namespace to the dojox.gfx. It is possible to do but I don't know if it helps anything but the builds. But like I said the value of baking in the gfx renderers (or any other host-dependent modules) is questionable.

comment:7 Changed 13 years ago by Adam Peller

Milestone: tbd1.3

batch move of tickets marked 'tbd' fixed in the 1.3 timeframe

Note: See TracTickets for help on using tickets.