Drag n drop lists containing several portlets similar to google page with an option for having either two column or three column.
Should save and retrieve the order from the database. Changes should be saved instantaneously to the database but also have an option to submit changes at the end.
Should be able to minimize or close a portlet.
Should be able to add portlets similar to google page's "Add stuff".
The portlets will be custom <div> and may contain some links or simple submit forms, but for example please provide weather portlet, google map portlet and simple submit form portlet.
The code should be easy to understand and documented and should be legal to use freely. Would prefer if used scriptaculous but open for suggestions.