GroundControl
Description
GroundControl is a project to create social development tools which combine the best of collaborative development tools available online right into desktop tools.
Website: http://ground-control.org
Project: https://launchpad.net/groundcontrol/
Version in Repositories: 1.6
Status: Broken
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:
Services - List of supported/installed services, such as launchpad
Accounts - List of enabled accounts
Projects - List of known local projects (search for remote projects done on service)
Branches - List of known local branches
Bugs - List of subscribed bugs
And thus these dbus objects as items:
Service - Interface for a service, enabled capabilities, online status, search for projects etc
Account - Interface for an account, identification, keys, names, avatars etc
Project - Interface for a project, authorised capabilities, searches for branches and bugs
Branch - Interface for a branch, maybe bzr, git etc, includes all basic functions such as pushing, pulling, merging etc.
Bug - Interface for subscribed bug. Bug details, comments, attached branch etc
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.
GroundControl (last edited 2012-10-23 05:12:10 by c-50-136-124-83)