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