Extending Toaster

From Yocto Project
Revision as of 15:56, 15 May 2014 by Ddalex (talk | contribs)
Jump to navigationJump to search

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


Requirements for extensibility

Toaster points - a proposal