Extending Toaster: Difference between revisions
No edit summary |
|||
Line 11: | Line 11: | ||
* toastergui - the Toaster frontend for build inspection | * toastergui - the Toaster frontend for build inspection | ||
* orm - a separate application just to hold the persistent object models | * orm - a separate application just to hold the persistent object models | ||
* bldcontrol - application containing the code to start and control bitbake in managed mode | |||
== Requirements for extensibility == | == Requirements for extensibility == |
Revision as of 14:10, 25 June 2014
In order to promote customizability of Toaster, we have here a set of guidelines on how to add functionality and customize the Toaster web interface.
Django extensibility model
Django, per se, does not offer any extensibility / customization model. Being a framework for hosted application, it is assumed that the host will have complete access for modification. Because Django is not envisioned to be distributed / portable / reusable, there is no need to support insertion of 3rd party content after deployment, or to alter the user flows by 3rd party contributors. However, we can use Django modularization support to add custom extensibility capabilities to our distributable project.
A Django project supports a number of "applications", intended to allow developers to separate different scopes of a web site in different applications. For example, the custom admin interface for a web site should live in a different application than the normal user-facing site.
Toaster consists of a basic set of applications - we have:
- bldviewer - the "simple" web interface, for development purposes only
- toastergui - the Toaster frontend for build inspection
- orm - a separate application just to hold the persistent object models
- bldcontrol - application containing the code to start and control bitbake in managed mode