Enhanced folder contents with ajax and drag and drop.
I’ve attended to the Paris Sprint 2008 and played with kss into plone.
The goal was to bring full ajax support there and hopefully it has been reached.
But ajax is only a part of the new features, the real thing is drag’n drop.
So you can play by dragging and dropping files from / into the folder
contents and from / into the navigation portlet.
You also can deploy folders in the navigation portlets, every branch is loaded in ajax.
It’s designed for Plone 3.1 wich has jQuery and I’ve added jQuery UI for the drag and drop, (only the needed library of course).
Here’s the list of new features:
- Live workflow actions.
- Live lock / unlock actions.
- Live batch page swhitching.
- Live contents actions copy, cut, paste, remove
- Drag and drop between and into folder_contents / navigation portlet of multiselected contents using CTRL, SHIFT.
- Context menu to access further content’s views (edit, sharing, history)
- Ajax deployement in the navigation portlet
As no software’s perfect, mine either, there are known issues / drawbacks:
- New messages are not localised
- Code should be cleaned, especially in the folder contents browser view,
I would like to to retrieves content informations in a way we can easilly
add / remove columns when overloading.
- Moving up / down contents does not work anymore as it is not KSS aware (anyway it has never worked very well).
- Javascript code can be pushed further into a KSS way, resulting in less javascripts in client side.
- It brings more than 30ko of resources to load especially because I use jQuery UI.
So I would like to use a home made drag and drop library (wich I already have and might only be 10ko). I really find that plone
javascripts are really to heavy and that we should not add any single byte to load.
- Performance should be reviewed as there is an event on every content (We could attach only one event for all).
There is also a way to speed up drag and drop by directly using mouseover event
instead of looping in all dropping areas matching the cursor position.
It is because the cursor is always over the items we are currently dragging.
- There are memory leaks with IE6 using jQuery UI, but I’ve sent them a patch.
- There are memory leaks with IE6 using KSS, I’ve also found a way to avoid some of them.
In an other hand I’ve also added features to the sharing view, but I’ve put less efforts on it.
- There is a kind of selection bag, so search for more than one user without
reloading the page then add them to the role matrix.
- Group creation with the currently selected users.
Unfortunatly I don’t have so much time to work on it as my home computer
is too old to run a Plone 3, especially with KSS. I’ve used my company’s laptop.
Note that I’ve already released it in production for a customer.
So go test it and play with it I want feedbacks / suggestions and you are surely welcome
to contribute it.
Here it is (trac view):
http://dev.plone.org/collective/browser/collective.kss.flygui
To get the svn version:
https://svn.plone.org/svn/collective/collective.kss.flygui/trunk
Enjoy,
El Gringo.
août 3, 2008 à 3:29
Very nice!!