#2: AJAX-ify Image / Attachment controls and post to folder actions

Contents
  1. Definitions
  2. Motivation
  3. Assumptions
  4. Proposal
  5. Implementation
  6. Deliverables
  7. Risks
by Justin Ryan last modified Apr 23, 2010 02:52 PM

RichDocument's Image / Attachment controls would be easier to use if they were a bit more AJAX-ified and would implicitly log more accurately if renaming, deleting, etc.. were logged the same as they are for normal folders.

Proposed by
bitmonk
Proposal type
User interface, Architecture
State
being-discussed

Definitions

AJAX is Asynchronous Javascript And XML, a handy term for explaining modern web development methods which use XMLHttpRequest in order to allow a 'page' to feel more like an 'application' communicating in, more or less, real-time with the server.

Motivation

The behaviour of RichDocument's image / file attachment controls is less-than-ideal, although their design is very intuitive - this should be improved.

Assumptions

It is possible, practical, efficient, and pragmatic to:

  1. closer mimick or reuse functionality of ATFolder / OrderedBaseContainer.
  2. make the attachment controls more dynamic.

Martin (optilude) pointed out that we could be more verbose in logging deletion and other actions such that it doesn't just say 'atct_edit', which doesn't look like a delete at all.  I feel this is worth investigating, but that sending the deletion through folder code in a way that invokes an identical message would be a Better(tm) method of building on the existing meme.

Proposal

Pushing AJAX a little deeper into them and bringing them closer to ATFolder / OrderedBaseContainer could improve both:

  • The illusion of dynamic controls in edit form
  • The adherence of behaviour following ATFolder's lead

Implementation

Forms should post to actions from ATFolder and/or OrderedBaseContainer, or these products should share code in a module with RD, such that behaviour is predictable and consistent when dealing with folder contents.

Forms should be loaded via a separate url and/or wrapped in etags such that they can be cached efficiently.

Additions, renames, and deletion should occur without reloading the edit form, perhaps using a similar method to that which kupu allows for preview of external url before setting a link.

Deliverables

Modified version of RichDocument with more ajax and folder-content-handling code possibly closer to OrderedBaseContainer / ATFolder.

Risks

This could be a horrible idea and may violently interfere with other aspects of RichDocument design.

Comments (0)