For the layout I am going to use a BorderContainer control in the dijit library. The BorderContainer is very good at layouts that would be difficult to pull of with just html and client side code. It has a splitter control that I will go over in another post.
Dashboard layout using dijit Border Container Widget (Js Fiddle)
Dashboard with added drag and drop widgets (Js Fiddle)
|Dashboard with drag-able widgets|
Right out of the box dojo contains very rich support for drag and drop. When you drag an item it will automatically show you an avatar of the item you are dragging. You can drag items with in the same container with out any additional code.
Next time I will talk about adding and removing widgets from the dashboard and how to resize regions.
Continue to part 2