2

こんにちは、moodle を初めて使用するので、moodle をオフラインにする方法と、サーバーとクライアント間で使用できる同期技術について考えてみたいと思います。(db 同期とフォルダー コンテンツ同期の両方)。これに関するいくつかの情報を提供してください。前もって感謝します

4

2 に答える 2

3

これには Gears を使用できます。このプラグインをチェックしてください:

オフライン Moodle: Google Gears キャッシュ http://moodle.org/mod/data/view.php?d=13&rid=2636&filter=1

于 2011-11-10T14:17:57.813 に答える
1

ここに私の考えがあります。これは、クライアントに Moodle のローカル コピーがインストールされているが、すべてのデータがサーバー上にあることを前提としています。

サーバー -> クライアントの同期は簡単です。サーバーは、db スキーマ + データを公開する必要があります。データベースが大きくなった場合は、db diff のみを送信するのが賢明な場合があります (クライアントがサーバーと同期するたびに、db ダンプのスナップショットを取得し、同期の時間を記録します。その後、クライアントが再度同期する必要がある場合は、現在のデータベースと前回の同期時のスナップショットを送信し、差分のみを送信します)。と簡単にファイルやフォルダを同期できますrsync

クライアント -> サーバー同期トリッキーです。A 教授と B 教授が、オフライン中に 2 つの異なる名前で 2 つの異なるコースを作成したとします。ただし、データベースの仕組みにより、両方のコースがデータベース内で同じ ID を持つ可能性が高く、問題が発生します。これは、Moodle コードベースを変更せずに解決するためのクレイジーなアイデアです。MySQL を使用している場合は、同期のたびに各ユーザーに異なる AUTO_INCREMENT 番号を与えます。たとえば、教授 A がサーバーと同期した後、コース テーブルの次の自動生成 ID は 10000 であり、教授 B は 20000 であるという情報を受け取ります。教授 A が新しいコースを作成すると、ID = 10001 になり、教授 B の新しいコースは 20001 になります。このようにして、教授は ID の衝突を引き起こすことなく、最大 10000 の新しいコースを作成できます。ただし、これは悪意のある人物からあなたを保護するものではありません.

Moodle をオフラインにすることを考えたのはあなただけではないようです。

于 2011-04-27T18:50:12.713 に答える