PowerCMS X Ver.2.55リリースノート

公開日  :  2021-03-22 13:05

version 2.55

  • 管理画面での検索置換に対応しました。
  • スペース毎にタイムゾーンの指定が可能になりました。
  • アセットの編集画面にアセットの利用状況の一覧を追加しました。
  • フォームごとの投稿数上限設定などフォーム機能が強化されました。

新機能

  • 一覧画面のアクション「置換」を追加しました。メニュータイプが「読み取り専用」以外で、検索タイプが「フレーズ」の時のみ表示されます。
  • スペース毎に「タイムゾーン」を設定できるようになりました。環境変数「use_timezone」に trueを指定することで利用可能になります。
  • スペースに「タイムゾーン」を指定している時、ログ及びログファイルはシステムのタイムゾーンで記録されます。スペースでログを表示するとスペースのタイムスタンプに変換されて表示されます。
  • グローバルモディファイア「offset_time」を追加しました。スペースにタイムゾーンを指定している時、タイムスタンプをシステムのタイムスタンプに変換します。
  • ZIPファイル(CSV)からのインポート画面とプラグイン「DataMigrator」のインポート画面が Chunk Uploadに対応し、最大で 1GBまでのファイルをアップロードできるようになりました。
  • プラグイン「TinyMCE」のプラグイン設定に「Microsoft Excelからの表のペースト時にスタイルを削除する」を追加しました。デフォルトは trueです。
  • テンプレート・パスに include/edit/モデル名/col_right.tmpl を設置すると作成・編集画面の右カラムのテンプレートを追加できるようになりました。
  • アセットの編集画面にアセットの利用状況の一覧を追加しました。
  • プラグイン「RebuildRelations」で数値型 1:1 のリレーションをトリガーの対象にできるようになりました。
  • ファンクションタグ「mt:triggererror」を追加しました。message属性に指定した値を引数にして trigger_errorをコールします。
  • 条件タグ「mt:isset」で配列のキーをチェックできるようにしました。
  • プラグイン「SiteSync」と「SiteMap」でディレクトリ名の大文字小文字を区別するようにしました。
  • 環境変数「path_upperlower」を追加しました。true を指定するとファイルの大文字小文字を区別して扱います。
  • 環境変数「hierarchy_max_depth」を追加しました。「階層の管理」画面で配置可能な階層の数を指定します。初期値は 100です。
  • 環境変数「import_set_default」を追加しました。CSVからのオブジェクトのインポート及びプラグイン「DataMigrator」でのインポートの時、値のないカラムに対してカラムのデフォルト値をセットします。
  • 環境変数「objectloop_order」を追加しました。オブジェクト複数形のブロックタグ (mt:entries等)で「sort_by」属性指定があり、「sort_order」属性指定がない時のデフォルトのソート順を指定します。
  • プラグイン「PluginStarter」が リストアクション、システムフィルタの作成をサポートしました。
  • プラグイン「PluginStarter」が「template_source」「template_output」コールバックプラグインの作成をサポートしました。
  • プラグイン「PluginStarter」でプラグイン用の翻訳フレーズを作成できるようになりました。
  • プラグイン「PluginStarter」で Prototype クラスを継承した拡張アプリケーションのスケルトンをエクスポートできるようになりました。
  • プラグイン「PluginStarter」で、その他のコールバックの種別に応じた引数をエクスポートするようになりました。
  • プラグイン「PluginStarter」で、メニューを指定したメソッドを作成した時、管理画面用テンプレートのスケルトンをあわせてエクスポートするようにしました。
  • 環境変数「weak_date_context」を追加しました。true を指定すると「published_on」カラムのないオブジェクトのリストでは日付のコンテクストを無視するようになります。
  • 環境変数「weak_count_context」を追加しました。true を指定すると「mt:entriescount」などのタグが「mt:archivelist」タグ内で日付以外のコンテキストを無視し「mt:categories」などのタグ内で日付のコンテキストを無視するようになります。
  • 環境変数「cache_driver」指定のない時もフレーズや設定データ、スキーマ情報、ダイナミック・タグなどをキャッシュするようにしました。
  • 「変更不可」のカラムを一覧画面の検索対象に含められるようにしました。
  • 「mt:include」「mt:includeblock」「mt:cacheblock」にタグ属性「cache_object_id」を指定できるようになりました。あわせて triggers属性に単一のモデルを指定している時、特定のオブジェクトに対するキャッシュとすることができます。
  • 「mt:include」「mt:includeblock」「mt:cacheblock」にタグ属性「triggers」属性指定のある時、「cache_ttl」に「-1」を指定すると、有効期限を無期限(50年)に設定するようになりました。
  • 環境変数「rebuildrelations_clear_cache」を追加しました。「mt:include」「mt:includeblock」「mt:cacheblock」にタグ属性「cache_object_id」を指定している時、関連オブジェクトの更新でキャッシュをクリアします。
  • オブジェクト数をカウントするタグ(例:mt:entriescount)に、「_filter」属性を追加しました。ブロックタグ(例:mt:entries)に指定可能なタグ属性を追加して現在のコンテキストでのオブジェクト数を返します。
  • 環境変数「parallel_sleep_time」を追加しました。並列処理スタート時の実行間隔秒を指定します。
  • 日付を出力するテンプレート・タグが「utc」「relative」属性に対応しました。relative="js" には現在のところ対応していません。
  • tools/PADO/cleanupBlobs.php を追加しました。PADO_DB_BLOB2FILE 指定のある時、削除済みオブジェクトの外部 BLOBファイルをクリーンアップします。
  • 環境変数「parallel_publish_objs」を追加しました。数値を指定することで複数のオブジェクトの再構築を並列処理することで高速化を図ります。
  • 「フィールド型」に「画像」「画像 (複数)」を追加しました。
  • フォームの設問タイプとバリデーションタイプに「メールアドレス (確認)」を追加しました。
  • フォームに「コンタクトを1人1通に制限する」機能を追加しました。メールアドレス単位でチェックを行います。
  • フォームのコンタクト数の上限を設定できるようになりました。
  • 条件タグ「mt:ifformisopen」を追加しました。フォームのステータスが公開中で、コンタクト数の上限に達していない時内容を出力します。
  • プラグイン「FixDeniedAssets」を追加しました。アセットのパス・ファイル名のサニタイズおよび許可されないファイルへのリネームを禁止します。version 2.55 未満の環境で必要となります。
  • アセットまたは画像型の単数選択フィールドに公開パスへのリンクを追加しました。
  • 環境変数「form_upper_limit」に「0」や負の値を指定すると、制限を撤廃できるようになりました。
  • 「mt:setcontext」タグがライブプレビューに対応しました。
  • オブジェクト複数形のブロックタグ (mt:entries等)がコンテキストに依存している時、ライブプレビューにコンテキストが反映されるようになりました。

改善された機能

  • 環境変数「path_verify」を追加しました。1を指定すると、ドキュメント・ルートより上位のディレクトリへアーカイブを出力できず、2を指定すると、サイト・パスより上位のディレクトリへアーカイブを出力できなくなります。デフォルトは 1です。
  • 環境変数「verify_publish」を追加しました。true を指定すると、拡張子の設定によって禁止されている拡張子のファイルをいずれのケースでも出力しません。初期値は falseです。
  • 環境変数「verify_referrer」を追加しました。データの更新・削除などの際の一時トークンのチェック時にリファラをあわせてチェックします。初期値は falseです。
  • 環境変数「verify_form_referrer」を追加しました。フォームへの確認画面・投稿時にリファラをチェックします。初期値は falseです。
  • 環境変数「esc_trans」を追加しました。ファンクション・タグ「mt:trans」、グローバルモディファイア「trans」「language」及び Prototypeクラスの「translate」メソッドの結果を常に HTMLエスケープするようになります。初期値は falseです。
  • アップロードしたファイルのファイル名から URLに利用できない記号を削除するようにしました。
  • レジストリを「order」キーの昇順でソートするようにしました。
  • プラグイン「UploadUtilities」によるサーバーの import_paths に設定された ZIPファイルの展開時にタイムアウトを延長しエラーハンドリングを厳密にするようにしました。
  • カラムの初期値の文字数制限を 50文字から 255文字に変更しました。
  • 環境変数「language」の初期値を「ja」としました。
  • 「sort」「direction」「workspace_ids」など、タグ属性に指定可能ないくつかの値を予約カラム名として追加しました。
  • 「table_id」を予約カラム名として追加しました。
  • 一覧画面から表示順を保存した時と、階層の管理で階層の保存をした時に、必要のある時に再構築が必要である旨の表示と再構築ウィンドウへのリンクを表示するようにしました。
  • スケジュールされたタスクでの時限公開・差し替え・非公開処理をログに記録するようにしました。
  • スペースを削除した時にスペース配下のログは削除しないようにしました。
  • format、format_tsモディファイアで日本語の日付を指定している時「D」「l」が日本語表記の曜日を返しますが、これらの文字の前にバックスラッシュを2つ付けることでオリジナルの値を返すようにしました。
  • 定期実行タスク内の再構築トリガーで「再構築(遅延)」指定のURLマップの再構築を処理の最後に行うようにしました。
  • 環境変数「tag_multibyte」を追加しました。falseを指定するとカラムのラベルにマルチバイト文字が含まれる時、エイリアス名でのタグを登録しないようになります。
  • 一覧からのアクションでオブジェクトが変更されたときコールバック「post_save」を呼ぶようにしました。
  • ブロックタグ「mt:speedmeter」に name属性を指定している時、タグのネストに対応しました。
  • Websiteテーマの「.htaccess」で、publish_type が「6(ダイナミック)」の時のみ DirectoryIndex を pt-view.php となるようにしました。
  • pt-check.php で config.json の存在チェックを行うようにしました。
  • pt-check.php にデータベースの存在チェックを追加し、存在しない場合は作成を試みるようにしました。インストール要件を満たしている場合、「インストールを開始する」ボタンを表示するようにしました。
  • プラグイン「UploadUtilities」でオブジェクトとアセットのステータスを同期する設定で、アセット型・画像型のフィールドによる関連付けを考慮するようにしました。
  • 環境変数「plugin_starter_check_default_plugins」を追加しました。true指定(初期値 true)の時、環境変数「plugin_paths」指定パス配下のプラグインの重複チェックをスキップします。
  • キャッシュファイルの破損を避けるため、ファイル書き込みが終了してから指定のパスにリネームするように処理を変更しました。
  • 環境変数「cache_driver」指定がない時にも「query_cache」に一部のキャッシュが保存されるためプラグイン「CacheManager」でクリアできるようにしました。
  • グローバルモディファイア「regex_replace」で正規表現がエラーになる書式の時、元の文字列を返すようにしました。環境変数「regex_replace_compat」を true指定すると従来通り空文字を返します。
  • グローバルモディファイア「regex_replace」でデリミタを省略できるようになりました。環境変数「regex_replace_compat」を true指定するとエラーとなり空文字を返します。
  • 環境変数「rebuild_async」指定のある時進捗プログレスバーが正しく表示されるようにしました。
  • normalizer が無効な環境でも、一部制限付きですが Unicode正規化処理を行うようにしました。
  • ダッシュボード・ウィジェット「モデル」のスタイルを変更しました。
  • 「include_draft」「status_not」「status_lt」属性の指定されているオブジェクト複数形のブロックタグ (mt:entries等)をライブプレビューの対象外とするようにしました。
  • ログイン画面及び 2段階認証の POST先 URLをルート相対パスに変更しました。
  • ログイン後の画面遷移先をログインしたドメインに固定するようにしました。
  • config.json のデコードに失敗した時にエラーを返すようにしました。
  • リレーションやメタデータのないオブジェクトを一覧から全削除する時、TRUNCATE文を発行するようにして高速化しました。
  • エラーログやパフォーマンスログの記録時刻をリクエスト開始時刻から、ログの記録時刻に変更しました。

修正・変更された機能

  • モデル「任意」に対するリレーションを指定している時、モデルを変更すると変更前の関連付けが残る問題を修正しました。
  • モデル「任意」に対するリレーションを指定している時、エラー画面でモデル選択が外れ、選択済みオブジェクトが空のバッジになる問題を修正しました。
  • ダッシュボード「ワークフロー」でオブジェクトの公開日が正しくない日付になっていた問題を修正しました。
  • 極端に縦長もしくは横長の画像のアップロードができないケースを修正しました。
  • アセットなどの一覧画面からのステータス変更でバイナリファイルが出力されないケースを修正しました。
  • 「存在しないモデル名_id」カラムを作成して1対1リレーションを設定した時、モデル名+存在しないモデル名 を呼び出すとエラーになる問題を修正しました。
  • モデル名に「_」を含む時、ファンクションタグ「モデル名+archivelink」が値を返さない問題を修正しました。
  • システムスコープのビューからシステムスコープのモジュールを「mt:include」タグの「basename」属性指定でインクルードできない問題を修正しました。
  • デバッグモード時、ダイアログの表示が崩れるケースを修正しました。
  • ブロックタグ「mt:speedmeter」が計測後にブロックを再評価していた問題を修正しました。
  • 一部のブロックタグが内部的に 1回余分にループされていた問題を修正しました。
  • 環境変数「support_dir」の指定のある時 pt-check.php がエラーになる問題を修正しました。
  • 「階層の管理」画面で5階層までしかドラッグ&ドロップで配置できない問題を修正しました。
  • システムスコープでオブジェクトをインポートする時、存在しない workspace_idが CSVに指定されている行をスキップするようにしました。
  • 環境変数「rebuild_async」指定のある時、ポップアップウィンドウでの再構築で最後のモデルのオブジェクト数が環境変数「per_rebuild」の数より小さい時、最後のモデルの再構築が重複実行されていた問題を修正しました。
  • 「mt:entries」などのオブジェクトをループするブロックタグに lastn 属性のある時、sort_by 属性の値を無視して id順に出力される問題を修正しました。
  • モデルを「ダッシュボードに表示」設定している時、プラグイン「DisplayOptions」で非表示にしているスペースではダッシュボードに表示されないようにしました。
  • リビジョンの一覧画面からリビジョンを選択した時のメッセージを変更しました。
  • リビジョンの編集画面からリビジョンを削除した時、リビジョンの一覧画面にリダイレクトするようにしました。
  • ロックアウトや IP制限でのログアウト後のログイン画面にパラメタが引き継がれないようにしました。
  • バッジ内のサムネイル取得について、サムネイルのないオブジェクトに表示されるアイコンをアイコンのURLへのリダイレクトで表示させるようにしました。
  • プラグイン「HTMLImporter」で XPath以外を指定してインポートした時マルチバイト文字が HTML-ENTITIES化されてしまう問題を修正しました。
  • プラグイン「PluginStarter」で、タスクを作成した時、config.json に正しい形で登録されない問題を修正しました。
  • プラグイン「PluginStarter」で「pre_save」コールバックが選択できない問題を修正しました。
  • キャッシュ管理の画面で、ファイルにキャッシュが保存されているのに名前欄に「(なし)」と表示される問題を修正しました。
  • プラグイン「Members」で IPアドレスがロックアウトされた時、管理画面のログアウト画面にリダイレクトされる問題を修正しました。
  • プラグイン「Members」でユーザーがロックアウトされた時、引き続きログインを試行した時にエラーメッセージが表示されずにログインに失敗する問題を修正しました。
  • ダッシュボード・ウィジェットのカードの左右上部の角丸が 1px欠けていたのを修正しました。
  • URLマップのコンテナの更新による再構築で URLオブジェクトの md5カラム値が更新されないケースを修正しました。
  • worker.php の時限公開による再構築を「コンテナ」→「再構築トリガー」の順に実行するようにし、管理画面での更新時と同じ順番になるようにしました。
  • 2段階認証を設定している時、管理画面と異なるドメインの非公開コンテンツの閲覧時に確認用コード入力後に管理画面に遷移してしまう問題を修正しました。
  • 2段階認証を設定している時、遷移先のパラメタを引き継いでログイン後に適切な画面へ遷移するようにしました。
  • ダイナミック・パブリッシングで URLの取得に失敗した時、workspace_idと relative_path から、URLの再取得を試みるようにしました。
  • 選択項目型・チェックボックス型のカラムの初期値がオブジェクト作成画面で選択されない問題を修正しました。
  • 定期実行タスクで複数のオブジェクトを予約公開・差し替え・非公開にした時に先に処理されたアーカイブで一覧などのリストがその時点のものになってしまい、実際の状態と合わない問題を修正しました。
  • 「mt:includeblock」タグの中で「mt:membercontext」タグが効かないケースに対応しました。
  • メールの本文中の管理画面 URLが、ルート相対パスになるケースに対応しました。
  • 新規インストール時にエラーログが記録される問題を修正しました。
  • ダイアログでのダイレクト編集でデバッグモード時保存ボタンがクリックできない問題を修正しました。
  • プラグイン「AppProperties」で、管理画面からの「sess_timeout」を設定した時に設定が効かない問題を修正しました。
  • tools/restoreSQL.php がエラーとなり正常終了しない問題を修正しました。
  • tools/restoreSQL.php 実行時のプロンプト、メッセージを翻訳して表示するようにしました。
  • フックの実行順が priority の通りにならない問題を修正しました。
  • 環境変数「temp_dir」が「/tmp」に指定されている時、pt-check.php に変更を促すメッセージを追加しました。
  • 存在しないスペースの workspace_id が指定されたリクエストをすべてダッシュボードにリダイレクトするようにしました。
  • アセットなどのディレクトリ名の検証を厳密に行うようにしました。
  • アセットのファイル拡張子を不正に変更できないようにし、アセットの保存時とインポート時に許可されない拡張子への変更ができないようにしました。
  • 設問の編集画面で設問タイプが未指定の時に表示されるメッセージが間違っていたのを修正しました。
  • サイト・パスより上位のディレクトリへアーカイブを出力している時、ダイナミック・パブリッシングで 404になる問題を修正しました。
  • 一覧画面で「全n件を選択する」にチェックを入れて削除やアクションを実行する際にパラメタ「filter_params」のチェックを厳格化しました。
  • アセットまたは画像型のフィールドで、アセット削除後にフィールドのバッヂが残る問題を修正しました。
  • アセットを削除した時、フィールドの関連付けデータを削除するようにしました。
  • システムのオブジェクトの URLマップをスペースに作成している時オブジェクトの更新で再構築されない問題を修正しました(例: ユーザー別記事アーカイブをユーザーの保存時に再構築する)。
  • 複数のファイルをドラッグ&ドロップでアップロードした時、一部のファイルにエラーがあった時もアップロードに成功したファイルがある時は一覧にリダイレクトするようにしました。
  • 複数の「.」を含むファイルがアップロードできないケースを修正しました。
  • 環境変数「validate_url」が false の時にシステムスコープの URL が表示されないことがある問題を修正しました。
  • 環境変数「form_upper_limit」+1件の連続投稿が許可されていたのを修正し、指定数以上の投稿をブロックするようにしました。
  • 再構築キューに登録済みの URLオブジェクトの更新をスキップせずに確実にキューに登録するように変更しました。
  • スキーマ定義の jsonファイルの default値を削除してアップグレードした時にカラムの設定に反映されない問題を修正しました。
  • プラグイン「UploadUtilities」を有効化した時に、アップロードダイアログの各コントロールの余白が変わらないようにしました。
  • URLオブジェクトの論理削除時に「publish_file」カラムの値を「0」にせず、そのまま残すようにしました。
  • フォームの添付ファイル型の設問に拡張子の指定がない時、システムの拡張子の許可・不許可設定に応じてエラーを返すようにしました。
  • プラグイン「FileUploader」で「allowed_exts」のチェックがスキップされていたのを修正しました。
  • Websiteテーマの「Website (Form)」モジュールで、エラーメッセージを escapeして表示するようにしました。
  • Websiteテーマを最初に適用した時、フッターのメニューとスペースのコピーライトが出力されない問題を修正しました。
  • モデルの編集画面でバイナリ型のカラムを削除した時、サムネイルなどの metaデータと PADO_DB_BLOB2FILE 指定のあるときは当該の BLOBデータを削除するようにしました。
  • プラグイン「SearchEstraier」の属性指定検索で非正規化文字が検索にかからないケースを修正しました。
  • スケジュールされたタスクによる重複 URLの整理時に、削除済みオブジェクトの URLが残り、存在するオブジェクトの URLが整理削除されてしまうケースを修正しました。
  • URLが重複している時に、外部プレビュー、ライブプレビューで目的のオブジェクトが対象にならず正常に表示できない問題を修正しました。
  • PADO_DB_BLOB2FILE 指定のある時、モデルを削除した時に BLOBを削除するようにしました。
  • プラグイン「HTMLImporter」で URL指定でインポートを実行した後に一時ファイルが残らないようにしました。
  • グループの関連オブジェクトを再選択した時に、既存で選択済みのオブジェクトのステータスアイコンフォントが多重エスケープされるケースを修正しました。
カテゴリ   :   リリースノート
最終更新 : 2021-03-22 13:02