Login Register

Bootstrap changes (hostenv, render...)

The bootstrap in 0.9 is not changed much compared to other modules, but several "dj_" prefixed functions and variables are getting migrated into the root Dojo object. The only object defined by Dojo but not under the dojo.* namespace is now djConfig. The following changes have been made:
  • dj_currentContext and dojo.global() have been replaced with the property dojo.global
  • dojo.doc() has been replaced with the property dojo.doc
  • dj_undef has been removed without replacement
  • dojo.findModule has been removed without public replacement. Private users may reference dojo._loadedModules
  • dojo.getModuleSymbols has been made private without replacment.
  • dojo.raise() has been removed without replacement; use throw new Error() instead
  • dojo.debug(), dojo.debugShallow(), and dojo.debugDeep() have been replaced by the appropriate console.* methods.
  • dojo.errorToString() has been removed without replacement
  • dojo.evalObjPath has been replaced with dojo.getObject
  • dojo.parseObjPath has been replaced with dojo.getObject
  • the dojo.exists(obj, name) syntax has been removed. Used dojo.exists(name, obj)
  • dojo.evalProp() has been removed without replacement
  • dojo.unimplemented() has been removed without replacement
  • dj_eval() has been moved to dojo.eval()
  • dojo.hostenv.* is being entirely removed. Configuration and internal functions that once lived there are either being removed wholesale or being moved up a level to the root dojo object. Look for environment-detection variables and methods there.
  • dojo.render.* is being entirely removed. Configuration and internal functions that once lived there are either being removed wholesale or being moved up a level to the root dojo object.
  • Browser detection e.g. dojo.render.html.ie moved to the root: dojo.isIE. This property returns a version number rather than a boolean.
  • dojo.kwCompoundRequire() has been moved to dojo.platformRequire()
  • dojo.experimental() has been moved from a separate module to a built-in method. It is now always available to call.
  • dojo.hostenv.getBaseScriptUri() has been removed in favor of dojo.dojoUrl("")
  • dj_addNodeEvtHdlr() has been moved to dojo._handleNodeEvent()
  • dojo.makeWidgets has been removed. All responsibility for load-time widget creation is the exclusive purview of Dijit.
  • dojo.getXmlhttpObject has been made private. It now lives at dojo._xhrObj
  • You may now specify configuration options for the toolkit via a djConfig attribute on the script tag which is used to include dojo.js. This new configuration mode is always available in browser environments. The djConfig.allowQueryConfig option has been removed.

Removed Platform Support

The following platform support files are no longer provided in 0.9:

  • hostenv_svg.js
  • hostenv_adobesvg.js
  • hostenv_jsc.js
  • hostenv_dashboard.js
  • hostenv_wsh.js

Browser environments, Rhino, and Spidermonkey are still supported "out of the box" in 0.9 and the Apple Dashboard platform support may be re-instated if demand is sufficient.

Configuration Options

The following configuration options have been removed or no longer affect system behavior:

  • djConfig.allowQueryConfig
  • djConfig.iePreventClobber
  • djConfig.ieClobberMinimal
  • djConfig.searchIds
  • djConfig.parseWidgets
The following configuration options have all been folded into a new djConfig.baseUrl:
  • djConfig.baseRelativePath
  • djConfig.baseScriptUri
  • djConfig.libraryScriptUri
This is mirrored in the access APIs for this information. Entirely gone is dojo.hostenv.getBaseScriptUri() and in it's place is the variable dojo.baseUrl.