jQuery.dashboard() Plugin

The jQuery.dashboard() plugin for jQuery provides a framework that makes it easy for web application developers to create highly configurable dashboard-like user interfaces (similar to iGoogle) in their web applications. Jump straight to the demo. jQuery.dashboard() requires jQuery UI 1.7's (the new 1.6rc6) Sortable library, which in turn requires jQuery UI Draggable, core and jQuery 1.3. jQuery.dashboard() requires that a number of serverside callbacks be defined where the current user's widgets per column and minimized status are made available and saved, and where settings for each widget can be retrieved and saved. Optionally, a number of event callbacks can be assigned anonymous callback functions or server-side executable javascript file callbacks. Currently jQuery.dashboard() has only been deployed on a small number of private web apps, and should be considered alpha or maybe beta at best. The code has been written quite abstractly and extensibly and may well be re-usable with little or now changes for things like Drupal's panels module, an admin/build/block overhaul or other uses. An example implementation including example server-side ajax callbacks in PHP and javascript callbacks is included. For now, the example implementation also serves as documentation for the API. UPDATE: I forgot to include license information. jQuery.dashboard(), including jquery.dashboard.js, dashboard.css, and documentation found in ajaxData.php, demo.html, demo.css, demo.js, and widgets/* are made avilable under version 2 of the GNU General Public License.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

ThemeRoller ready?

This is a very nice plugin. I do think people would have a much easier time working with this if it used the jQuery UI CSS framework classes and icons because this would allow these portlets to be themable with ThemeRoller with zero effort. It's very easy to tweak your code to use the classes so it's worth a look. I'm trying to get as many devs to use the framework as possible so theming will be "built-in" to plugins which makes it a million times easier to drop a plugin into your project. There are even icons for all images you're currently using. Check out the docs: http://docs.jquery.com/UI/Theming/API This article we wrote walks through how we used the fraemwork classes to built buttons as a way to introduce the framework classes used: http://www.filamentgroup.com/lab/styling_buttons_and_toolbars_with_the_j... The UI team will be prominently featuring plugins that use the framework and are ThemeRoller ready so it's a good way to get exposure.A lit of plugins are here: http://docs.jquery.com/UI/Theming/ThemeRollerReady

...

Holy cow, that's cool. Seen a lot of this type of thing in different places before (panels, for one), but don't remember seeing anything that's really modular enough and/or documented that others can use. Thanks for the write-up.

new drupal.org dashboard

How does this compare to the code that will be running the new drupal.org dashboard?

Thanks! I'll look into that

Todd Parker; Thanks! I'll look into ThemeRoller and try integrating it sometime. This is my first jQuery plugin, and while I've seen ThemeRoller before I didn't know most of what you just explained to me till now. Thanks heaps! Kyle_Mathews; Unfortunately I wasn't able to make this in a Drupal environment, so the serverside example is not a Drupal module. It wouldn't be too difficult to turn it into one and create an API for drupal modules to expose new widgets etc. The server-side implementation also needs to take care of the widget-add interface. There is no support for this in jQuery.dashboard() other than the configurable link to that page.

Interesting, I'm currently

Interesting, I'm currently working on such a module for a client project. My work will be contributed to the community. I've just created a project page on Drupal.org. I think my schedule to release a first version is a few weeks (let say 2 or 3 weeks from now). Jérémy

License?

Good Work. Thinking of using it but I need to know under which license its being distributed; same as jquery: GPL and MIT? There is no information whatsoever about this in the downloadable package.

Jeremy; Cool! I'd like to

Jeremy; Cool! I'd like to see how can collaborate to make both projects better. Are you going to DrupalCon DC next week? PM me. Anonymous; Ooops! I added a license and info to all the files. While the demo implementation is GPL, contributions are only valuable if they are to improve the example or documentation. jquery.dashboard.js and dashboard.css are the core of this package and I would like to see users respecting the GPL be contributing back enhancements and bug fixes to these files. Also, is there a better license for javascript code than the GPL? What are the advantages of licenses like MIT or DOJO for javascript libraries?

Yes I'll be in DC next

Yes I'll be in DC next week! See you there! Jérémy

License

The gist of both license (and I am not a lawyer so this is my understanding of it all): GPL: imposes to whoever uses the code in their software to release their software as GPL as well (i.e. open source and free). BSD\MIT: let anyone use the code and release the resulting software under any license they wish.

License - GPL??!!

Bevan, this is GPL-ed and not BSD or some such thing? That means, if I use it in a commercial piece of software as the dashboard manager, the whole app needs to be GPL. Would you have a version with a less restrictive licensing model?