Saros/I Roadmap

This is the roadmap document of the IntelliJ version of Saros.

1. Saros/I v0.1 (Alpha Release)

Status: in progress

The first Alpha of Saros/I will have the following features and limitations:

Account Management

  • Using already configured XMPP-accounts (from a Saros/E setup; accounts are stored in ~/.saros/).
  • Entering credentials of accounts that already exist on an XMPP-server.
  • Missing: Adding new XMPP-contacts to the roster.
  • Missing: Creating new XMPP-accounts from within Saros/I.

Starting a Session

  • Starting a new session by sharing a single module from your project.
  • Accepting an invitation by reusing an existing module (local differences will be overridden).
  • Accepting an invitation by creating a new module.

Working on Source Code together

  • Editing shared files concurrently.
  • Missing: Adding or deleting files from the share project. (Stopping and restarting the session is required to reflect such changes.)
  • Missing: Consistency watchdog and recovery.

Awareness Information and Follow Mode

  • Missing: Follow Mode (mirroring a session partner's navigation and scrolling).
  • Missing: Selection and Contribution annotations (highlighting of remote text selections and recent changes of session partners).

Technical Information

Patches go to the branch release/intellij-0.1.0 in our Gerrit review system. The current build can be installed from this custom Intellij plugin repository: https://get-saros.herokuapp.com/intellij-alpha/updatePlugins.xml

2. New Filesystem Abstraction

Status: planned

In order to mirror filesystem actitivies properly, e.g., adding and deleting files (see next milestone), the current Core filesystem interfaces need to be simplified. This affects all parts of Saros, including the Eclipse plugin. For instance, the Eclipse plugin uses IProject instances to represent both a container with Saros-shared resources as well as units in the Eclipse workspace. The correct Saros abstraction would be some arbitraty Root which both Host and Non-Hosts locate in their local filesystem and under which Saros synchronizes all files and folders.

3. Proper Management of Shared Resources

Status: pending

Properly handling the creation and deletion of files in a Saros session requires a proper implementation of the SharedResourceManager, which in turn will be much easier with a clean abstraction from the respective IDE's filesystem.

4. Consistency Watchdog and Recovery

Status: pending

Requires a working management of shared resources.

5. Follow Mode

Status: pending

The Follow Mode should be implemented using the FollowModeManager.