web-dev-qa-db-ja.com

モバイルデバイスでのフォームステータスフィルタリングの説明

モバイルデバイスのフォームの次の5つのステータスの背後にある技術的な違い/重要な意味を知りたいです。アプリの「保存されたフォーム」セクションに入ると、4つのオプションが表示されます(そして、私に付随する明確な質問):

  1. 記入済みのすべてのフォーム

*これには、ユーザーが「送信」フォームを押したすべてのフォームが含まれ、リストにはすべての送信済みフォームと未送信フォームが含まれますか?

  1. 提出されたフォームのみ
  2. 未送信のフォームのみ

*このリストには、タブレットで入力されたがまだ同期されていないフォームが含まれていますか?

  1. 不完全なフォームのみ
  2. 隔離されたフォーム

*「隔離された」フォームとは何か、またはフォームがこの状態になる方法については明確ではありません。

さらに、保存されたフォームがデバイスに保持されることに関して、それらの保存されたフォームが占有するスペースの意味は何ですか?

1
Merv

保存されたフォームの種類は以下のとおりです。

一般的な知識:

  • 保存されたフォームはデバイス上に保持されます。通常、レコードは非常に小さく、フォームにマルチメディアが含まれていない限り、あまり影響しません。 CommCareHQには、デバイスで一定の日数が経過した後、保存されたフォームを「パージ」するための構成オプションが含まれています。
  • 完成したすべてのフォームには、送信済みフォームと未送信フォームが含まれます
  • 未送信フォームには「同期」されていない完成したフォームが含まれますが、「同期」とは双方向のデータ交換(未送信フォームの送信、同期データのプル)を指し、アプリが「未送信」と呼ぶ理由に注意してください「非同期」ではなく

記入済みのすべてのフォーム

ユーザーが完了ボタンをクリックし、デバイスがデータをローカルデータベースに同期したフォーム(たとえば、新しいケースが表示されている)。

検疫済みのフォームは、このリストまたはその他(検疫リスト以外)には含まれません

未送信のフォームのみ

サーバーに送信されていない完成したフォーム

提出されたフォームのみ

完成し、サーバーに反映されたフォーム。

不完全なフォームのみ

不完全として保存され、notがクリックされていないためにユーザーによって処理されているフォームFinish。これらのフォームからのケースの変更はケースリストに表示されず、フォームが完了するまでフォームはサーバーに送信されません。

隔離されたフォーム

例外的な状況では、フォームがcompletedの場合もありますが、サーバーに送信する前に、レコードをレンダリングするイベントが発生しますnusable

これが発生すると、CommCareはフォームを「隔離」して将来の問題を防ぎます(そうしないと、そのフォームの後に入力したフォームを送信できなかったため)が、トラブルシューティングのためにデバイスに記録を残します。

保存されたフォームのリストでレコードを長クリックすると、Scan Record Integrityを選択できます。これにより、レコードに関する有用な出力が得られます。

検疫が発生する可能性のある具体的な例

  • ユーザーはオフライン中にフォームを完了済みとして保存します
  • ユーザーがCommCareからログアウトする
  • ユーザーは、暗号化されたファイルがディスクに保存されるディレクトリに移動します
  • ユーザーが暗号化されたフォームレコードを削除する

CommCareが次に起動すると、保存されたフォームを探してサーバーに送信し、ファイル自体が欠落していることを識別して、イベントを記録した後にレコードを隔離します。

2
Clayton Sims