暗号化
4D v17 R5では、4Dデータベースに新しいデータ暗号化機能が組み込まれました。データは、コードまたはユーザーインターフェイスを介して、すべてのテーブルまたは選択されたテーブルのみ暗号化することができます。4Dの暗号化ツールは、パスフレーズをベースにしています。パスフレーズは、文章または単語の組み合わせで構成され、AESアルゴリズムでデータを暗号化するためのバイナリ暗号化キーを生成するために使用されます。暗号化されたデータファイルで作業するためには、パスフレーズまたはバイナリ暗号化キーが必須です。
注意:暗号化キーを紛失した場合、回避することはできません。データは永遠にロックされます。
MSCによる暗号化
新しいEncryptable 属性は、デザインモードのテーブルで利用可能です。この属性は、テーブルの暗号化ステータスを設定し、暗号化可能であることを指定します。データを暗号化する準備が整ったら、MSCの新しい暗号化ページを使用するのが最も簡単な方法です。このページには、データの暗号化を監視するために必要なすべての機能が用意されています。このページでは、データファイルの暗号化・復号化、再暗号化、パスフレーズの変更などを行うことができます。
4Dコマンドで暗号化する
MSCに加え、4D v17 R5には、ほとんどの暗号化要件に対応するよう設計されたコマンド群が含まれています。例えば、Encrypt data file()コマンドで暗号化を管理したり、provideDataKey()コマンドでデータ暗号化キーを開いているデータファイルに提供したりすることが可能です。encryptionStatus()を使って、開いているデータファイルが暗号化されているかどうか、有効なデータ暗号化キーが提供されているかどうかをチェックすることもできます。コマンドの完全なリストは、Docセンターで入手できます。
4D for iOS – プレビュー
アクション
4D for iOSでは、モバイルアプリのインタラクティブ性を高めるアクションが利用できるようになりました。これらのアクションは、ユーザーが指のスワイプやメニューからアクションを選択するだけで、タスクを完了や終了に設定したり、イベントをチェックすることができます。新しいOn Mobile App Actionデータベースメソッドを使用すると、すべてのアクションを宣言することができます。さらに、プロジェクトエディタに Actionセクションが追加され、アクション要素(名前、アイコン、短い/長いラベル、テーブル、スコープ)を定義できるようになりました。
インクリメンタルデータ同期
4D v17 R5では、4D for iOSにインクリメンタルデータシンクロナイゼーションが追加されました。これは、データセット全体を継続的にデバイスに送信する代わりに、4Dが自動的に更新や削除されたレコードを記録し、デバイス上でこのデータのみを更新するようになったことを意味します。さらに、アプリを起動するたびにデータが更新されるだけでなく、アプリがフォアグラウンドになるたびに、またはユーザーのアクションに応答して、データが更新されます。
N対1のリレーション
4D v17 R5では、4D for iOSは、Nto 1リレーションをサポートしています。リレーション名は、わかりやすく、プロジェクト構造を簡単に定義することができます。関連フィールドの短い名前と長い名前を変更し、アイコンを選択し、クエリーを適用します。
メール送信
SMTP会話ログ
4D v17 R5では、メールログの新機能として、SMTP New transporterコマンドを提供しています。これは、SMTPサーバー(ExchangeやGmailなど )とクライアント間の接続を作成し、すべての通信を暗号化されていないプレーンなテキストでログに記録します。 新しいプロパティlogFileが利用可能で、SMTP接続用に定義されたログファイルのフルパスが含まれています。このファイルは、2つのバージョンで作成することができます。標準バージョンと拡張バージョンです。両方のバージョンは、SET DATABASE PARAMETERコマンドで起動することができます。
カスタムメールヘッダー
4D v17 R5では、5つの新しい定義済みヘッダがメールオブジェクトを介して直接提供されます。
- messageId:messageId: 特定のメッセージのバージョンを指す、一意のメッセージ識別子。
- inReplyTo:inReplyTo: 現在のメッセージの返信先となるオリジナルメッセージのメッセージ識別子
- references。現在のメッセージが関連する可能性のある、他のメッセージのメッセージ識別子のコレクション。
- keywords: キーワード受信者にとって有用と思われる重要な単語やフレーズを含むオブジェクト。
- コメント。メッセージ本文のテキストに関する追加コメントが含まれる。
その他のヘッダーが必要な場合は、headersコレクションを使用して、特定のSMTPヘッダーをメールに追加します。
レガシー文字セットのサポート
4D v17 R5では、レガシーエンコーディングを使用してメールを送信することができます。日本語はISO-2022-JP、西ヨーロッパはISO-8859-1です。SMTP New transporterコマンドは、ヘッダーやボディに使用するエンコードの種類を指定する新しいパラメータを受け付けます。
ORDA
値の名前付きプレースホルダー
4D v17 R5では、値の名前付きプレースホルダーにより、一般的なORDAクエリを簡単に記述することができるようになりました。これらのプレースホルダーは、クエリ設定のオブジェクトパラメータとして提供され、クエリ文字列が評価されたときに別の値に置き換えられます。
属性パスに対する名前付きプレースホルダ
属性パス (テーブルのフィールド名) にプレースホルダを使用することもできます。2つのタイプがあります。インデックス付き– クエリ文字列の :paramIndex(例: :1, :2,…) として挿入し、対応する値を一連の値パラメータで指定します。名前付き– :paramName として挿入し、その値をクエリ文字列の属性またはパラメータオブジェクトで指定します。
クライアント/サーバモードでのパフォーマンスの最適化
4D v17 R5では、ORDAを使ったClient/Serverモードでの大きなテーブル(特にリレーションを持つテーブル)へのアクセスが大幅に改善されました。リストボックスやコードループ( Whileや For eachなど)でエンティティ選択を使用する場合、使用されるフィールドが自動的に分析され、ネットワーク転送を最適化します。LANでは2~3倍、WANでは最大30倍高速化されます(ネットワークとレコードサイズに依存)。そして何より、あなたのコードに何も変更を加える必要がなく、すべて自動で行われます。
重要な改善点
パフォーマンスの向上
使用頻度の高いサーバー(多くの並列ユーザーやプロセスがレコードにアクセスし、他のユーザーが同じテーブルのレコードを修正・作成するなど)では、内部ロック機構の改善によりパフォーマンスが劇的に改善されます。スレッドがマイクロロックを待つ時間が短くなるため、CPU使用率が高くても大幅に高速化(4~8倍)することが可能です。
ライブラリの更新
4D v17 R5は64-bitのみなので、複数のライブラリがアップデートされました。Hunspell v.1.7.0 (スペルチェッカー), PHP v7.3.1, CEF 3626 (Chrome Foundation, internal web area), OpenSSL v1.1.1 (TLS 1.3 サポート), ICU 63.1 (new Unicode versions.).このアップデートにより、テキスト、アルファ、オブジェクトの各フィールドのインデックスが自動的に作成されます)。
マルチクライアントインスタンス
4D v17 R5では、同じコンピューターで複数のクライアントを実行し、同時に同じ4Dサーバーに接続することができます。各クライアント接続には、接続先のIPアドレス、ポート、ハッシュコードを含む個別のキャッシュフォルダが含まれるようになりました。このおかげで、同じマシンから複数のクライアントを、異なるマシンの複数のサーバーに接続することも可能です。設定は必要ありません。
クイックレポートのユーザーインターフェースが強化され、「保存/名前を付けて保存」ボタンとツールチップが追加されました。保存]を選択すると、最後に保存したファイルのバージョンが画面上のバージョンと一致するように更新され、作業が保存されます。名前を付けて保存」を選択すると、別の名前のファイルとして保存するよう促されます。ツールチップの追加により、昇順と降順のソート方向を確認することができます。
4D言語
SQLエンジンで4Dオブジェクトフィールドを読み込む
4D v17 R5のSQLエンジンがアップデートされ、4Dオブジェクトフィールドを読み込めるようになりました。オブジェクトフィールドの内容をブラウズするために、SQLCAST関数が拡張され、フィールドのJSON表現を返せるようになりました。
ファイルやフォルダーを扱うオブジェクト表記法
4D v17 R5では、オブジェクト表記でファイルやフォルダーを扱うコマンドが用意されています。新しいFolderコマンドが追加され、定数、POSIXパス、プラットフォームパスからフォルダオブジェクトを作成することができます。フォルダオブジェクトは、プロパティ(name,modificationDate,modificationTime など)とメソッド( create(),moveTo(),rename(),delete() など)を持ち、フォルダを作成したり操作したりすることが可能です。フォルダと同様に、ファイルを扱うためのFileコマンドも用意されています。新しいファイル・オブジェクトでは、ファイルの属性にアクセスし、操作することができます。ファイルメソッドを使って、ファイルの内容の書き込み、読み出し、移動、削除などを行うことができます。
ウェブプロセスに関する詳細情報
4D v17 R5 では、ウェブプロセスで使用される URL に関する新しい情報が利用できます。この情報は、4Dサーバー管理画面、または4D言語によるプロセスアクティビティの取得 コマンドの2つの方法で取得することができます。
4Dユーザーアカウントの別名の定義
SET USER ALIASは、現在の4Dユーザーアカウント名の代わりに使用するカスタム名を定義するための新しいコマンドです。パラメータとして文字列を受け取ります。この文字列(エイリアス)は 4D 環境で 4D ユーザー名を置き換えます。このコマンドは 4D リモートまたは 4D シングルユーザーアプリケーションからのみ呼び出すことができ、4D Server ではできません。エイリアスを使用することで、4Dに組み込まれたユーザー識別のコンセプトの恩恵を受けながら、独自のユーザー/パスワードシステムや、Active DirectoryやLDAPなどの外部ユーザーディレクトリを使用することができます。
デバッグログの改善
4D v17 R5では、SET DATABASE PARAMETER コマンドが強化され、特定のプロセスや、メンバーメソッド(コレクションやオブジェクトメソッド)の呼び出しのみをログに記録できるようになりました。新しいセレクタ(カレントプロセスデバッグログ記録)は、カレントプロセスのデバッグログを起動し、4D logsフォルダに「4DDebugLog_pX_Y.txt」(XはプロセスPID、Yはシーケンスファイル番号)という名前のファイルを作成します。メンバーメソッドを記録するには、値32の新しいオプションを受け入れるDebug log recordingまたはCurrent process debug log recordingセレクタを使用します。
4D Write Pro
4Dメソッドへのリンク
4D v17 R5には、新しいコマンド、WP SET LINKが含まれています。これは、URLを設定することができ、また、4Dアプリケーションからメソッドを呼び出したり(パラメータ付き)、ドキュメントからブックマーク( )をターゲットにしたりすることができます。新しいWP Get linksコマンドは、1回の呼び出しで、ドキュメント内のすべてのリンクのコレクションを返します。コレクションの各リンクは、その属性にリンクの説明を持つオブジェクトです。
タブ設定
4D v17 R5では、タブは文字列、数値、オブジェクトのコレクションで設定することができます。タブのデフォルト値を変更するだけなら、新しいwk tab default定数(この目的のために追加されました)を持つオブジェクトを使用することができます。
プログラミングでビューのプロパティを扱う
4D v17 R5では、プログラミングでビューのプロパティを扱うことができます。WPSET VIEW PROPERTIESコマンドは、4D Write Proエリアの1つまたは複数のビュープロパティを動的に設定することができます。設定した内容は、WP Get view propertiesコマンドですべてのビュープロパティを含むオブジェクトで返すことができます。
その他のターゲットと名称変更されたコマンド
4D v17R5では、以下のコマンドが拡張され、最初のパラメータとして、あらゆる種類のターゲットを受け付けるようになりました。今まで通り、範囲を指定できますが、参照(ヘッダー、ボディ、フッター)、要素(画像、段落)、ドキュメント全体もターゲットとして使用できるようになりました。
- WP SET TEXT
- WP INSERT BREAK
- WP INSERT DUMBOOK
- WP INSERT PIECE
- WP Insert Table(テーブルの挿入
- WP セットアトリビュート
- wp 属性取得
また、いくつかのコマンドの名称が変更されました。
旧名称 | 新しい名前 |
WP パラグラフの範囲を作成 | WP パラグラフ範囲 |
WP ピクチャーレンジの作成 | WP画像範囲 |
WP 作成範囲 | WP テキスト範囲 |
WP 表の作成範囲 | WP テーブル範囲 |
WP ブックマーク取得範囲 | WP ブックマーク範囲 |
WP Get selection | WP 選択範囲 |
4Dビュープロ
リボンスタイルのツールバー
4D v17 R5は、4D View Proのユーザーインターフェイスを強化するために、パワフルなリボンスタイルのツールバーを提供します。4D View Proの機能をタブの集合体に整理することで、機能の発見性を高め、異なるコマンドに素早くアクセスできるようになります。また、このツールバーには、PDFやCSVのエクスポートオプションなどの新機能が追加されています。
選択範囲とアクティブセルの管理
4D v17 R5では、ドキュメント内のアクティブセルや選択範囲を設定、取得するためのコマンドを搭載しています。
- VP アクティブセルを取得
- VP 選択範囲を取得
- VP アクティブセルを設定
- VP SET SELECTION
- VP 追加選択
- VP リセット選択
また、4D View Pro のエリア内の特定の位置(左上や右下など)にあるセルを表示したい場合は、VP SHOW CELL コマンドを使用します。