Proposed by: Benjamin Mack and Ingmar Schlecht
Mentor: probably one of them
Student working on it: -
Level: Medium
The Web>List module is one of the central modules of the TYPO3 Backend. The area which clearly needs most attention regarding future improvements is usability. Mainly through the use of AJAX techniques, a lot of day-to-day tasks can be made easier. This project description suggests a number of ideas for such improvements.
Due to its versatility (i.e. all types of records are managed in that module) nearly all users of TYPO3 will benefit from improvements done in that part of the system.
- Usability could be improved
- Performance could be improved
- Fast search
Introducing an AJAX-based search that shows the found records as you type. - Introduce an ultra-flexible filter
Currently it is almost impossible to make standard or complex filters like "Show All Website Users that registered in the last month". If possible we want to save these filters for reuse. - Remove the CSV export part from the list view
Right now the CSV export is innertwined with the List module. We thought of moving this component out of there and make it a configurable part, so it oculd be re-used in extensions etc. - Integration of other export types
Additionally the record listing should be flexible so it can be used in other modules, as a CSV export or displayed as a print view. - Introducing in-place-editing
Although this seems a simple task, there is a lot of work to be done under the hood so people can easily change a single field of a record directly. - Multiple editing & new clipboard
The clipboard needs a rewrite to allow fast way for copying, moving, editing and deleting loads of records with a better and more intuitive UI. - Drag & Drop sorting
Sorting should be simplified through Drag & Drop behaviour for record types where this is possible. - Dynamic Column display
A nice feature we liked in Apple's iTunes or Mozilla Thunderbird is the fast way to add / remove columns by clicking at a small icon at the top-right corner of the record table, or just by right clicking on the table header. We already have the technique in TYPO3 (the clickmenu), so this should be an easy task. - UI refactoring & speed improvements while loading the module
When dealing with multiple hundred records on a page, loading these records takes quite some time. We'd like to see a speed up of the loading process of the records so the whole list module feels more like a desktop application.
Nothing special apart from the usual PHP programming skills.
There is already an extension called "filterbase" (still to be cleaned up and released in TER, contact Ingmar for details) implementing very flexible filters for frontend plugins. This could be adoped for use in the backend and used for this project as well.