Once the interface is solid as granite without JS, implement an AJAX layer that will simplify and speed up the interface. This includes:
- Fast quickgrading/quickfeedback: No input elements until a cell is clicked. Clicking outside submits the form and updates the report without reloading the page.
- Fast sorting and paging
- Fast display toggles (show/hide icons)
- Drag and Drop of categories and items in the category edit page
- Fast cascading actions (hide, lock etc...)
- Instant feedback when writing calculation formulas