This will be the main list/repository for the Drupal Admin Enhancements project for Summer of Code 2006. A description of Konstantin's excellent plans may be found at http://2006.planet-soc.com/?q=node/146.
In brief, the usability improvements will focus on seemingly minor but important Drupal administration annoyances that could be made easier through AJAX/AHAH:
- Fast toggling
- Easy renaming of strings (node titles, etc)
- Menu editing
All comments are welcome! The more, the many-er! ;-)
Student: Konstantin Käfer
Mentors: Nick Lewis, Ruben D. Canlas Jr.
Status? What's become of this project, is anyone using it?
Fast toggling!
I just implemented the fast toggling thingie. It can be found in the CVS repository.
Locations where this feature can be tested are administer ➔ content management ➔ posts and administer ➔ user management ➔ users. Note that it degrades gracefully with JavaScript disabled.
How to test the reorderable tree
Updated the docs and the patches and modules to reflect the recent changes in HEAD.
- Get a recent HEAD version of Drupal. Install it.
- Get a recent version of jQuery. (Don't be afraid of its size. Compressed, it's only 15KB) Put it into the misc/ folder.
- Download the files from CVS.
- Move the generic.patch to your Drupal root folder and apply it. This patch contains all the split up patches I and others submitted the last couple of weeks. Links to single patches are provided below.
Test site -- comments needed
A demo of the usability improvements is available at http://drupal.kkaefer.com/. Please review and comment. If you find errors, please report: your browser name and version number; the URL of the page that caused the error; and the error message. Thanks!
Konstantin, just a clarification. You grouped the admin tasks into 5 headings. Is this the proposed way to reorganize the menus?
Read moreIdea: General structure of the new drupal.js
Some of my ideas for the future drupal.js:
Note: This is demo/fake code, not actual, working code.
var Drupal = {
jsEnabled: false,
basePath: 'http://example.com/drupal',
locales: {},
settings: {},
addLocales: function(translations) { ... },
t: function(str, args) { ... },
watchdog: function(type, message, severity, link) { ... },
parseJson: function(data) { ... }
};
jQuery.dimensions = function() { ... };
jQuery.absolutePosition = function() { ... };
jQuery.freezeHeight = function() { ... };
jQuery.redirectFormButton = function() { ... };Read more Updates please
Hi Konstantin,
How are things going? Please give us your weekly update -- can't wait to test.
Read moreUpdate, 14 July
Konstantin gave me a preview of his work on Admin Usability Improvements: so far, very impressive. I blogged it here.
Read moreWeekly update (July 5)
In the last couple of days, I got familiar with jQuery and in particular with the new functionality in 1.0 alpha. I wrote the first portions of code for the tree. They can be found at http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/timcn/soc/wee.... (You need to download the lates alpha of jQuery manually as it's still in MIT licence).
For the next week, I plan to add drag and drop capabilities to the tree and to test it for cross-browser functionality.
Read moreWhat has happened until now
In order to get external people a little bit more involved into my project, I'll start posting weekly updates and I begin with a summary of what I have done so far.
- Pave the way for jQuery
Until now, my main goal was to get jQuery or another kind of JavaScript library into core. This is necessary as my code will have quite some chunks of client side scripts which are a lot easier and faster to develop if you rely on well tested libraries. Fortunately, we are now in the process of rolling in jQuery into Drupal core.
Tree view
<
ul>
<
ul>
- By default, all items are collapsed
- You can specify if you want to open the path to a certain item
- The route to a selected item is expanded by default
- Drag one item or a tree of items to another position in the tree
- After each drag, the user is asked to confirm the action
What JavaScript library should we use? (Regardless of licencing issues)
Recomended first steps
I'm just catching up, looks like there is some good stuff going on. As a non-mentor on this project, here are my ideas:
- Mock up the the three new UI widgets (I always code first, but I've ended up coding too many projects twice due to UI changes).
- Find candidate places where the widgets can be used (only the places which make sense should be used).
I would at the end like to see these standardized in the Drupal API (like autocomplete text fields) so that using them in other places or modules is easy. With these should come UI guidelines for when to use these elements, how to use the
Read more


