On this page
Ajax Everywhere
Drupal 5.0 has Ajax for autocompletion. Ajax could be expanded to a lot more.
Proposed by: peterx
I will use the admin comments approval list as an example.
admin/content/comment/list/approval
The first column in the list is a checkbox. I can tick the box then select an option at the top of the page then click a submit button marked Update. When Ajax is detected and the user approves the use of Ajax in their profile, the checkbox could automatically become a button to approve the item. An initial target would be to change the status on the spot and report the change in the list without rebuilding the list.
A more ambitious target would be to change the status, delete the entry, and add another entry at the bottom of the list. Deleting the entry would have to be controllable because in some circumstances the person working on the list would want to see the status of prior list entries when working down a list.
The comment subject links through to the comment. Downloading all the comments as titles for the entries would slow down the initial page download. The comments could be retrieved using Ajax when the title is clicked. Pop up the comment on the first click and leave the comment content in the comment entry as a title to pop up when the mouse goes over the comment.
The author column provides little information but could be expanded the same way the subject column is expanded. You could pop up the author profile. Any column in a list could be expanded with information that is time consuming to gather and is not often used but could be there at a click. The initial page load would have the regular information and the page would be covered with spots of extra information.
The whole process of expanding lists, forms, and pages would need careful documentation so that people can see the intent. You cannot read some Web pages because they have too many mouseover messages that obstruct regular use. Constantly loading things via Ajax still has an impact on your server which means that some information is better delivered in a separate Web page that can remain open without reloading.
You need to let users turn the enhancement off when it is a distraction, overkill or just plain roadkill.
Some pages have multiple submit buttons that may be several forms or just one form with several actions. Ajax will lead to more submit buttons on a page. Javascript could highlight the data relevant to a submit button or to any other element that creates an action. This will clarify things for the user. As an example, you could have registration pages with an email address entry section that has a "test now" button. Mousing over the email entry section would highlight the email entry box and the test now button.
Some multiple page forms are split into lots of little sections so the result of one page can be used on the next but the user cannot see what they entered on the previous pages. You could make it a set of sections on one page where each section has an Ajax submit and the next section switched on when the server replies. The fallback would be one long form with each section having a regular submit button.
I will be adding some of this stuff to my sites in a custom way and would be happy to work with someone to make these type of enhancements a regular part of Drupal.
Comments on this proposal
Fairy tale
chx - February 16, 2007 - 17:23
Maybe I am simply bitchy this night -- but this is a fairy tale and not a proposal.
This project would let you create
* JavasScript popups. Some use cases are: comments and node teasers in administer screens and user profiles. Deliverables: a JS popup written with jQuery populated by an AJAX callback. Some default, themeable AJAX callbacks for comments, node teasers, user profiles.
* oading each step of a multistep form via AJAX, leaving the previous (and maybe the next?) forms on screen.
Providing visual guidance in forms are an idea too, but I would rather see a design where it's just trivial. But, I might be wrong.
I would believe this is a starting point. You need to write more about each but this is where you start.
--
The news is Now Public | Drupal development: making the world better, one patch at a time. | Local dip sour | A bedroom without a teddy is like a face without a smile.
======================================================
======================================================
ajax login
Bevan - February 17, 2007 - 03:56
Many web apps now feature dynamic login forms that check your username / password and respond dynamically via AJAX, no page reload. some even log you in without redirecting you. This feature could be a great asset for drupal, and is appropriate to this project.
======================================================
======================================================
Login as an example
peterx - February 17, 2007 - 10:30
Using your suggestion of the user login as an example, that specific change could be make just in user_login_block to provide Ajax as an alternative or the there could be a code change at the forms level to make the change available to all forms, with user_login_block providing an example of using the change to the forms processing. The change at the forms level would be of more use.
When a user logs in, the whole page could change including a different theme. I suggest the SOC project be aimed at changes that occur only within one form.
A later project could provide the equivalent of a Drupal hook at the Javascript level to update multiple components of a page.
petermoulding.com/web_architect
======================================================
======================================================
Reduce. Make concrete.
robertDouglass - February 17, 2007 - 03:28
I want to see proposals that can be done in a summer by a student who may be new to Drupal. Please identify one concrete deliverable, describe it, draw a short roadmap to implementation, citations and references to related work and resources, and scrap all the rest. Thank you.
- Robert Douglass
-----
Lullabot | My Drupal book | My Digg RSS feed
======================================================
======================================================
Some parts of this proposal,
kkaefer - February 22, 2007 - 14:34
Some parts of this proposal, namely the toggling of items (binary settings, published/unpublished etc.) have already been done in last year's summer of code. The project for that can be found at http://drupal.org/project/fasttoggle.
======================================================
======================================================
Thank you for the link
peterx - February 22, 2007 - 17:55
I will try Fasttoggle with some of the other Ajax stuff running on my site. Is the Fasttoggle approach under consideration for a Drupal 6.0 core forms enhancement?
petermoulding.com/web_architect
======================================================
======================================================
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion