ORDAクラス
ORDAでは、データモデルの上位にハイレベルなクラス関数を作成することができます。これにより、ビジネス指向のコードを書いて、複雑さを隠し、エラーを減らし、開発プロセスをスピードアップすることができます。さらに、RESTサーバーで APIのようにプロジェクトを公開することができます。
データモデルを扱うORDAクラス
ORDAの構造(データストア、データクラス、エンティティ、エンティティ選択)は、特定のORDAクラスにリンクされた強型オブジェクトで構成されています。これは、データの物理的な実装の複雑さを隠すような関数を書くことができることを意味します。
ORDAクラスは、アプリケーションプロジェクトで自動的に利用できます。4Dは自動的に作成します。
- DataStore。データストアに関連する関数の実装用
- DataClassクラス。データクラスに関連する機能を実装するためのものです。
- Entityクラス。エンティティに関連する機能を実装するためのもの
- EntitySelection クラス。エンティティ選択に関する機能を実装する。
ORDAデータモデルクラスとREST
ORDAデータモデルに定義されたクラス関数をRESTリクエストで呼び出すことで、対象となる4Dアプリケーションプロジェクトの公開APIを利用することができます。関数は常にREST POSTリクエストを使用して呼び出す必要があることに注意してください。
プログラミング関連機能
サーバーコードの開発
プロジェクトアプリケーションのサーバーコードの開発とデバッグがより簡単になりました。コード修正後にサーバーアプリケーションを再起動する手間を省くため(スタンドアロンモード)、4Dサーバーと同じコンピュータに4D Remoteを接続すると、リモートからプロジェクトファイル(コード、フォーム、リソースなど)を修正することができるようになりました。
4D Developerクライアントが同じコンピュータの4Dサーバーに接続した場合、.4DZファイルはサーバーからクライアントに転送されません。4D Remoteは、プロジェクトファイル(メソッド、フォーム、リソースなど)を4Dシングルユーザークライアントと同じように管理します。プロジェクトファイルは、4Dサーバーと4Dリモートで共有されます。このようにして、コードを修正し、その場でテストすることができます。
もし、サーバに修正したファイルを再読み込みさせたい場合は、開発環境からアプリケーションモードに切り替え、4D Server をフォアグラウンドに移動するか、4D Remote の“File / Save all”メニュー項目を選択します(または新しいRELOAD PROJECTコマンドを使用します)。
クライアントサイドでメソッドを実行すると、自動的に“Save all” アクションが実行され、その結果、サーバーサイドで変更されたファイルが再読み込みされることを覚えておいてください。
プログラミングでフォームオブジェクトの値にアクセス
変数や式に関係なく、フォームオブジェクトの値にアクセスするのに役立つ2つの新しいコマンドが利用できます。OBJECT Get valueと OBJECT SET VALUEです。フォーム・オブジェクトの値を得るには、OBJECT Get valueコマンドを使い、フォーム・オブジェクトの名前をパラメータとして渡します。同様に、フォーム・オブジェクトの値を設定する必要がある場合は、OBJECT SET VALUEコマンドを使い、パラメータとして名前と新しい値を渡します。
新しい宣言構文
変数を宣言するための新しい構文が利用可能になりました。この構文では、varキーワード、変数名、変数型が使用されます。この新しい構文により、変数を宣言する際のオートコンプリートを大幅に強化することができます。同じデータベースで、従来の構文と新しい構文の両方を使用して変数を宣言することができます。
クロスオリジンリソース共有(CORS)のサポート
CORSプロトコルは、Webページが自身のドメイン以外へのリクエストを行うことを防ぎます。しかし、データを取得または送信するために、他のサイトがあなたのサーバーにHTTPリクエストを行うことを許可する必要がある場合、これを経由することができます。
- プログラミング:WEB SET OPTIONと WEB Server コマンドのおかげです。これらのコマンドは、特定のアクション(GET, POST, HEAD, PUT)を許可するためのドメイン・パラメータを取ります。
- データベース設定:設定 > ウェブ>オプション (II)ウィンドウで利用可能なオプションのおかげです。
リストボックス
Proリストボックス機能の利用可能性
リストボックスのような高度な機能を使用するために、4D View Proのライセンスはもう必要ありません。無料でご利用いただけます。リストボックスの活用を妨げるものは何もありません。
- 各行の高さをコンテンツに自動的に合わせる(テキストや画像を完全に表示するため)。
- 列でオブジェクト配列を使用する(これにより、1つのリストボックス列の行にさまざまな種類の値を入力して表示することができます)。
コードによる移動可能な行の設定
配列ベースのリストボックスの場合、エンドユーザーが行を移動できるかどうかを(デザイン・モードで)定義できます(行の順序を変えたり、グループ化したりする場合など)。LISTBOX SET PROPERTYコマンドとLISTBOX Get propertyコマンドが更新され、新しいプロパティlk movable rows がサポートされました。
アドミニストレーション
ユーザー権限の動的な付与
独自のエンドユーザー管理システムとSET USER ALIASコマンドを使用する機能に続いて、エンドユーザーのパーミッションを管理する機能が追加されました。新しいSET GROUP ACCESSコマンドは、グループメンバーシップを動的に設定することができます。
メール
IMAPを使ったメール受信
4D v18では、メールを送信する新しい方法を紹介しました。そして、4D v18 R2では、POP3を使った新しいメールの受信方法を追加しました。今、4D v18 R4では、IMAPプロトコルを扱う新しい方法の第一歩を踏み出しました。SMTPとPOP3に対して行ったように、IMAPプロトコルを扱うために、新しいIMAP New transporterコマンドがあります。メールボックスを選択するコマンドと、メールをダウンロードするコマンドが追加されました。他の IMAP 機能のコマンドは、今後の機能リリースで追加される予定です。
iOS版4D
プッシュ通知
プッシュ通知は、4D for iOSで利用可能です。ユーザーに関連情報を提供し、アプリの利用を促します。プッシュ通知のメッセージとタイトルを定義するだけで、4D for iOSが送信処理を行います。
また、iPhoneにインストールされたアプリのプッシュ通知が有効になると、Apple Watchにも通知が届きますよ。
メール認証
4D for iOSは、アプリにログインしようとする人の真偽や正当性を、メールの送信元を確認することで簡単に判断することができます。基本的には、このプロセスによってユーザーのセッションステータスが更新され、アプリケーションへのアクセスが可能になります。
- ユーザーがログインフォームにメールアドレスを入力してログインボタンをクリックすると、そのユーザーのセッションステータスが「保留」ステータスに更新されます。
- その後、ユーザーに検証メールが送信されます。ユーザーは検証リンクをクリックするだけで、セッションのステータスが「保留」から「承認」に更新されます。
- 検証プロセスが完了すると、ユーザーはアプリを再び開くことができ、セッションのステータスが「受理」されたため、アクセスが許可されます。
このプロセスを処理し、簡単にするコンポーネントも用意されているので、自分のニーズに合わせて認証を適応させることができます。
詳細フォームのテンプレート作成
詳細フォームのテンプレートはスクロール可能なので、好きなだけフィールドをドロップできるようになりました。詳細フォームにフィールドを追加する方法はたくさんあります。
- 空白のテンプレートを選択し、そこに制約なくすべてのフィールドをドロップするか、または。
- フィールドをビューの任意の場所にドラッグ&ドロップして、最後に追加したフィールドの直後や、すでに表示されている他のフィールドの間にフィールドを追加して表示する。
- フィールドをダブルクリックします。フィールドはリストの末尾に追加されます。
- 左側の「フィールド」テーブルで利用可能なフィールドの一つを右クリックします。これにより、詳細フォームに不足しているフィールドを追加するためのメニューが表示されます。
セキュリティ
新しいCryptokeyクラス
一般的な暗号操作(署名や検証、暗号化、復号化など)を実行するためのメソッド群を提供する新しいクラスが利用可能になりました。CryptoKey クラスです。データの機密性を保護したり、メッセージの整合性や送信者の真偽を確認するための方法を提供します。以下のような用途に使用できます。
- 機密性:不正なアクセスからデータを保護する。
- 完全性:データが完全かつ正確であることを保証する
- 真正性: メッセージの送信者/受信者の真正性を検証する。
クイックレポート
仮想構造のサポート
クイックレポートで仮想構造を使用することができるようになりました。これにより、エンドユーザーにとって読みやすいように、代替のテーブル名やフィールド名(エイリアス)を設定することができます。
4D write Pro
PDFへのダイレクトエクスポート
4D Write Proは、印刷ドライバーや追加のソフトウェアをインストールすることなく、文書をPDF形式に直接エクスポートすることができます。ダイレクト書き出しは、印刷ドライバーを介するよりも速く、信頼性が高いだけでなく、仕上がりをよりコントロールすることができます。ハイパーリンクのサポートに加え、画像サイズなどを最適化することができます。WP EXPORT DOCUMENTコマンドが更新され、新しい定数wk pdf を受け入れるようになりました。
数式キャリッジリターン動作の管理
キャリッジリターンがどのように扱われるべきかを定義する新しいドキュメントプロパティが利用可能です:wk break paragraphs in formulas.これは2つの値を持ちます。
- wk true: 段落の区切りとして解釈されます。
- wk false: (デフォルト値) 改行として解釈されます。
4D Write Proウィジェットからのインポートとエクスポート
4D Write Proのインターフェースウィジェットに新しいタブが追加され、異なるフォーマットのドキュメントをインポート/エクスポートできるようになりました。
4D ビュープロ
オフスクリーンエリア
4D View Proのコマンドと機能をオフスクリーンエリアで操作する新しいコマンドが利用できます。VP オフスクリーンエリアを実行使用方法は、パラメータにエリアの情報を渡すだけです(エリア名や、4D View Proエリアからイベントがスローされたときに呼び出されるメソッドなど)。
セルのマージとアンマージ
新しいコマンドは、プログラミングでセルのグループをマージしたりアンマージしたりするのに役立ちます。
- マージされたセルを作成するには、結合したいすべてのセルで範囲を定義し、新しいVP ADD SPANコマンドにパラメータとして渡すと、セルが1つのスパンに結合されます。
- VP Get spansコマンドを使用して、結合されたすべてのセルを取得します。
- VP REMOVE SPANコマンドを使用して、文書内のスパンされたセルを削除します。
数式を使用することができます。再計算、中断、再開
3つの新しいコマンドを使用すると、好きなときに数式の計算をトリガーすることができます。
- VP RECOMPUTE FORMULAS– データが変更されたときに計算式を再計算するコマンドです。
- VP SUSPEND COMPUTINGとVP RESUME COMPUTING– それぞれ計算を中断、再開することができます。