Using only HTML, CSS, JavaScript, and a relational database with server-side scripting language (e.g. PHP and MySQL), how can you retrieve and display data objects AND manipulate them visually?
By manipulate I mean creating new objects, retrieving stored objects, visualising their properties (e.g. making a circle diamater larger or smaller), and calling methods and setting field values based on dragging and dropping (changing size, shape and position).
An example of use would be an online representation of a physical office whiteboard with magnetic counters, used for issue monitoring and tracking. A table has rows for named issue owner, and columns representing the business workflow e.g. a 4 stage "Assign", "Investigate", "Implement", "Agree closure" process (or whatever, just an example).
A user would click a button to create a new Issue object, with its own unique id number. Its shape would depend on its issue type, its colour its status (red, amber, green for e.g. no plan, behind but recovery on plan, on plan). Dragging it to the relevant table cell would allocate it to an owner based on its row index, and set the life-cycle state based on column index. Each time an object is dragged or dropped or otherwise changed, the visual changes are reflected in the object properties in the database.
I'm torn between using HTML5 canvas element, or SVG with some clever CSS. I can work out how to get stuff already in the database onto the screen, but not how to manipulate and store the changes through the screen. I'm also assuming this can be done in HTML/CSS/JavaScript/PHP/MySQL but what other technologies could be used?