PowerCMS X ver.3.5 / 2.75リリースノート

公開日  :  2023-08-01 11:00

version 3.51 / version 2.751

修正・変更された機能

  • 管理画面の一覧画面のキーワード検索で大量にオブジェクトが登録されている時の処理でメモリを節約するようにしました。
  • memory_limitの制限をファイルのサイズが超えている時、PTFileMgrの copy / renameメソッドに失敗する問題を修正しました。
  • プラグイン「ImageInfo」でマルチバイトファイル名を含む PDFの評価に失敗する問題を修正しました。
  • プラグイン「MachineTranslator」の翻訳支援機能で主語を含んでいるにも関わらずエラーが出る問題を修正しました。
  • プラグイン「ComponentBlocks」でマルチブロックで利用できるブロックを選択しているにもかかわらずバリデーションエラーになる問題を修正しました。
  • tableモデルのアップグレード時に「PADOBaseModelException」エラーログが残る問題を修正しました。
  • プラグイン「SearchEstraier」で画像のサムネイルを生成する時に「Serialization of 'PDO' is not allowed」エラーが出る問題を修正しました。

version 3.5 / version 2.75

新機能

  • モデル「情報分類」を追加しました。リレーションを設定することによってすべてのスコープのモデルを対象としたタグやカテゴリのように利用することができます。
  • プラグイン「ComponentBlocks」を追加しました。ブロックエディタ機能を追加します。
  • プラグイン「HTTPAuth」を追加しました。管理画面やサイトURLに対して HTTP認証を設定します。
  • プラグイン「ImageInfo」で画像からのテキスト抽出が「webp」に対応しました。
  • ブロックタグ「mt:relatedobjects」を追加しました。「mt:entrycategories」などのリレーション先のオブジェクトをループ出力するタグと同等の汎用タグです。
  • 「tools/encryptDBPassword.php」を追加しました。引数「-p」にパスワード、「-r」に「cfg_encrypt_key」を更新する場合の文字数を指定して、「db-config.php」「config.json」をアップデートします。
  • 「tools/backupSQL.php」「tools/restoreSQL.php」に引数「--blob」を指定可能にしました。「PADO_DB_BLOB2FILE」指定のある時、ディレクトリのアーカイブを作成してバックアップ・復元します。
  • ワークフローの設定に「グループのメンバーのみを選択する」設定を追加しました。
  • 設問タイプに「隠し項目(Input Hidden)」を追加しました。
  • 外部プレビューの POSTリクエストに「_external_preview」パラメタを追加しました。
  • 環境変数「cfg_encrypt_key」「encrypt_dbpassword」を追加しました。両方を指定すると「cfg_encrypt_key」の値をキーにして「AES-128-ECB」暗号化したパスワードを定数「PADO_DB_PASSWORD」に指定することができるようになります。
  • 環境変数「worker_debug」を追加しました。各タスクの実行時間と正常に終了したかどうかをログに記録します。
  • 環境変数「tag_permission」「taxonomy_permission」を追加しました。指定なしの場合は従来通り、「1」を指定すると、記事などの編集画面からの新規追加が許可されず(入力したタグが既に存在する場合はタグ付けされ)「2」を指定すると記事などの編集画面に追加するタグの入力欄が非表示になります。
  • 環境変数「video_captions_thumbnail_sec」を追加しました。0より大きい数値を指定すると、ビデオにサムネイルを作成できる設定済みの時、初期値となります。
  • 環境変数「video_captions_hls_mkdir」を追加しました。falseを指定すると、MP4ファイルと同じディレクトリに HLSのファイル群を作成し、trueを指定するとオリジナルファイルのベースネーム名のディレクトリを生成します(初期値は「true」)。
  • 環境変数「{model}_csv_exclude_cols」を追加しました。CSVから除外するカラムを配列(またはJSON)で指定します。
  • 環境変数「{model}_workspace_id」を追加しました。リレーション選択のダイアログを指定したスコープに向けます。
  • 環境変数「splitpage_delayed(初期値 true)」「splitpage_delayed_sleep(初期値10)」を追加しました。プラグイン「SplitPage」のページ分割処理をバックグラウンドで遅延実行します。
  • 環境変数「splitpage_wait」(処理が重複した時に前回実行に要した時間待つ)「splitpage_skip」(分割中に次のリクエストが呼ばれたらスキップする)を追加しました。初期値はいずれも trueです。
  • 環境変数「list_header_truncate」を追加しました。一覧画面のヘッダ行のカラム名を省略する文字数を指定します。初期値は 10です。
  • CSVエクスポートのタイムアウト対策のための環境変数「wait_export」を追加しました。一覧画面のアクション「CSV」エクスポートで、データが生成されるのを待ってからダウンロードを行います。初期値は trueです。
  • プラグインで追加する「システムフィルタ」「アクション」に「parmission」「condition」を指定できるようになりました。
  • Prototypeクラスのメソッド「can_do」に対応するコールバックを追加しました。
  • PTUtil::make_passwordを追加しました。現在のパスワードポリシーに沿ってパスワードを生成します。
  • PTUtil::set_tags、PTUtil::add_tagsを追加しました。第二引数にタグの配列またはオブジェクトの配列を渡してタグをセットします。第三引数に「taxonomy」を指定するとタグのかわりに情報分類を関連づけます。
  • PTUtil::year_to_wareki、PTUtil::str_to_christian_era、PTUtil::knum_to_numを追加しました。
  • PTUtil::array_unset、PTUtil::start_end_week、PTUtil::end_widthを追加しました。

改善された機能

  • RESTfulAPIでリレーション先のオブジェクトにステータスがある時、権限のないオブジェクトはデータを返さないようにしました。環境変数「api_permitted_objs」に「false」を指定することで従来と同じ振る舞いとなります(初期値は「true」)。
  • PTUtil::file_findでリストアップするパスに、指定したディレクトリ自身を含めないようにしました。
  • プラグイン「Keywords」が「情報分類」の自動セットに対応しました。
  • クラス PADOBaseModel の load / load_iter / count メソッドの第2引数 $args で JOINを指定する時「BETWEEN」「IN」「NOT IN」「!=」などの式の指定ができるようになりました。
  • クラス PADOBaseModel の load / load_iter / count メソッドの第2引数 $args で JOINを指定する時'BINARY'指定ができるようになりました。
  • Prototypeクラスのメソッド「bake_cookie」が PHP 7.3.0 以降で使える代替のシグネチャに対応しました。
  • Prototypeクラスのメソッド「error」が呼ばれた時にエラーログを保存するようにしました。
  • プラグイン「MachineTranslator」の文の難易度チェックの和暦と時刻表記のチェックが漢数字に対応しました。
  • プラグイン「VideoCaptions」で、サムネイル付き、JSON形式のチャプターを作成できるようになりました。
  • ウィジェットの作成・編集画面のリッチテキストエディタの高さの初期値を「20」に変更しました。
  • 日付型のカラムを「NOT NULL」指定した時オブジェクトの作成画面で現在日時がセットされるようにしました。
  • ブロックタグ「mt:workflowusers」にコールバック「post_load_objects」を追加しました。
  • ブロックタグから呼ばれるすべての「post_load_objects」コールバックにタグの「$args」をセットするようにしました。
  • 会員登録テンプレートの送信ボタンの二重クリックを防ぐためにクリック時にボタンを disabledにするようにしました。
  • ロールのモデルに対する権限に「グループのリスト」「グループのオブジェクト」を追加しました。ユーザーを判別するカラムは環境変数「by_association_col」で指定可能です。初期値は「user_id」です。
  • プラグイン「HTMLImporter」に「.js」ファイルと「.css」ファイルをアセット登録する機能を追加しました。
  • プラグイン「HTMLImporter」の本文取り込み設定に「HTML全体」を追加しました。
  • プラグイン「HTML_CodeSniffer」で見出しセルのない表(table)の扱いを「要確認」から「警告」に変更しました。
  • プラグイン「BannedWords」で正規化対象外の文字を指定できるようになりました。初期値は丸付き数字です。
  • プラグイン「BannedWords」で和暦を西暦に変換する機能を追加しました。
  • プラグイン「BannedWords」の「禁止ワード」「禁止用語」を「修正の提案」に変更しました。
  • プラグイン「BannedWords」で複数の修正の提案のある時のみ「全てを選択する」チェックボックスを表示するようにしました。
  • プラグイン「BannedWords」の処理のコールバック実行タイミングを「pre_save」から「save_filter」に変更しました。
  • プラグイン「BannedWords」で編集タイプが選択項目のカラムのチェックをスキップするようにしました。
  • プラグイン「SimplifiedJapanese」が有効でサーバーに「mecab」がインストールされている時プラグイン「BannedWords」で常用漢字チェックなどいくつかの追加指定が可能になりました。
  • プラグイン「SimplifiedJapanese」のモデル「ユーザー辞書」にカラム「固有名詞」を追加しました。
  • 再構築、アクション適用後の再構築、CSVのエクスポートデータ生成の待機状態の画面のデザインを変更しました。
  • 外部プレビューのパスワード入力画面のデザインを CMSのログイン画面のデザインと統一しました。
  • PTRESTfulAPIの各バージョンの初期化直前に、アプリのプロパティをコピーするようにしました。
  • プラグイン「VideoCaptions」で HLS変換処理の終了時に所要時間をログに残すようにしました。
  • プラグイン「SplitPage」でページ分割処理の終了時に所要時間をログに残すようにしました。
  • プラグイン「SplitPage」が日付ベースアーカイブに対応しました。
  • モデル「ts_job」にフラグを追加して、重複実行をしないようにしました。
  • モデル「ts_job」に「max_per_once」カラムを追加しました。1回のスケジュールタスクでのキューの実行数上限を指定できます。
  • 「mt:entries」などのオブジェクトをループするタグの「post_load_objects」コールバックにキー「object_loop_canceled」をセットすることで、ビルドの処理をキャンセルできるようになりました。
  • 一覧画面のアクションからリビジョンをマスタに適用した時にワークフローのメールが送信されるようになりました。
  • モデル「フレーズ」のインポート時、フレーズをキーにして上書きインポートするようにしました。
  • アセットなどの 2カラムの編集画面の右カラムの幅を大きくしました。
  • プラグイン「ExternalPreview」で個々のオブジェクトごとに個別のパスワードを指定できるようになりました。
  • 「URLの再パブリッシュ」の処理を Prototypeクラスの「publish_obj」から PTPublisherクラスの「publish」メソッドに変更しました。
  • プラグイン「ExternalPreview」で編集画面に挿入するコードのテンプレートファイル名を「external_preview_footer.tmpl」として、代替テンプレートを指定できるようになりました。
  • PHP設定「max_input_vars」の問題を回避するため、モデルの編集画面でカラムの設定をひとつの JSONデータにまとめて送信するようにしました。
  • 環境変数「log_level」に「4」を指定することで、エラーログファイルに出力されるメッセージを管理画面のシステムログにも保存できるようになり、初期値を「4」としました。
  • 環境変数「assets_c」の指定があるとき、1つのオブジェクトに対して 1つだけサムネイル画像を生成するようにしました。
  • モデル定義の JSONに「is_new」を指定することができるようになりました。trueを指定すると、すでに同名のモデルを作成済みの環境ではそのモデルを有効化できなくなります。
  • PDOの初期化時に「PDO::ATTR_STRINGIFY_FETCHES」を指定するようにしました。環境変数「db_stringify」に「false」を指定することで無効化できます。
  • フォーマットがリッチテキストではない時に表示されるタグ入力補助ボタンを「a」から「button」に変更して title属性を追加しました。
  • PTUtil::thumbnail_urlの引数 $args に「extension」を指定して異なるフォーマットのサムネイルを生成できるようになりました。
  • オブジェクトの作成・編集画面でバリデーションのエラーがあった時、フィールドに赤い枠線が表示されるようにしました。色指定は環境変数「error_bordercolor」で設定できます。
  • プラグイン設定画面に「cfg_header」「cfg_footer」を追加できるようになりました。
  • オブジェクトの作成・編集画面で保存ボタンをクリックした際に追加する処理について「await」を追加しました。
  • ダイアログからのオブジェクトの選択で「ids_only」パラメタを付けることでオブジェクトのIDのみをフィールドにセットするモードを用意しました。
  • 環境変数「tinymce_version」の初期値を「6.3.2」に変更しました。
  • プラグイン「TinyMCE」のデフォルトボタンから「indent」「outdent」とセパレータを削除し「blockquote」を追加しました。
  • プラグイン「TinyMCE」の「空要素のフォーマット」の初期値を「xhtml」から「html」に変更しました。
  • 画面オプションで一覧画面のソート順を強制している時、画面オプションのダイアログにラベル「ソート」が表示されないようにしました。
  • プラグイン「SearchEstraier」「Keywords」「SimplifiedJapanese」の mecabなどに関する環境変数をプラグイン「AppProperties」で統一するようにしました。
  • プラグイン「SearchEstraier」の「mt:estraiersearch」タグで「workspace_ids」に「all」が指定できるようになりました。
  • プラグイン「SearchEstraier」で表記統合辞書を利用した表記揺れの吸収を行うようにしました。また、プラグイン設定で表記揺れのパターン追加ができるようになりました。
  • オブジェクトの編集画面の「col-lg-2」の最大幅指定をレスポンシブ対応しました。
  • モデル「URL」のカラムの編集タイプを一部変更しました。
  • 一覧画面からオブジェクトのステータスを変更した時にワークフローの設定によりユーザーが変更されたことを記録するログにオブジェクト名が入るようにしました。
  • リビジョンの更新日がマスタの更新日より新しい時「このリビジョンの作成後にマスターが更新されています。」のメッセージを出さないようにしました。
  • URLRedirectプラグインのドキュメントに動作させるための前提を追記しました。
  • フォームのリッチテキストの高さの初期値を「8」から「12」に変更しました。
  • プラグイン「MTMLReference」で「entrytags」などのリレーション先のオブジェクトを取得するタグのドキュメントに属性「include_draft」の説明を追加しました。
  • opモディファイアが渡された値を数値型にキャストさせていた処理を省き、従来と同等の結果を返すようになりました。
  • 環境変数「compile_check」が falseの時、ビューのインクルード先のリストアップをしないようにしました。
  • プラグイン「BatchApproval」が環境変数「workflow_nextprev_only」に対応しました。

修正・変更された機能

  • プラグイン「MachineTranslator」のブロックキャッシュ機能を廃止しました。
  • 「別のモデル名_id」というカラムを作成して、数値設定されている時、そのオブジェクトが存在する時、リレーションの関連オブジェクトににそのオブジェクトが含まれる問題を修正しました。環境変数「get_relations_compat」を trueとすると従前の振る舞いと同等となります。
  • プラグイン「BannedWords」で修正の提案が検知されたリッチテキスト型のフィールドがハイライトされない問題を修正しました。
  • プラグイン「ExternalPreview」で「user_id」カラムのないモデルのバイナリカラムのデータのプレビューができない問題を修正しました。
  • テーマの「.htaccess」で存在する静的ファイルが pt-view.phpに渡るケースを修正しました。
  • 「cache_driver」に「Memcached」を指定している時に初期化できない問題を修正しました。
  • 「mt:trans」タグと Prototype/PTPluginクラスの「translate」メソッドで第2引数に「0」を渡した時にパラメタが展開されない問題を修正しました。
  • 本文抽出自動処理で HTMLの構造によって「Couldn't fetch DOMElement. Node no longer exists」エラーが出るケースを修正しました。
  • 定数「PADO_DB_CLEANUP_BLOB」を指定している時、アセットの上書きアップロードでアセットのリビジョンのバイナリデータが失われる問題を修正しました。
  • 環境変数「hash_multibyte_filename」「no_encode_filename」指定のない時、空白文字を含むアセットの URLが正しくセットされないケースを修正しました。
  • モデル設定「最大リビジョン数」が「0」またはマイナスの値の時、リビジョンをマスタに適用するとリビジョンが残る問題を修正しました。
  • カスタム編集タイプの管理画面テンプレートが正しく処理されないケースを修正しました。
  • 一覧画面で get_thumbnailメソッドで画像のサムネイルを取得しようとした時、存在しないオブジェクトのIDを指定すると「Uncaught Error: Call to a member function has_column() on null」エラーが出る問題を修正しました。
  • プラグイン「HTMLImporter」「LinkChecker」でリンク先が取得できないケースを修正しました。
  • ワークフローのユーザー選択画面で、管理者ユーザーが公開者に含まれないケースを修正しました。
  • リビジョン一覧画面のアクション「マスタに適用」後にオブジェクトがパブリッシュされない問題を修正しました。
  • リビジョン一覧画面のアクション「マスタに適用」後にオブジェクトのメタデータが更新されない問題を修正しました。
  • 編集表示が選択項目のカラムのオプションに escape 対象の文字が含まれるとき、編集画面で選択済みにならない問題を修正しました。
  • RESTfulAPIのエンドポイントに存在しないモデル名を指定した時に「PDOException」エラーログが出力される問題を修正しました。
  • プラグイン「SimplifiedJapanese」のメソッド「get_mecab」で辞書を引数に渡した時に、待機状態となる問題を修正しました。
  • 「encode_js」「encode_json」「encode_json_unescaped_unicode」モディファイア(または、escapeモディファイアの当該の引き数指定)に数値型の値を渡した時、値が出力されない問題を修正しました。
  • アセットのリビジョンで「ファイル名」が拡張子なしの時、一覧画面からマスタに適用すると拡張子の「.」が重複する問題を修正しました。
  • モデル「table」にカラムを追加してアップグレードした時「PADOBaseModelException: unknown column 'カラム名'」エラーがログに記録される問題を修正しました。
  • 一覧画面でサムネイルクリック時ブラウザのコンソールに「Tooltip is transitioning」エラーが出る問題を修正しました。
  • 環境変数「assets_c」の指定があるとき、リビジョンをマスタに適用した際にサムネイル画像が更新されない問題を修正しました。
  • オブジェクトの編集画面からリビジョンとして保存した時に「created_on」カラムの値がユーザーのIDにセットされる問題を修正しました。
  • 環境変数「update_rev_created」指定のある時、マスタが更新されたことを通知する機能が正しく動作していなかった問題を修正しました。
  • ファンクションタグ「mt:offset」で配列のキーの渡し方によって「Cannot unset string offsets」または「TypeError: strpos(): Argument #1 ($haystack) must be of type string, array given」エラーが出るケースを修正しました。
  • 一覧画面下部のアクション選択で入力欄やオプションのドロップダウンが連動して表示切り替えできない問題を修正しました。
  • プラグイン「SplitPage」と「Abs2Rel」を併用している時にエラーログ Undefined index: publish_type (8) occured が残る問題を修正しました。
  • プラグイン「SplitPage」でエラーログ Undefined variable: tmplObj (8) occured が残る問題を修正しました。
  • プラグイン「SplitPage」でコンテナ指定のあるアーカイブに「mt:setcointext」タグを指定すると元のコンテキストが失われる問題を修正しました。
  • ポップアップウィンドウでの再構築でプラグイン「SplitPage」でページ分割処理を行った後コンテキストが変更され、次の画面が正しくビルドされない問題を修正しました。
  • 日付型のカラムを「NOT NULL」指定で追加しようとした時「Incorrect datetime value: '0000-00-00 00:00:00' for column カラム名」エラーが出てカラムの追加に失敗する問題を修正しました。
  • モデルのカラムに変更がない時も数値型のカラムを ALTER TABLE文でアップデートしに行くケースを修正し、不要な SQLを発行しないようにしました。
  • 拡張子「ico」「svg」のファイルがアップロードできない問題を修正しました。
  • スペースの一覧画面で「フィルタ」を削除した後、システムスコープの一覧画面に遷移してしまう問題を修正しました。
  • プラグイン「UploadUtilities」でオブジェクトのステータスとアセットのステータスを同期する設定の時、関連元のオブジェクトを削除すると他のオブジェクトの状態に関わらずアセットのステータスが終了になる問題を修正しました。
  • プラグイン「DisplayOptions」が有効な時、一覧、編集、階層の管理画面に存在しないモデル名を指定した時に「Base table or view not found」エラーがログに残らないようにしました。
  • ビューの編集画面を開く時、保存する時にオブジェクトのループを出力するブロックタグの負荷が高くなるケースを修正しました。
  • PTPluginクラスのメソッド「edit_mime_type」をビューのコンテキストで呼び出した時にメモリ不足で落ちるケースを修正しました。
  • プラグイン「PluginStarter」で APIメソッドの「require_login」が書き出されない問題を修正しました。
  • 環境変数「api_methods」がプラグイン「AppProperties」で設定した環境変数に指定されている時、設定が有効にならない問題を修正しました。
  • 環境変数「workflow_nextprev_only」が true のとき、ワークフローにレビュワーが未設定だとワークフローを行えない問題を修正しました。
  • 環境変数「workflow_nextprev_only」が true のとき、差し戻し・承認依頼のドロップダウンに所属している権限グループのユーザーが表示されている問題を修正しました。
  • ワークフローの差し戻し・承認依頼ドロップダウンに現在の所有者が含まれている問題を修正しました。
  • URLマップのファイル出力設定が「静的(遅延)」のオブジェクトを外部プレビューすると、ファイルが出力され URLの削除フラグが外れる問題を修正しました。
  • プラグイン「EmailMagazine」「Members」の購読申し込み・会員登録フォームに、リレーション型のカラムの選択肢が表示されない問題を修正しました。
  • PHP8で pt-check.php実行時に「Uncaught TypeError: Unsupported operand types: string * int in」エラーが出る問題を修正しました。
  • PHP8でプラグイン「SearchEstraier」で「Uncaught TypeError: Unsupported operand types: string + int」エラーが出る問題を修正しました。
  • モデル詳細画面で「アクティビティを表示」が 2個表示される問題を修正しました。
  • フォームの設問のメールアドレスにテンプレート・タグを含まない時、メールアドレスのバリデーションがエラーを返すケースを修正しました。
  • RESTfulAPIでフォームに投稿した時、Permalinkなし、ObjectId・Model指定でオブジェクトの情報が正しくセットされない問題を修正しました。
  • URLマップにコンテナの「オブジェクトがない時アーカイブを出力しない」指定のあるモデルがステータスカラムを持っている時、「Attempted to delete an object that should not be deleted」が出てアーカイブが正しく削除されないケースを修正しました。
  • memory_limitの制限をファイルのサイズが超えている時、PTFileMgrの copyメソッドに失敗する問題を修正しました。
  • URLオブジェクトの詳細画面でファイル出力が「静的(遅延)」の時表示が「ダイナミック」になる問題を修正しました。
  • ワークフローで所有者が変更された時のログのメッセージを適切なものに修正しました。
  • 環境変数「views_per_rebuild」の初期値を「5」としました。
  • スケジュールタスク「URLのリセット」は廃止されました。環境変数「reset_urlinfo」を trueに指定すると実行できるようになします。
  • ジョブのフィルタから「クラス」を削除しました。
カテゴリ   :   リリースノート
最終更新 : 2024-04-19 10:02