1

Etherpad のタイムライン機能がどのように機能するかを知りたいです。

etherpad ソフトウェアがわからない場合は、その実装をご覧ください - http://piratepad.net/

編集を行い、何かを書き、太字にし、エディターを使用すると、右上にタイムラインが表示されます。それをクリックして再生します。

http://img6.imagebanana.com/img/vmot5xt0/Selection_060.pngのような JSON 応答を見ることができますが、誰でもそれをわかりやすいものに分解できます。

これは Node.js ポートからのコードです - https://github.com/Pita/etherpad-lite/blob/master/src/node/handler/TimesliderMessageHandler.js#L359

JSON 応答とその仕組みを理解することに非常に興味があります。また、そのようなアプリに最適なデータベース (etherpad、Google ドキュメントなど)。Nosql (mongodb など) または sql (mysql など)。

4

1 に答える 1

2

タイムスライダーをドラッグすると、検出したとおりに関連する変更がサーバーからクライアントに送信されます。

変更は、既存のドキュメントの内容を編集して新しいドキュメントの内容にする命令としてエンコードされます。https://github.com/ether/etherpad-lite/wiki/Changeset-Libraryを参照してください

元の説明は次のとおりです:https ://github.com/ether/pad/blob/master/infrastructure/ace/easysync-notes.txt

Etherpadは主にSQLで動作します。他のDBでの実験があるかもしれませんが、etherpadにとって最も重要なのは、チェンジセットの生のテーブルの読み取り/書き込みです。リレーショナルDBは、パフォーマンスと健全性のためにおそらく最良の選択です。MySQLはetherpadのデフォルトです。Postgresに取り組んできました。http://appolo85.wordpress.com/2010/03/22/first-steps-understanding-etherpad/にあるDBテーブルのリスト

(したがって、nosqlタイプのデータベースはお勧めできません。mysqlが退屈すぎる場合は、すべてインメモリデータベースを試して、速度を大幅に向上させてください。また、通常のetherpadは強力なサーバーのjava+scalaで実行されることに注意してください。 、これは、独自のサーバーをセットアップする場合の主な障害になる可能性があります。)

于 2012-06-28T17:07:37.243 に答える