リリースノート

ColdFusion(2016 リリース)アップデート 5 の新機能と変更点

  • セキュリティのアップデート
  • バグの修正
  • APSB17-30 で言及された脆弱性への対処

このリリースで修正されたバグ

アップデート 5 で修正されたバグのリストについては、修正されたバグを参照してください。

このリリースの既知の問題

アップデート 5 の既知の問題については、既知の問題を参照してください。

ColdFusion(2016 リリース)アップデート 4 の新機能と変更点

タグの新しい属性

  • cflogout に新しい属性 applicationToken が追加されました
  • cfmailparam に新しい属性 decode が追加されました

クラスターセットアップでのスケジューラ関連プロパティの設定

新しいファイル quartz.cluster.properties が追加されました(cfusion/lib/quartz にあります)。

このファイルを使用して、スケジューラ関連プロパティを クラスターのセットアップ時に設定できます。

このファイルに追加されている基本プロパティは次のとおりです。

org.quartz.scheduler.rmi.export: false
org.quartz.scheduler.rmi.proxy: false
org.quartz.scheduler.wrapJobExecutionInUserTransaction: false
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool

org.quartz.threadPool.threadCount: 13
org.quartz.threadPool.threadPriority: 5

org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true
org.quartz.jobStore.misfireThreshold: 60000

アプリケーションサーバーでの検索エンジンセーフ(SES)URL の有効化

Tomcat 以外のアプリケーションサーバー上で SES URL を有効にするには、WEB-INF 内にある web.xml ファイルを変更します。詳細については、SES URL の有効化を参照してください。

Tomcat のアップグレード

Tomcat がバージョン 8.5.11 にアップグレードされました。

このリリースで修正されたバグ

アップデート 4 で修正されたバグのリストについては、修正されたバグを参照してください。

このリリースの既知の問題

アップデート 4 の既知の問題のリストについては、既知の問題を参照してください。

注意:

このアップデートには、Windows Server 2016 のサポートが含まれています。

ColdFusion(2016 リリース)アップデート 3 の新機能と変更点

Coldfusion(2016 リリース)では、Windows 10 バージョン 1067 と IBM Websphere Application Server 9 をサポートしています。

ソート済みの構造体のサポート

アップデート 3 では、ソート済みの構造体をサポートしています。ソートタイプがテキストでソート順が昇順の順序付けされた構造体を作成することができます。以下に例を挙げます。

<cfscript>
       someStruct=StructNew("ordered","text","asc",false);
       someStruct.jonas = {age=26, department="IT"};
       someStruct.jason= {age=29, department="Analytics"};
       someStruct.johnnie = {age=31, department="Accounting"};
       someStruct.john = {age=31, department="Audit"};
       WriteDump(someStruct);     
</cfscript>

詳しくは、次のドキュメントを参照してください。

ArraySum 関数の変更点

ArraySum に新しいパラメーター ignoreUndefined が追加されました。

このパラメーターを true に設定すると、この関数は、配列要素を追加する際に、null 値または "" 値を無視します。

詳しくは、ArraySum を参照してください。

StructToSorted 関数

このリリースでは、任意の構造体をソート済みの構造体に変換する新しい関数、StructToSorted が追加されました。詳しくは、StructToSorted を参照してください。

同等のメンバー関数 ToSorted も追加されました。詳しくは、メンバー関数を参照してください。

cfhtmltopdfitem タグの変更点

新しい属性 evalAtPrintcfhtmltopdfitemタグに追加されました。

これを true に設定すると、cfhtmltopdfitemの内容が PDF の生成後に評価され、各ページのページ番号を参照できるようになります。これにより、cfhtmltopdfitemの内部に条件コードを組み込むことができます。

詳しくは、cfhtmltopdfitem を参照してください。

cfhtmltopdf タグの変更点

新しい属性 languagecfhtmltopdfタグに追加されました。

この属性を使用すると、ドキュメントの言語を設定できます。デフォルト値は「English」です。

詳しくは、cfhtmltopdf を参照してください。

また、cfhtmltopdfタグでは、NeoPageContext のすべてのタグについて処理ディレクティブタグが使用可能になりました。

cfobject タグと CreateObject 関数の変更点

新しい属性 domain、username および password がcfobjectタグと CreateObject 関数に追加されました。

詳しくは、次のドキュメントを参照してください。

QueryGetResult 関数

アップデート 3 では、クエリのメタデータを返す新しい関数、QueryGetResult が追加されました。

詳しくは、QueryGetResult を参照してください。

更新された画像関連関数

imageScaleToFit 関数と imageResize 関数では、blurFactor をゼロに指定できるようになりました。blurFactor の有効な範囲は 0 ~ 10 です。詳しくは、次のドキュメントを参照してください。

IsDateObject 関数

値が日付/時刻オブジェクトかどうかを判定する新しい関数、IsDateObject が追加されました。

詳しくは、IsDateObject を参照してください。

IsValid 関数の変更点

IsValid 関数に、新しい型 datetime_object が追加されました。この型は ColdFusion の任意の有効な日付/時刻オブジェクトを表します。詳しくは、IsValid を参照してください。

例えば、次のサンプルコードは true を返します。

<cfscript>
       writeoutput(isValid("datetime_object",now())); //returns TRUE
</cfscript>

LSTimeFormat 関数の変更点

LSTimeFormat 関数では、時刻の形式が hh:mm ではなく hh:mm:ss になりました。例えば、LSTimeFormat(CreateDateTime(2003,05,14,17,22,00)) を呼び出すと、5:22 PM ではなく 5:22:00 PM と表示されます。

詳しくは、LSTimeFormat を参照してください。

DateFormat 関数の変更点

DateFormat 関数の新機能と更新内容は次のとおりです。

  • マスク文字として小文字と大文字の両方を使用できるようになりました。
  • 新しいマスクが追加されました。

詳しくは、DateFormat を参照してください。

DateTimeFormat 関数の変更点

DateTimeFormat 関数では、次のマスクを使用できるようになりました。

  • t:単一文字の時刻マーカー文字列(例えばA やP)を表示します。
  • tt:複数文字の時刻マーカー文字列(例えば AM や PM)を表示します。

詳しくは、DateTimeFormat を参照してください。

サンプルコードを次に示します。

<cfscript>
       WriteOutput(DateTimeFormat(now(),"tt")); // Displays AM or PM
       WriteOutput(DateTimeFormat(now(),"t")); // Displays A or P
</cfscript>

LSDateTimeFormat 関数の変更点

LSDateTimeFormat 関数では、次のマスクを使用できるようになりました。

  • t:単一文字の時刻マーカー文字列(例えばA や P )を表示します。
  • tt:複数文字の時刻マーカー文字列(例えば AM や PM など)を表示します。

詳しくは、LSDateTimeFormat を参照してください。

サンプルコードを次に示します。

<cfscript>
       WriteOutput(LSDateTimeFormat(now(),"tt")); // Displays AM or PM
       WriteOutput(LSDateTimeFormat(now(),"t")); // Displays A or P
</cfscript>

LSParseDateTime 関数の変更点

LSParseDateTime 関数では、マスク t および tt を使用して、日付/時刻オブジェクトを作成できるようになりました。単一文字の時刻マーカー文字列には t を使用します。複数文字の時刻マーカー文字列には tt を使用します。

さらに、分を指定するのに、mm ではなく nn を使用するようになりました。

詳しくは、LSParseDateTime を参照してください。

サンプルコードを次に示します。

<cfscript>
       WriteOutput(LSParseDateTime("9/19/2016 1:52 PM","en","m/dd/yyyy h:nn tt")); // Returns {ts '2016-09-19 13:52:00'}
</cfscript>

このリリースで修正されたバグ

アップデート 3 で修正されたバグのリストについては、修正されたバグを参照してください。

このリリースの既知の問題

アップデート 3 の既知の問題については、既知の問題を参照してください。

ColdFusion(2016 リリース)アップデート 2 の新機能と変更点

アップデート 2 のインストール

アップデート 2 をインストールするには、このドキュメントを参照してください。

構造体および配列の JSON シリアル化

構造体のシリアル化

アップデート 2 では、キーのデータ型を構造体で指定する方法が導入されました。データ型は、setMetadata 関数を使用して設定します。この関数は、構造体型の引数を受け取ります。構造体には、値としてデータ型が格納されます。

以下に例を挙げます。

<cfscript>
	example = structnew("ordered");
	example.firstname = "Yes";
	example.lastname = "Man";
	// Default serialization converting string Yes to true
	writeoutput(SerializeJSON(example) & "|");
</cfscript>

このサンプルの出力は次のようになります。

{"FIRSTNAME":true,"LASTNAME":"Man"}

この出力では、キー "firstname" の値がブール値となっています。これは、キー値にデータ型の情報がないからです。

setMetadata 関数を使用すると、次のようになります。

<cfscript>
	example = structnew("ordered");
	example.firstname = "Yes";
	example.lastname = "Man";
	// Default Serialization Converting String Yes to true
	writeoutput(SerializeJSON(example) & "|");
	// changing the default serialization by specifying the type of "firstname" as string
	metadata = {firstname: {type:"string"}};
	example.setMetadata(metadata);
	writeoutput(SerializeJSON(example));
</cfscript>

このサンプルの出力は次のようになります。

{"FIRSTNAME":true,"LASTNAME":"Man"}

{"FIRSTNAME":"Yes","LASTNAME":"Man"}

詳しくは、構造体のシリアル化を参照してください。

新しい Application.cfc 変数

新しい変数 serialization.structmetadata を使用すると、構造体の中で値のメタデータを設定できます。

例えば、ifthis.serialization.structmetadata={zipcode="String"};とした場合は、 このキーを含む構造体でzipcodeのデータ型を定義する必要がありません。

構造体の中でzipcodeのデータ型を定義した場合は、構造体レベルで定義されているデータ型が、Application.cfc で定義されたデータ型よりも優先されます。

詳しくは、Application.cfc 変数を参照してください。

配列のシリアル化

setMetadata 関数を使用して、配列メンバーにデータ型を設定できます。配列のすべての項目が同じデータ型の場合は、以下の例に示すように、値のデータ型を構造体として指定できます。

<cfscript>
       tags  = ["struct", "json", "serialization", 2016, "HF2", "metadata"];
       WriteOutput(serializejSON(tags));
</cfscript>

このサンプルの出力は次のようになります。

["struct","json","serialization",2016,"HF2","metadata"]

setMetadata 関数を使用すると、次のようになります。

<cfscript>
       tags  = ["struct", "json", "serialization", 2016, "HF2", "metadata"];
       tags.setmetadata({items: "string"});
       writeoutput(serializejSON(tags));
</cfscript>

このサンプルの出力は次のようになります。

["struct","json","serialization","2016","HF2","metadata"]

詳しくは、配列のシリアル化を参照してください。

API Manager での SSL の設定

HTTPS を使用して API Manager ポータルにアクセスし、セキュリティを強化して、暗号化を適用できるように、SSL を設定します。詳しくは、SSL の設定を参照してください。

NTLM の変更点

ユーザーがドメインに属している場合は、ntlmDomain 属性が必須です。ユーザーがドメインに属していない場合は、ntlmDomain 属性はオプションです。詳しくは、以下のドキュメントを参照してください。

API Manager へのアップデート 2 の適用

次の手順を実行してから、ルートユーザー以外でログインし、ColdFusion Administrator を使用して、このアップデートを適用します。

  1. ルートで実行されている API Manager の分析サービスとデータストアサービスを停止します。
  2. 次のコマンドを使用して、API Manager のデータベースファイルシステムオブジェクトのアクセス権限を設定します。

    chown -R

    例えば、次のようにします。chwon -R nobody /opt/coldfusion2016apimanager/database

CAR 設定の移行

ColdFusion(2016 リリース)アップデート 2 に car ファイルをデプロイした場合、一部の設定が移行されません。移行されない設定のリストについては、ColdFusion アプリケーションのデプロイを参照してください。

新しいメンバー関数

アップデート 2 では、以下の新しいメンバー関数が導入されました。

詳しくは、ColdFusion のメンバー関数を参照してください。

CKEditor の導入

FCKEditor は非推奨になりました。フォームのテキスト領域のカスタマイズおよびデザインは、CKEditor でcftextarea タグを使用して行うことができます。詳しくは、以下を参照してください。

このリリースで修正されたバグ

アップデート 2 で修正されたバグのリストについては、修正されたバグを参照してください。

このリリースの既知の問題

アップデート 2 の既知の問題のリストについては、既知の問題を参照してください。

ColdFusion(2016 リリース)アップデート 1 の新機能と変更点

アップデート 1 のインストール

アップデート 1 をインストールするには、このドキュメントを参照してください。

新バージョンの Tomcat

Apache Tomcat がバージョン 8.0.32 にアップグレードされました。 

セキュリティアナライザーのアップデート

アップデート 1 には、ColdFusion(2016 リリース)で導入されたセキュリティコードアナライザーの重要な機能強化および修正が含まれています。

開発者は、セキュリティアナライザーを使用することで、コードを記述する際に犯しやすいセキュリティ関連のミスを防いだり、SQL インジェクションや XSS 攻撃などの脆弱性を回避できます。

セキュリティアナライザーの更新内容は次のとおりです。

  1. ColdFusion Builder は定期的に現在のスキャンのステータスをサーバーにポーリングして、進行状況をプログレスバーに表示します。プログレスバーには、現在のスキャンの完了した割合が表示されます。

    Progress bar1
  2. 現在のスキャンをキャンセルして、新たにスキャンを実行することができます。現在のスキャンを停止するには、「キャンセル」をクリックします。

    Cancel button
  3. ディレクトリ全体をスキャンする代わりに、複数のファイルまたはフォルダーを選択して、ディレクトリ内の特定のファイルをスキャンすることもできます。

  4. 新しい 未スキャンファイル」タブが表示されるようになりました。このタブには、暗号化されたファイル、および構文エラーのあるファイルのリストが表示されます。

    Unscanned Files
  5. セキュリティアナライザーはサーバーへの非同期呼び出しを利用しているので、スキャンのパフォーマンスが向上し、RDS タイムアウトを回避できます。

  6. status コマンドが以下のフィールドを返すようになりました。

    • percentage:完了したスキャンの割合を示します。
    • totalfiles:スキャンするファイルの数です。
    • scannedfiles:これまでにスキャンされたファイル数です。
    • lastupdated:最後にスキャンされたファイルのタイムスタンプです。

API Manager の更新内容

ColdFusion API Manager でパスワードをリセットできるようになりました。ログイン画面で「パスワードを忘れましたか?」をクリックし、ユーザー名 を入力すると、パスワードをリセットするための電子メールを受信できます。

Forgot Password Link
User Name

管理者は、セキュリティ設定画面で次の設定を使用して、無効なパスワードの入力回数の上限とパスワードのロックアウトを強制できます。

Password Reset Settings

詳しくは、セキュリティ設定を参照してください。

また、パスワードリセット用の電子メールの取得先となる電子メールアドレスを追加することもできます。詳しくは、メール設定を参照してください。

さらに、件名や本文を含め、電子メールテンプレートを編集することもできます。詳しくは、テンプレートの変更を参照してください。

注意:

このリリースでは、「パスワードを忘れましたか?」リンクを使用して新しいパスワードを要求できるのは、ポータルユーザーだけです。

このリリースの既知の問題

既知の問題のリストについては、既知の問題を参照してください。

このリリースで修正された問題

修正された問題のリストについては、アップデート 1 のバグ修正を参照してください。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー