This week's book giveaways are in the Refactoring and Agile forums.
We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!
See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

XDomain

 
Justin Hickman
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The current architecture of my project requires static content to be served on a separate host as the java application, which requires us to use the Dojo XDomain build.

XDomain isn't very straight forward, and requires most code to be within a dojo.addOnLoad() and making sure they're ordered appropriately. Are there any suggestions on how to better use Dojo XDomain in a way that isn't noticeable during development?
 
Peter Svensson
Author
Ranch Hand
Posts: 54
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Justin,

Well I try to put all initialization code inside the dojo.addOnLoad(); function anyway, just in case. That way it is easier to keep everything in one place, and prevent page sprawl.

What is important when using cross-domain loading of Dojo is to use baseUrl and modulePaths in djConfig, like;

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.2.0/dojo/dojo.xd.js"
djConfig="parseOnLoad: true, baseUrl: './', modulePaths: {layout: 'wcn/layout', data: 'wcn/data'}, debug:true, debugAtAllCosts:true"></script>

This is an example that I use right now for a project, with maximal debugging switched on. using the above strategy makes it possible to load Dojo cross-domain and still have your own directory with a couple of custom widgets locally (in the same dir as the index.html file).

This is especially sueful for Google App Engine projects, since Dojo is over 1000 files

So, having custom widgets, and using adOnLoad anyway is my best recommendations.

Cheers,
PS
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic