Deployment Platform/Software

Harmonic Distribution version cycle: | 1.0 | Factory |

Software Map

  The whole software within the Harmonic Distribution is structured as:
  • Base software
    Provided from Sweets Distribution in form of native packages. Base software is separated by targeted audience:
  • Using oriented
    For regular usage. This kind of software exists in two dimensions:
By purpose:
  • Client side
    Desktop - Desktop Environment for Sugar Learning Platform.
  • Server side
    Server Kit - to form school servers.
By the supporting time:
  • Short-term support (STS)
    Targeting to individual usage and based on Sucrose six months release cycle.
  • Long-term support (LTS)
    Targeting to Sugar deployments that can't switch between Sucrose releases every six months.
  • Development oriented
    Doers' Kit - targeting to developers who code within the Sugar Learning Platform.
  • Community software
    The rest of software created on top of the Base one. In contrast to Base, this kind of software is being provided via Sugar Network.

Desktop

Components:

Sources:

Doers' Kit

Sugar Doers Kit (SDK) is a set of tools and libraries to help people code in Sugar.

Components:

  • Sweets, Zero Install based Package Management System for Sugar.
  • sugar-lint, utility to lint various source files.
  • gatch, support long or ever standing, all time being on top, downstream patchset for the base branch in a Git repository.
  • Sugar via Sweets, several Sucrose versions via Sweets.

Sources:

Glucose development

Server Kit

Components:

Sources:

For detailed information, see Server Kit's home page.

Sugar Network

Components:

Sources:

Distribution via Sugar Network

The high-level overview is looks like:

  • software creators
    upload source bundles to the Sugar Network; only sources, even if it is binary based activities;
  • Sugar Network
    if uploaded software needs building, it will send it to OBS;
  • on users side
    Sweets library will:
    • read Sugar Network to find out information about implementations of software that user requested to launch;
    • according to the local environment, it will download proper implementation;
    • if there is no proper binary implementation, it will download sources and will build them in local environment.