Description

GroundControl is a project to create social development tools which combine the best of collaborative development tools available online right into desktop tools.

Version 2.0

The first version of ground control was quite rough and required nautilus and gnome 2 to work. The rappid changes in nautilus, gnome, python and especially launchpad api required a re-think of how to organise ad design the project. Thus version 2.0 was started.

Design

The new design is split into a number of components.

Core Infrastructure

The core is a dbus service/daemon which is run under user privileges. It's job is to provide a standard desktop-wide api to any of a multitude of project websites such as launchpad, github and savanah.

The service provides these dbus objects as collections:

And thus these dbus objects as items:

Authentication

Because we have a new Ubuntu Online Accounts functionality, the current authorisation mechanisms should be replaced with a set of integrations into this new desktop wide functionality. The above dbus API is not duplicating UOA because it's providing access to normalised functionality for a variety of services.

Dash Searching

The easiest functionality after the core is dash search integration. There are already semi-working plugins to allow searching for projects, bugs and developers.

Messaging/notifier

Probably the hardest or most impossible feature. Integrating any messages about projects and changes in bug statuses would require polling and a non-standard way of checking for updates. But there is no reason why there couldn't be good support for these messages eventually.

Integrated Editor

The editor is a the main functionality, it allows a developer to enter a project, get a branch and start hacking on it right away. It takes over from the old nautilus plugin and allows branch and project management, opening files as well as in-line editing.

There is a version in the repository which is not nearly finished.

layout.png

projects.png

code.png

lookup.png

GroundControl (last edited 2012-10-23 05:12:10 by c-50-136-124-83)