Moodleアプリの同期
データを同期する方法は2つあります。自動と手動です。
自動同期
オフラインデータを生成できるアクティビティがアプリで開かれると、デバイスが接続されていればそのアクティビティは常に同期されます。たとえば、オンライン中にWikiを開くと、オフラインのデータはすべて同期されます。
さらに、各アクティビティタイプには、定期的に(通常10分ごとに)実行される自動同期プロセスがあります。例としてwikiを使用しましょう。 Wiki同期プロセスが実行されると、オフラインデータがあり、過去5分間に同期されていないすべてのWikiが同期されます。これは、サーバーがダウンしている可能性があるため、アプリのデータ使用量を減らすためです。これは、最悪のシナリオでアクティビティが同期されるまでに最大15分かかることを意味します。最悪のシナリオの例:
- 時間=0。ウィキの自動同期プロセスが実行されます。同期するものはありません。
- 時間= 5分1秒ユーザーがオフラインデータなしでWikiを開くと、同期は成功します。
- 時間= 5分2、3秒。ユーザーはそのWikiのオフラインデータをいくつか生成します。
- 時間= 10分Wikiの自動同期プロセスが再度実行されます。 Wikiにはオフラインデータがありますが、5分以内に同期されているので(手順2)、再度同期されることはありません。
- 時間= 20分Wikiの自動同期プロセスが再度実行されます。これでWikiは同期されました。
デバイスがオフラインのときに自動同期が実行されると、デバイスが再びオンラインになるまで同期は停止します。デバイスが次にオンラインになると、停止されたすべての自動同期プロセスがすぐに実行され、過去5分間に同期されなかったオフラインデータとアクティビティが同期されます。例えば:
- フォーラム同期プロセスが実行されます。デバイスはオンラインであるため実行されています。
- デバイスはオフラインになります。
- Wiki同期プロセスが実行されます。デバイスはオフラインなので、実行されなくなります。
- デバイスはオンラインになります。
- Wiki同期プロセスは停止されてから実行されます。フォーラムは停止されていないためまだ実行されていません。手順1から10分後に実行されます。
最後に、 App Settings> Synchronizationに「 Wi-Fi接続時にのみ同期を許可する」という設定があります。これが有効になっていて、デバイスが3G / 4G接続を使用している場合、自動同期プロセスは実行されません。デバイスがWi-Fi接続を使用するまで、実行が10分間遅れます。
自動同期プロセスは、アプリが起動している場合にのみ実行されます。アプリが閉じられると、データは再度起動されるまで同期されません。また、iOSでは、同期プロセスを実行するためにアプリはフォアグラウンド(アクティブ)にある必要があります。バックグラウンド(最小化)に設定されていると、アプリが再びフォアグラウンドになるまでプロセスは実行されません。
手動同期
ユーザーがオフラインでデータを生成すると、アプリはアクティビティ内に同期するデータがあることを知らせるメッセージを表示します。そのビューで[Pull To Refresh]を実行すると、そのアクティビティのデータのみが同期されます(他のアクティビティのデータは同期されません)。右上のコンテキストメニューを開いて[ 同期 ]をクリックしてもアクティビティを同期できます。そのため、ユーザーが特定のWikiで[Pull To Refresh]を実行すると、そのWikiだけが同期されます。アクティビティの外側(セクションなど)で[更新するためのプル]を実行しても、何も起こりません。
アプリ設定>同期で 、アプリはアプリに保存されているサイトのリストを表示します。サイトの横にある[更新]ボタンをクリックすると、すべての自動同期プロセスがすぐに実行されるため、過去5分間に同期されていないオフラインデータを含むすべてのアクティビティが同期されます。