Mid-Term goals

Analyse and document the database structure. Then define foreign key relationships and implement them (even if not used by the database below they don't harm either). Analyse the queries done to spot inefficient ones, add indexes were useful.

Translation Handling

Write a helper app to clean up the language files and help in spotting missing strings. The english files will be the reference files.

Templates/Interface

Rewrite the templates. They clearly show their heritage with all the tables being used for layout purposes, their use of deprecated attributes and their reluctant use of CSS. Cleaning up would make the whole interface much lighter in terms of size and download times, and would offer the possiblity to control the layout with a single CSS file. Add the possiblity to have module-specific CSS files, add a new DHTML date picker, the HTMLarea editor component and a tooltip class.

Drop the strip_tags default modifier again. It was implemented in an effort to quickly squash security issues, but it causes a lot of problems, including breaking Smarty plugins and function for HTML generation. Afterwards get rid of mSelectBox, Smarty can do this better plus templates will be cleaner then. Plus it becomes useless as soon as we allow HTML coming from the HTMLarea editor. Instead implement a custom filter that just eliminates JavaScript and VBScript.

Maybe we could drop the support for different templates (nobody has come up with a new set so far anyway), getting rid if the default folder this way (cleaning up the directory structure). CSS will be able to change the layout more after the above changes.

Think about guidelines to make the interface consistent, provide a few standard template elements (simplify the _th and similar templates) and create the possibility to simply make column headers clickable for sorting purposes. Come up with a standard color scheme to be the new 'official' look.