4D 20 R8がリリースされ、Webアプリケーションを強化する4D Qodly Proの新機能を提供します。
このパワフルなプラットフォームは、最小限のコーディング作業でビジネスWebアプリケーションを構築するための、堅牢でユーザーフレンドリーなソリューションです。
4Dに統合された4D Qodly Pro for 4Dは、デスクトップアプリケーション用に開発された既存のビジネスロジックを活用することができます。
今こそ、4D 20 R8で、HTTPリクエストハンドラの実装方法、ロールと権限の効率的な使用方法、 ダイナミックUIの完成度を高める方法を発見しましょう。
HTTPハンドラ
HTTPハンドラについては、すでにこのブログ記事をお読みかもしれません。
4D HTTPサーバーに HTTPリクエストハンドラを導入することで、特定のURLパターンに関してどのビジネスロジックをトリガーさせたいかを正確に定義することができます。
4D Qodly Proに関して、この機能の主な利点は以下の通りです:
- Qodlyページ上でリダイレクトを許可することで、ウェブ上で4Dアプリケーションを拡張する新しい展望が開けます。
- HTTPリクエストハンドラによってカバーされるURL上のナビゲーションアクションを設定することで、関連するビジネスロジックを実装することができます(例えば、ファイルのダウンロード/アップロード機能を提供する場合など)。
この機能は、スムーズなユーザーエクスペリエンスのために4D.OutgoingMessageクラスと結合されています。
このブログ記事には、HDIでの実装の詳細と具体的な4D Qodly Proの例が含まれています。
4D Qodly Proで HTTPリクエストハンドラを使いやすくするために、ユーザーフレンドリーなインターフェイスで設定することができます。これを行うには、エクスプローラーでHTTPハンドラーセクションを開いて ください。
このような機能が欲しいですか?
HTTPハンドラーの詳細と設定方法についてはドキュメントをご覧ください!
ロールと権限
ロールごとに許可されたアクションを正確に表示する
悪意のあるアクセスからデータを保護するために、すでにロールと権限を設定しているかもしれません。
注意してください:
権限は、アプリケーションにおいて、誰が作成、削除、読み込み、実行などの操作を実行できるかを制御するために使われます。
ロールを定義して複数の権限を集約することで、アプリケーションにおけるユーザの役割にロールを適合させることができます。ユーザがログインしたら、Session.setPrivilege(role ) 関数を使用して、このユーザに対応する権限セットを付与します。
このように、与えられたロール(すなわちエンドユーザー)に対して許可されたすべてのアクションと、関連するデータのグローバルな概要を持つことは便利です。
新しい「ロール」ページを使用すると、定義した権限セットに基づいてデータストア・リソースに対して解決されたロールの権限を即座に確認できます。これは、セキュリティレビューや監査に役立ちます!
既存のリソースに関係する権限の表示とクリーンアップ
アプリの開発中に、いくつかのデータクラス、属性、関数の名前を変更したり、その一部を削除したりすることがあるでしょう。
そのようなリソースに関係する権限は無効になります。ロールと権限を最新の状態に保つことが重要です。
現在、存在しないリソースを含む権限には特別なレンダリングがあり、注意を喚起しています。
また、[Clear]ボタンを使用することで、すべての権限を消去することもできます。
認証済み/未認証ユーザの状態の処理
権限が関与する場合、条件エディタが強化されました。
認証を処理する場合、Session.setPrivileges() 関数のおかげで、セッションは認証フェーズ中にいくつかの特権と関連付けられます。
したがって、ユーザが認証されると、セッションはユーザのロールに関連付けられた特権を含みます(上記の 各ロールに許可されたアクションを正確に表示するを 参照してください)。
ユーザーが認証されていない場合、セッションはゲスト権限のみを含む。
4D Qodly Proでステートを扱う際、認証されたユーザーと認証されていないユーザーのステートを有効にすることができます。
このためには、条件にPrivilegetypeを選択し、has at least one privilegeまたはhas no privilegeオペレータを使用します。
has at least one privilegeは、セッションにゲスト(認証済みユーザ)以外の特権が含まれていることを意味します。
has no privilegeは、セッションにゲスト権限のみが含まれていることを意味します (認証済みユーザではありません)。
このような動的なUIを扱うことができます:
データテーブルで大量のデータを並べ替える
データテーブルでは、要素を選択し、後でカラムヘッダをクリックしてデータをソートすることができます。しかし、選択した要素から何が出てくるでしょうか?
ソート操作の後に、2つのオプションが利用できるようになりました:
– データテーブルの一番上までスクロールする(選択した要素を保持する)
– 選択した要素にフォーカスを維持する
3つの状態のチェックボックス
チェックボックスは、ブール値のデータソースにバインドする必要があります。このデータソースには True または False を指定できますが、Null を指定することもできます (たとえば、新しく作成されたエンティティでは boolean 属性は Null です)。
この Null 値がビジネスに関連する場合、3 状態のチェックボックスにこの値を反映できるようになりました。
テキスト入力パスワードのツールチップの表示/非表示
エンドユーザがパスワードを入力する際に、パスワードを非表示にしたり、表示したりする可能性を提供することは、ウェブに不可欠な機能です。新しいReveal passwordプロパティのおかげで、それができるようになりました。
アイコンの配置(右または左)も選択できることに注意してください。
結論
これ以上待たずに、4D Qodly Proの新機能を試して、あなたのウェブアプリをユーザーフレンドリーでパワフルなものにしてください!