アクションによって、ユーザーは顧客の住所を変更したり、新しいコンタクトを追加したり、写真を修正したりなど、アプリケーションをより細やかに操作することができます。
4D ランゲージにおいては、アクションを使用するとエンティティやエンティティセレクションの追加、編集、削除を可能になります。また、単純に4D Serverのメソッドを実行することもできます。
なぜ、アクションなのか
追加、編集、削除のような単純な操作のために、なぜアクションを定義する必要があるのか、不思議に思うかもしれません。
モバイルデバイスは、インターネットに接続されていないオフラインの状態でも動作し得る、という点に注意してください。ネットワークに再接続すると、モバイルデバイスはデータの同期を行います。しかし、その間にレコードは別の人によって変更されているかもしれませんし、実際のビジネスにおける例では、商品の在庫がなくなっていたり、支払いをすでに完了していたりする可能性があります。
そこで、アクションを使用することでビジネスロジックの一貫性を保ち、またそれをチェックすることができます。4D Serverでアクションを実行する前に、それが有効かどうかをチェックし、妥当でなければ別の方法を検討することができます。あるいはそのアクションを拒否し、モバイルユーザーに通知することもできます。
最初のアクションを定義する
このチュートリアルでは、ステータスと進捗率を変更する簡単なアクションの処理方法を説明しています。
このチュートリアルには、’On Mobile App Action‘ データベースメソッドと、そのデータベースメソッドから呼び出される ‘modifyStatus’ などの4Dメソッドが用意されています。ビデオでは、プロジェクトにアクションを追加し、それを使用してエンティティやエンティティセレクションを変更し、それらをデータベースメソッドにリンクする方法を紹介しています。
アクション引数の使用
このチュートリアルでは、さらに一歩踏み込んで、引数を使ったアクションを作成します。
- 新しいタスクを作成するための 追加 アクション。
- アプリケーションから既存のタスクを編集するための 編集 アクション。
- エンティティを削除するための 削除 アクションです。
また、エンティティの変更も順を追って説明します。
オフラインアクション
アプリケーションのユーザーは、たとえオフラインで作業しているときでも、どこでもレコードを修正することができます。これらのタスクは、ネットワークにアクセスできるようになるまで、すべて「保留中のアクション」リストに置かれます。ユーザーがオンラインになると、保留中のアクションはすべて一貫して同期され、実行された後、完了したアクションのリストに表示されます。
拒否されたアクション
モバイルユーザーがサーバーに送信したアクションは、何らかの理由で拒否することができます。たとえば、送信されたアクションの引数がサーバー側で想定される値と一致しないことなどです。
その場合、statusTextとerrorプロパティを使用して、サーバー側で何らかの問題が発生したことをアプリユーザーに通知してフィードバックを送ることができます。その後、ユーザーは保留中のタスクを更新したうえで再度アクションを送信することができます。
次は…
これで完了です。これで、モバイルアプリケーションでエンティティやエンティティセレクションを追加、変更、削除する方法がお分かりいただけたかと思います。また、4Dメソッドを呼び出して、例えばメールを送信することができることもお分かりいただけたと思います。