ORDA – データベース操作中のイベント駆動型ロジックを扱う
この機能は、イベント・ドリブンでデータを扱うという新しいパラダイムで継続されています。4D 21は、データベース操作(保存やドロップ)に関連する一連のイベントを提供します。
ORDAイベントはトリガーに取って代わることができ、より多くの利点を提供します:よりコントロールしやすく、ビジネスロジック(請求書の印刷や外部データの保存などの時間のかかるジョブを含む)をORDAデータクラス関数で直接コーディングすることができます。新規、変更、保存、削除(CRUD)のようなデータレベルのイベントに応答します。
ORDAイベントは正確な粒度と洗練されたエラーハンドリングを提供し、強力な データ整合性とより良いコード編成をもたらします。
保存やドロップアクションの各ステップで適切なビジネスロジックを実装する方法をご覧ください。
ORDA – アクセス許可 – ワンクリックでリソースへのウェブアクセスを制限/許可する。
ウェブプロセスにおいて 、悪意のあるアクセスや権限のないユーザーからリソース(データ+ビジネスロジック)を保護する方法をご紹介します。
開発モードでは、Restrict access by defaultプロパティを FALSE に設定することで、データの使用や関数の呼び出しを制限することなく、コード構成、データモデル、Qodly ページアーキテクチャ、テスト…に集中することができます。
ユーザープロファイルを実装する準備ができたら、Restrict access by defaultプロパティを TRUE に設定します。
ORDA – コンストラクターと touchedイベント – ネットワークを介した動作の詳細
この前のブログ記事では、ORDAのエンティティが constructor を持てるようになり、エンティティのインスタンス化が完全なオブジェクト指向のアプローチに従うことができるようになったことを発見しました。
それだけではありません。別のブログ記事では、複数実装される ORDAデータイベントの中で最初のイベント、touched イベントを紹介しました。
クライアントアプリケーションとサーバーの間でアクションが行き来している間に、constructor と touched イベントがいつ、どこでトリガーされるかを正確に知りたいですか?
このブログ記事ではそれを詳細に説明いたしますので、読み進めてください!
オブジェクトフィールドをクラスで型指定する
4D 20 R10 では、オブジェクトの型指定が大きく前進し、コードにさらなる信頼性とコントロールを与えます。今後 4D は、値がオブジェクトであるかだけをチェックするのではなく、特定のクラスのインスタンスであるかを検証します。これにより、よりスマートな自動コード補完、インライン検証、より厳しいコンパイルチェックが可能になり、ミスを早期に発見し、より明確で保守性の高いコードを書くことができます。
メリットは変数や関数の結果だけにとどまりません。この機能強化は、データモデルにも適用されます。ストラクチャーエディターのオブジェクトフィールドに、ユーザー定義クラスやネイティブクラス (AI実装用の新しい 4D.Vector など) を型として直接指定できるようになりました。これにより 4D は、オブジェクトの構造を理解し、より信頼性の高い開発を可能にします。
ORDA: 新しい touched イベント
ORDA は、4D の新たな可能性の世界を開く重要な機能です。
パワフルなコードを書けるようにするため、私たちは ORDA を強化し続けています。ORDA によってアプリの開発やメンテナンスが容易になるだけでなく、エンドユーザーにとって素晴らしいパフォーマンスが発揮されるよう最適化されています。
4D 20 R10 では、インメモリデータイベントという新機能をご紹介できることを嬉しく思います。
典型的なユーザーフローでは、ユーザーが必要とするデータはメモリにロードされます。そして、ユーザーのアクションに応じて変更され、最後にユーザーが保存ボタンをクリックすると保存されます。
その際、インメモリデータが変更されたときに、ビジネスロジックがトリガーされるとしたらどうでしょう? 保存処理をおこなう前にデータの形式を整えたり準備したりして、データを保存可能な状態にすることができれば、とても便利です。
ORDA の touched イベント によって、これが可能になりました! そのメリットは非常に大きいといえるでしょう。
もっと知りたいですか? 続きをお読みください!
ORDA – エンティティコンストラクターの紹介
4Dランゲージはクラスの概念を、ひいては コンストラクターの概念をサポートしています。
他方、ORDA の抽象化レイヤーは、データモデルクラスを通して、大きなビジネス上の利点を提供しています。ビジネス指向のコードを書き、それを API のように “公開” することができます。データストア、データクラス、エンティティセレクション、エンティティはすべて、関数や計算属性、エイリアス属性を持てるクラスオブジェクトとして利用できます。
これにより、アプリは強力かつ最適化されたコードで、MVCの原則に簡単に従うことができます。
4D 20 R10 より、完全なオブジェクト指向のアプローチで作業するため、Entity クラスに constructor() を設定できるようになりました。新規エンティティがインスタンス化されたときに、初期値を設定する必要がありますか? この新機能により、それが可能になりました! 詳細については続きを読み進めてください。
ORDA – 歯抜けのエンティティセレクションにさよならを
これは誰もが遭遇した問題かもしれません。ユーザーのために、エンティティセレクションを表示する素敵なインターフェースをデザインしたとします。ユーザーはエンティティを削除して表示を絞り込むことができますが、その後には削除したエンティティがあった場所に空のスペースが現れてしまいます。
この場合、どうしたらいいのでしょう。削除後にエンティティセレクションを作り直す? いいえ、その心配はもうありません! 4D 20 R6 では、たった 1行のコードでこの問題を解消する便利な機能が導入されました。
この機能がどうやってインターフェースを美しく保ち、ユーザーを満足させるかについて説明していきます。
ORDA – 取得データを制限する方法
4D 19 R8 では、堅牢な権限システムを導入し、データへのユーザーアクセスをきめ細かく制御できるようになりました。このシステムは、誰がアクセスするか、どのデータにアクセスするかによってデータを保護し、不正アクセスを制限してデータのセキュリティを確保します。
しかし、特定の条件に基づいて読み取りアクセスをさらに制限したいとしたらどうでしょうか。
そこで 4D 20 R5 の出番です。特定の基準に従って読み取りデータを制限できるようになりました。
Qodly Studio for 4D による 4Dクライアントライセンス消費方法の改善
Qodly Studio for 4D を使い始めた方は、ビジネスWebアプリケーションの開発をするのにこの新しいツールがどれだけパワフルかすでにご存知でしょう。まだ使い始めていない方は、こちらをご覧ください。
Qodly Studio for 4D で作られたアプリケーションは、REST API に依存しています。4D 20 R5 には素晴らしい新機能が搭載されています: “強制ログイン” モードです。
強制ログインモードでは、ユーザーがログインに成功し、アプリケーションのデータやロジックを操作し始めた時のみ、4Dクライアントのライセンスが消費されます。
続きをお読みください! デモのダウンロードもお忘れなく!
ORDA: Blob/ピクチャー属性へのパスの割り当て
従来のやり方では、SET EXTERNAL DATA PATHコマンドを使うことによって、ピクチャーや BLOB をデータファイルの外に置くことができました。このコマンドは ORDA に適応していないため、v20 R3 では同様の機能を追加することにしました: Blob およびピクチャー属性に、ファイルへの参照を割り当てる機能です。詳しく説明しましょう。
