ORDA
BLOBを完全にサポート
4D v19 R3 以降、他の型同様、BLOBもORDAで完全にサポートされるようになりました。これによってORDAのデベロッパーもエンティティ処理の中でBLOB型の属性を使用することができるようになりました。
計算属性
クラスとORDAクラスにビジネスロジックをよりたくさん集める方法が追加されました。4D UIの内部にてビジネス関連のフォーミュラ(文字列の連結や消費税の計算など)を定義しなければならない時代はもう終わりです!今後はそういった複雑な計算はクラス内部で直接定義することができ、REST API、あるいはORDAベースのユーザーインターフェースなどと同様にその計算結果を使用することができます。あなたのビジネスルールでも是非クラスを使用しましょう!
2つのエンティティセレクションの比較
オブジェクト指向プログラミングにおいてなるべく少ない行数のコードを使用して効率的に仕事をするためには、堅牢で最適化された関数が不可欠です。そのため、4D v19 R3 ではエンティティセレクションオブジェクトにおいて利用可能な新しい関数が追加されました: selected() 関数です。これを使用することで、2つのエンティティセレクションを検証して比較することができるようになります。
4D for iOS
アクション入力コントロール
これまでは、カスタムフォーマッター を使用することで、フィールドのコンテンツに合わせてテキストまたは画像を表示することができました。例えば男性/女性に応じて画像を切り替えたり、1, 2, 3という数字をテキストラベルで置き換えるなどです。4D v19 R3 ではアクションフォームから利用可能なアクション入力コントロールを作成することができ、これは例えば定義済みテキストから選択リストを作成することなどができます。またそれだけでなく、このリストは例えば従業員の一覧などのデータソースを使用して動的に値を入れることもできます。
アクション入力コントロールとは、JSON を使用して静的なリストを作成したり、あるいはデータソースを使用して動的なリストを作成したりすることができる専用のアクションフォーマッターです。これを使用することで、モバイルアプリケーションから直接アクセス可能な、常に最新のリストを使用できることを保証します。
Apple ネイティブアプリとのインタラクション
その他のアクション入力コントロールも利用可能になっています。これを使用するとアクションフォームにApple ネイティブなアプリとインタラクションするモジュールを追加することができます。ギャラリー では以下のようなものが既に利用可能になっています:
- phoneContact: Apple の連絡先アプリから直接連絡先の電話番号を検索することができます。
- emailContact: Apple の連絡先アプリから直接連絡先のEメールを検索することができます。
- currentLocation および currentLocationAddress: アプリユーザーの現在位置を自動的に座標(緯度と経度)と住所として取得することができます。
これらをモバイルプロジェクト内で使用するためには、データベース内において、これらをフォーマッターまたはカスタムのリストのために含めておく必要があります。これをするためには、特殊な”inputControls” フォルダを作成しておき、ギャラリーから用途に合致した入力コントロールをダウンロードし、解凍したものをinputControls フォルダへとドラッグしてください。
並び替え条件とアクション引数の改善
並び替え条件とアクション引数の定義は、より早く効率的に動作するように改善されました。
並べ替えアクションについては、シンプルなドロップボックスを使用してアクション並べ替え条件を容易に変更できるようになり、これによって利用可能なフィールドの中から他のフィールドを選択することができるようになりました。プリセットアクションの追加と編集については、アクション引数パネルの底に既存のフィールドにリンクした引数を示すメッセージが表示されます。
4D for Android
ANDROID デバイス上でモバイルアプリをデバッグする
4D v19 R3 ではAndroid デバイス上で直接モバイルアプリをデバッグする機能が追加されました。この機能を使用して指定したデバイス上でアプリを実行させるためには、以下の2つのステップに従うだけです:
- デベロッパーオプション設定内にてUSBデバッギングを有効化します。
- スマートフォンが接続されたら、一覧から物理的なデバイスを選択し、”ビルドして実行”をクリックします。
Eメール
4D とMicrosoft 365 のアクセス
OAuth 2.0 認証 を導入してIMAP、SMTP、POP3トランスポーター経由でEメールにアクセスできるようになったことに続いて、4D はv19 R3 でOAuth 2.0 プロトコルを引き続き実装していきます。これによってMicrosoft 識別プラットフォームからのトークンをプログラミングによって容易にリクエストできるようになり、Mscrosoft 365 へとアクセスできるようになります。
セキュリティ
パスワードでのbcryptサポート
4D v19 R3 以降、全てのパスワードはbcrypt アルゴリズムによってハッシュされています。このアルゴリズムは今までより計算の時間がよりかかり、そのため元のパスワードを復元するためのブルートフォースアルゴリズム(総当たり攻撃)を阻止することができます。
これを実現するためには、特に何もやることはありません。全ては自動的に行われます。どの設定を変更する必要もなく、あるいはコードを1行も触る必要もありません。ツールボックス、またはCHANGE PASSWORD または Set user propertiesコマンドなどを使用してパスワードが変更されると、そのbcrypt ハッシュが保存されます。認証の際には、4D はパスワードが旧式のハッシュかbcrypt ハッシュを使用して保存されたかを自動的に認識するので、ユーザーはパスワードを変更することなく引き続き接続することができます。
コードエディター
コード、ドキュメンテーション、エクスプローラー間の移動がシンプルに
フォームを作成したり、新しいファンクションやメソッドを書いている場合、以下のような状況に遭遇することが多いでしょう:
- フォルダ内にフォームを作成するためにエクスプローラーにアクセスする
- メソッドのドキュメントを書くためにエクスプローラーにアクセスする
- あるコマンドのドキュメントを見るために4D オンラインドキュメントに移動する
- コンポーネントのメソッドのドキュメンテーションを見る
- メソッド内で使用したファンクションに変更を加えるためにコード内にアクセスする
- クラス内の異なるファンクション間を容易にナビゲートする
4D v19 R3 では、コードエディター内に新しいメニュー項目と新しいリストが追加され、これによってプロジェクトの異なる要素間の移動がよりしやすくなりました。
プログラミング
スケーラブルWEBセッションを使用しつつ、サーバー側でコードをデバッグ
スケーラブルWebセッションはv18 R6における大きな進歩の一つでした。これを使用することで4D Server上で、インタープリターモードにおいて4Dタグ、4Dアクション、REST APIをプリエンプティブに使用することができるようになりました。しかしながらデバッグのためには、サーバー側で開発環境を開いてコオペラティブモードへと切り替える必要がありました(プリエンプティブプロセスではデバッガウィンドウを開くことができないからです)。しかし4D v19 R3以降、デバッガを開けるようにすることでサーバー側でのデバッグのための処理をシンプルにしました。
存在しないメソッド引数へのアクセスが可能に
4D v19 R3 ではメソッドの引数へエラーなしにアクセスするための可能性を追加します – その可能性には、渡されていない呼び出し元によって渡されていない引数へのアクセスも含まれます。この方法なら、大量の”if”節を用意する必要がないため、コードはよりシンプルで読みやすくなります。
アプリケーションビルド
WINDOWS上でのクロスプラットフォームなクライアント/サーバーアプリのビルドがシンプルに
Silicon の導入以降、クロスプラットフォームなクライアント/サーバーアプリケーションのビルドのやり方は変わってしまいました。Mac 上でサーバーをビルドする限りはIntel用もSilicon用もどちらもコンパイルできるため、あまり問題ではないでしょう。ですが、Windows 上では、Silicon Mac 用のコンパイルをすることはできません。4D v19 R3 ではMac からWindows マシンへと移行するためのファイルの数を減らすための新機能が導入されます。Mac 上でクライアントをビルドした場合、4D はコンパイル済みデータベースディレクトリも生成するようになりました。このフォルダーはアプリケーションのコンパイルされたコードのみを格納しているため、サイズが比較的小さくて済みます。
Webエリア
Webcamのサポート
4D v19 R3 ではWeb エリア内でのオーディオとビデオストリームをサポートすることによって、Zoom、Microsoft Teams、Kopano などの異なるソースからのビデオ会議を表示することができるようになりました。Web エリア内ではご使用ののWeb カメラを使いたい場合、埋め込みWebレンダリングエンジンを使用 がチェックされたWebエリアを作成するだけです。Web エリア内でのビデオストリームのサポートは自動となり、システム引数に依存します。
ファイルとフォルダ
LZMA 、新しい圧縮アルゴリズムのサポート
4D v19 R3 では、ZIP Create Archive コマンドは新しいアルゴリズムをサポートするようになりました: LZMA です。このアルゴリズムは標準のZip圧縮アルゴリズムより小さなサイズの圧縮ファイルを作成します。また “zipArchive” オブジェクトをZIP Create Archive コマンドに渡すだけでZip をカスタマイズすることができます。これによって圧縮アルゴリズム、暗号化アルゴリズム、そしてその他のオプションを選択することができます。
ログ
ログ用の設定ファイル
私たちのログ改善プロジェクトの一環として、4D v19 R3 では2つの新機能が追加されています:
- ログを即時停止できる機能
- ログの設定ファイルを送ることで、サポートチームが顧客が正しくログを設定することをサポートする機能