Ongoing Work

What is currently going on in the Saros project?

The Saros project never stands still. However, by far not all of our energy goes into the development of new features. Since Saros is roughly 10 years old and went through the hands of well over 60 developers, there are grown structures in the source code that sometimes cause lots of pain. At the same time, our development infrastructure has become quite complex and needs the occassional maintenance work or renovation.

This page aims at providing an overview of the work areas we're currently active in. It's divided into two sections: The product section, and the process/infrastructure section.

Overview

Ongoing Work

Saros product

Saros for IntelliJ IDEA
Description Implement a plugin for the IntelliJ platform called Saros/I while reusing as much of the old Saros Eclipse plugin (now called Saros/E).
Both versions will be maintained and will be interoperable (at least to some degree).
Currently involved
no one
Saros HTML GUI
Description Devise an architecture to allows both Saros/E and Saros/I to use the same GUI code. We chose to embed a browser component in both IDEs and implement the GUI using web technologies (HTML, CSS, and JavaScript).
Currently involved
Matthias Bohnstedt, Nina Weber
Instant Session Start
Description Instead of starting a Saros session with the transfer of a ZIP file containing the baseline for the following activities, a Session could start empty and be filled file-by-file (transferred through activities) so developers can start working on their code almost immediately.
Currently involved
Patrick Fehling
Saros for Netbeans
Description Implement a plugin for the Netbeans platform called Saros/N while using the platform independent source code of the Saros Core.
Currently involved
Sabine Bender

Saros development infrastructure

Build server migration
Description All our services that we use during the development -- those are Gerrit, Jenkins, SonarQube, and our public XMPP server -- run on a server called saros-build. The old server was managed manually and could not keep up with Saros' growing demands over the recent years.
The new saros-build is managed through Salt. All services and their data need to be migrated to the new server.
Currently involved
Franz Zieris
Code Review Knowledge Management
Description See here
Currently involved
Dennis Ventzke
Leave Java 6 behind
Description Saros/I and Saros/Server are already build with Java 7, but Saros/E still relies on Java 6. See the following threads on the mailinglist:
Currently involved
no one

Dormant work

These are topics that were started, but not finished, and which are just waiting for you to pick them up.

Saros Server
Description A normal Saros session is started by one developer (a human being) who becomes the session's "Host". If this developer leaves the session, he tears it down with him. The idea of a Saros server would be have a machine initiate and coordinate the session, so that developer can join and leave session more flexible.
Currently involved
no one
Whiteboard Reintegration
Description See here.
Currently involved
no one
Console Sharing
Description The console view of the IDE provides important information about different things, e.g. recent program executions. For distributed pair programming, this information might be valueable for both parties. We started implementing such a feature (see Gerrit 1121, 1457, 1587, 1588) but it is not finished yet.
Currently involved
no one

Future work

STF across IDEs
Description The Saros Test Framework (STF) was originally written for Saros/E with its SWT user interface. With the advent of both Saros/I and the new HTML GUI, this framework is not longer sufficient to ensure Saros' quality. The new STF should be able to handle both Saros versions (Eclipse and IntelliJ) and their common HTML GUI.
Currently involved
no one
Trim the Core
Description The Core of Saros was introduced when we started developing Saros for Intellij. Unfortunately, some of the concepts in the core, in particular those represented by IProject and IWorkspace, match nicely to Eclipse concepts but not terribly well to IntelliJ concepts. Therefor, Saros should get rid of the project-based design that currently pervade large parts of the code.
Currently involved
no one