GobbyServerPersistentState

Differences between revisions 1 and 2
Revision 1 as of 2008-06-02 06:49:48
Size: 1712
Editor: a91-154-115-6
Comment:
Revision 2 as of 2008-06-11 22:13:35
Size: 1855
Editor: a91-154-115-6
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
 * '''Launchpad Entry''': UbuntuSpec:gobby-server-persistent-state
 * '''Created''':
 * '''Contributors''':
 * '''Packages affected''':

FIXME

  • Look at current source code, see how big a job implementing this would be.
  • Discuss the change with upstream.

Summary

Make the gobby server save its state in files, and automatically commit those files to bzr.

Release Note

The Gobby server now saves its documents in a persistent way and commits all changes to a version control system.

Rationale

Ubuntu uses Gobby, the collaborative editor, a lot at conferences. It is an invaluable tool, but not as reliable as it could be. The server sometimes crashes, taking all documents with it. Fix this by having the server save its document to persistent storage often, and to keep them in bzr, too.

Design

Add configuration option to server to determine where it will save its state.

Make it create the directory and initialize it as a bzr branch, if the directory/branch does not exist already.

Every time a document changes, save it to a file in the directory, and run "bzr commit -m.".

When starting, the server should automatically load its documents from files in the directory, if any exist.

Implementation

To be determined.

Test/Demo Plan

Simple:

  • Do the following with and without the proposed changes.
  • Start Gobby.
  • Create document, with some content.
  • Kill -9 the server.
  • Restart Gobby.
  • See if the document still exists, with the right content.

Stress test:

  • Start Gobby server.
  • Start N dummy clients that randomly create documents and add text to them at a speed resembling that of a fast typist (100 word/minute).
  • See how big N can be without creating too much lag on the server.


CategorySpec

GobbyServerPersistentState (last edited 2008-08-06 16:16:48 by localhost)