Platform Team/Polyol

From Sugar Labs
Jump to navigation Jump to search


Summary

Intermediate level GObject based libraries stack.

Concepts

Polyol.png

  • Glucose - sugar core processes.
  • Polyol - level that contains glucose compatibility libraries and libraries that are not tied to glucose directly (or not tied at all).
    The reason for such a level is that it will be deployed by 0install, e.g., it would be possible to have a recent Polyol stack on Sugar 0.82.
    • all libraries are written in Vala, i.e., based on pure GObjects, and could be used by non-python-based activities.
    • each Polyol component has its own release schedule, i.e., there are no Polyol official releases (it looks like in Gentoo)
    • glucose compatibility components will support several (popular among sugar deployers) sugar releases
    • except for the glucose compatibility components, all Polyol libraries are glucose independent.
  • Activity - regular activities would not use glucose directly, rather they would only access glucose through the Polyol level.
    There is no need to code special activities, the sugar-toolkit API will be preserved, and activity developers will benefit because Polyol will support the recent sugar-toolkit API, e.g., they could use the new toolbars design even on Sugar 0.82.

Libraries

env

Access to various sugar environment settings.

shell

Compatibility level library to sugar-shell.

collab

High level client API for what activity developers might need to code collab activities.

storage

High level client API to sugar-datastore and local files system.

gui

A set of first level GUI widgets to simplify process of activity creation.