Milestone Rox Framework
New classes in /roxlauncher/ and /tools/ allow to develop applications in a new scheme, with smaller classes and less global dependencies.
- View classes are split up, leaving one class per page. This helps to separate responsibilities, and reduces the size of the search space for bugs. The page base class (PageWithHTML, or PageWithXML, or whatever) has one central render() method, that is called by the framework. An application page inherits from one of these base classes, and overrides some of the protected methods which are indirectly called by the render() method. Each of these protected methods correspond to one part of the layout.
- The controller index() method finds out which page to show, creates a page object, provides it with some information (model, some parameters), and returns it to the framework for rendering. The controller does no longer have to know about layout things.
- Information is injected via function parameters or by setting attributes of the controller or view (page) object, instead of passing it via the global registry or a singleton. The request and post/get args lose their global nature (or, that will happen when it's finished).
The old applications do still work, the changes are backwards compatible.
This milestone is about moving all this stuff to alpha and production, once we are sure it works.
Some things can go into Rox Framework, Upgrade later.
Note: See
TracRoadmap for help on using
the roadmap.
