Development Information on the Backend

Development information (architecture, mechanisms) related to the backend are documented per feature. Also items for refactoring are mentioned, so they are not lost.

Global Architecture

FIXME Who feels like writing a part on this ;-)

Features of the Backend

The code has become quite big, so it seems handy to explain parts on a feature basis.

Possible Refactoring Opportunities

Areas for improvement on parts of the code can be mentioned here with a short explanation.

Deleting of Items

Currently the responsibilities for deleting of objects are unclear. When deleting a project the project teams, project team players/staff, matches, et cetera are deleted by the project object, whereas is seems more natural to delegate the responsibility of deletion to to the logical parent of objects. So a project will instruct its rounds to remove themselves before it removes itself, a round will instruct its matches to remove themselves before it removes itself, and a match will instruct its match players/statistics/events to remove themselves before it removes itself.

Code reference: function remove() in file administrator/components/com_joomleague/controllers/project.php

In Other Languages
Translations of this page:
QR Code
QR Code dev:backend (generated for current page)