Update On Drag/Drop Portal Interface for Drupal
A couple of weeks ago I posted an article on creating a drag/drop portal interface with Drupal and Script.aculo.us. Many comments were interested in a jQuery port for Drupal 5.0, and Mark recommended building such a module on top of the brilliant Panels module. I finally had time to continue working on this, so I created an initial drag/drop module built on top of jQuery and Panels. It's far from complete (doesn't save user settings for example), but it's step in the right direction. I also posted an issue to Panels' tracker, pinging merlinofchaos (author of panels), so let's take the discussion there.
I really am looking forward to polishing this module, as I believe it'll be a timely addition to Drupal's arsenal of modules, now that jQuery is part of Core and Drupal 5.0 is around the corner.
You may download the module here. It's only meant to demonstrate functionality. It's for Drupal 4.7 (because Panels hasn't been ported to 5.0 yet), and requires Panels module. To use it, try to add a new panel and you will find a new type called "three column with drag-and-drop". I tested it with bluemarine; it may not work with other themes for reasons outlined in the issue I posted.













mark (not verified) | google universal gadgets offered in portlets/ also local storage | Sat, 2006/10/07 - 11:22am
Hi ayman, saw your recent discussions with merlin. Sounds like the two of you are going to bring some seriously cool stuff to the drupal community!
I just wanted to give you some more suggestions for your drupal protal concept. I recently heard about googles new approach to gadgets, "universal gadgets" which arent for the desktop, but instead let websites incorporate the gadgets.
http://www.google.com/apis/homepage/
http://www.google.com/apis/homepage/guide1.html
It suddenly makes the end portal owners of your drupal portal concept immediately have access to as many (or more) portlets as google and 3rd parties create. so your simple module could soon be giving any standard drupal website the ability to offer users a portal with as many portlets as the many portal companies such as netvibes, etc. I dont really see how these specialized offerings could really claim to much unique advantage over the standard out of the box portal and portlets that your module would provide to any drupal website. I find this fact pretty amazing.
In terms of implementation it looks like a no-brainer. for example inserting code such as:
in a block to create a clock portlet available to users. I imagine it would be far more useful to have a tool available for them to dynamically create a new portlet block rather than having to predefine them all but wouldnt hurt to have some predefined. again such a tool should be straight forward - in effect being like the custom block creation in drupals current block admin, although it could be simpler for users as its more a standard usecase of grabbing standard google scripts. more complex though if they wanted to adjust the properties of such gadgets, eg change colour scheme. Again i wouldnt imagine it would be too hard to identify common gadget apis to allow adjustments to be made dynamically as well. I may be getting carried away but i have tremendous visions for your module.
Finally something i have been interested in a while is the ability to save data locally for web apps (i honestly believe this is a fundamentally new step for web apps) and its starting to emerge as a real prospect now. Dojo ajax framework now has a local storage api. and more interesting is that the new firefox 2 will incorporate a similar capability. this would maen your portlet users could operate their portlet in offline mode, and sync changes when return online. my interest in that is due to the fact that i see peoples ownership of their data as an important next step, eg i can own my delicious tag data, and use it with any other apps i wish , not be constrained to delicious as it is now.
If your module eventually incorporated such local/offline storage option down the road, then it would be a great tool to explore these new kinds of personal tools especially as it allows any drupal website to eplore such offerings rather than custom apps being developed here and there. best practice and ideas could advance rapidly.. this may be old hat to you anyway so i'd better let you get back to more practical thoughts :-) Thanks again for your inspiring us... rgds, mark
graham (not verified) | Would be a great admin tool for blocks | Thu, 2007/01/04 - 12:53pm
It strikes that this would be an excellent development of panels that could even replace blocks.
What I'd envision is creating a site for someone and letting them have such easy control of blocks that they could go behind the scenes and rearrange what goes where, much like in your front-end demo. There could maybe even be an option to turn off controls so that only admin users can rearrange things, or leave them on so that any site user/viewer can rearrange the blocks.
What do you think?
Kevin (not verified) | hey ayman | Tue, 2007/01/30 - 1:52pm
hey bro, i just came across your blog using google, as i typed "syria bad internet connection" and i read your article about the real IP subscription issues and whatnot.... and i seriously am having a dillema concerning our internet connection in syria.... i used to live in the US for a very long time and got used to the cable broadband connection of 5mbp/s and when i came here i wanted to subcribe to ADSL but it seemed like we have a limitation when it comes to user capacity on the network and i still cant subscribe and im stuck with the 190 dialup connection which is the worst i have seen in my life, i had dialup internet in the US back in 1996 and the connection was 100x faster without any proxies or bullshit.... anyway you are seriously an intersting person and im pretty impressed that we have such people here in syria :) i live in damascus and im in the field of communication engineering and IT and technology is my life. id be honored to get to know you and chat a little bit. so hit me up when you have a chance. my email is kabbani87@msn.com. i hope to hear from you. take care.
agentrickard (not verified) | Generic D-n-D options | Mon, 2007/02/19 - 8:49pm
Excellent work.
I'm working on the same drag-and-drop functionality for Drupal's MySite module, and I've been looking at the 5.2 release of Panels for notes.
Rather than duplicating code, is it possible to abstract what you've written into a module or JS file that can be attached to additional modules? I'm thinking of a generic drang-and-drop library that devlopers can use, similar in theory to the VotingAPI and FormsAPI.
Having a single library would also help us with standard functionality and usability.
- Ken
Mahdi (not verified) | How to keep track of location and selected items? | Tue, 2007/03/13 - 9:05am
Nice and clear code… but I have some issue of reusing it.. when the page is refreshed the selected content will disappear! How to keep track of location and selected items for different users for example?
Sean (not verified) | Drag and drop | Sat, 2007/03/17 - 11:14pm
Hello,
I am very interested in the drag and drop functionality. I tried to download your module but it had an error in it when i tried to open it. I have been preparing to start a module to allow drag and drop positioning of blocks. I would love to look at your code or have your input on this project. Please feel free to email me.
Thanks,
Sean
fiLi (not verified) | Any progress? | Sun, 2007/05/06 - 6:52pm
Great idea, would be interested in implementing this. Have you completed the port?
Fritz (not verified) | nice work | Thu, 2007/07/05 - 4:14am
nice work
is the port complete?
really looking forward to this final release it will be a cool way to build interactive communities
:)
Regards
Fritz
Watch Free TV Online (not verified) | RE: Portal Interface for Drupal | Fri, 2008/09/26 - 11:38pm
Hi, Nice to see that you are updating it to make use of jQuery rather than Scriptaculous for Drupal 5.0 .
Excellent Job,
Andy
buy gil (not verified) | Thanks | Tue, 2008/09/30 - 12:49pm
I just discovered earl miles (merlin of choas) wonderful panels module, and it struck me that your UI would be just great for panels module. I may be wrong but it may be fairly easy to integrate your interface for use with his panels module. looking forward to news on your jquery version.. Thanks for sharing your view with us. I really like it very much.
Jennifer Summers (not verified) | Thank your for the module. I | Sun, 2008/11/02 - 11:41am
Thank your for the module. I love the generosity of the open source community.
Kadam (not verified) | wow | Mon, 2009/08/31 - 2:34pm
Very interesting...Thanks
Post new comment