On Jan 14, 2009, at 1:15 AM, Chris Chabot wrote:

Neither of those does drag-and-drop though, but compared to the nitty-gritty details of doing real back-end integration, I would personally classify that
as 'easy', there are enough javascript libraries out there that have
ready-made drag-and-drop examples, so adding something like that to
something like partuza would be relatively simple.


Easy to say maybe! :-)

It's trickier than you'd think, especially since iframes are involved.

Our implementation will be open sourced. I'm not sure how generally applicable it will be, or if we'll be able to handle taking a lot of community submissions, but if there are components of it that people find especially useful (e.g., the container JavaScript) then we can try to extract them into a separate component.

Right now it's still a work in progress, and we haven't yet been able to get it working as smoothly as iGoogle. It's based on jQuery UI's Sortable, and we've fallen a little bit behind the latest version so it's a little quirky at times. The biggest problem, however, is that when you move an iframe to a new DOM location, in most browsers it reloads the contents of the frame. For now, we've decided to live with this, but I'd like to take care of it eventually. iGoogle doesn't have this problem so I assume they're using absolute positioning for drag & drop and then doing the geometry to calculate the order to send back to the server. This is a lot more code than moving things in the DOM, since you need to handle things yourselves that the browser's layout engine would normally do for you (like moving the other gadgets out of the way). I haven't seen any JavaScript libraries out there that work this way (please do let me know if you know of one) so Google must have written a bunch of custom code that, to the best of my knowledge, they haven't released as open source. If I manage to get it to work, I'll probably try to release it as a jQuery plugin.

We still haven't finalized the license terms for our container implementation --- that will happen closer to when we're ready to release, but I'll be sure to post a note on one of the OpenSocial lists.

I was just looking again at the Shindig sample containers last night, and they do say something about putting a production-ready version in there someday. I do think that a full-fledged container would be overkill and out of scope, but it might be nice to have a simple example of an iGoogle-like portal page with drag and drop, since it's likely to be a common need. If that's something the committers are likely to accept I'd be willing to get it started.

--
Tim Moore
Atlassian Plugin Developer

Reply via email to