GobbyServerPersistentState
⇤ ← Revision 1 as of 2008-06-02 06:49:48
1712
Comment:
|
1855
|
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''': |
Launchpad Entry: 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.
GobbyServerPersistentState (last edited 2008-08-06 16:16:48 by localhost)