Create an AJAX interface class

Registered by Michael Sebel

We want to make it possible to provide some kind of ajax class interface
which would contain something like this:

- basic javascript function to call an ajax class without return value
- javascript function or template to do the same with return value(s)
- as parameter we could provide kind of a simple class to make parameter objects
- basic class loader in /classes/ajax which loads a classname by the above function call
- abstract class or interface to provide similar functionality
- child classes implementing interface / abstract to provide the ajax functionality
- location for child classes? /classes/ajax/objects/?
- location for loader? /classes/ajax/loader.php? better location?
- What about security while creating dynamic objects?

That's everything so far... I'il update this as soon something
more comes to my mind

Blueprint information

Status:
Complete
Approver:
Michael Sebel
Priority:
High
Drafter:
None
Direction:
Needs approval
Assignee:
Michael Sebel
Definition:
Approved
Series goal:
Accepted for 2.4.0
Implementation:
Implemented
Milestone target:
None
Started by
Michael Sebel
Completed by
Michael Sebel

Related branches

Sprints

Whiteboard

Launchpad Blueprint for 'ajax-interface', definitive version

- Add the following to the /scripts/system.js
   * Function to make calls without return
   * Function to make calls with return (maybe just a template)
   * Private functions that might be used
   * Should be able to handle different parameters
   * Handling as querystring or array? Will be posted.

- Add the following to /classes/ajax/ajax.php (1st revision)
   * Static function to wrap the ajax calls

- Add folders and files as described at the whiteboard (2nd revision)
   * See if there are problems with present ajax class(es)
   * Make all files empty

- Implement the caller page for ajax requests (3rd revision)
   * Calls must only containt [a-zA-Z0-9] otherwise they get ignored
   * Requires the callname once /classes/ajax/objects/myCall.php
   * Instantiates the object with the given classname (myCall)
   * Calls the abstacted output method
   * Solves error handling with wrong classes / inexistant classes
      by checking for class existance after include

- Implement an abstract basic class for ajax calls (4th revision)
   * Converts Params to associative arrays
   * Provides validation and error handling (status codes)
   * Has an abstract function for the output call itself
   * output method can be a void for non returning ajax calls

- Solve the javascript problem as described in bug #000000
   * Implement a derived class to call "ResHtml" and "ResJavascript"
   * Language handling for those functions should be handled internal (5th revision)
   * Use the "ResJavascript" call to solve the "delete message" issue (6th revision, bug fixed)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.