2021年10月29日
転載歓迎
Concrete CMS 9.0.0 リリースノート
2021年10月29日 (現地時間 10月28日) Concrete CMS (旧 concrete5) の最新版 9.0.0 がリリースされました。3年の開発期間を経てたくさんの新機能が追加されました。コンテナーやボードといった編集ツール、刷新されたファイルマネージャー、たくさんの JavaScript や PHP ライブラリーも更新され、7年ぶりに新しいデフォルトテーマも登場しました。
ダウンロードページから、最新版をダウンロードできます。
主な新機能
新デザイン
Concrete の操作性を見直し、パフォーマンスやナビゲーションを向上させました。ダークパネルが無くなりました。
マルチサイトホスティング
Concrete は、シングルインストールで、複数のサイトをホスティングするのをサポートしています。複数ドメインを複数サイトにマッピングしつつ、データ・ユーザー・権限を共有できます。
新ファイルマネージャー
数年前に Concrete ファイルマネージャーのアンケートを行い、そのフィードバックを元にフロントエンドやバックエンドのファイルマネージャーを完全に作り直しました。ファイルの検索、詳細の追加、ファイルアセットへのリンカブルなページ、ファイルインポートの新機能、画像エディタのオーバーホール、お気に入りフォルダなど、信頼性を向上させました。ぜひチェックしてください。
コンテイナー
レイアウト機能は残っていますが、編集可能なサブエリアをページに追加する方法を追加しました。コンテイナーです。コンテイナーは、開発者が希望する HTML で囲まれた、再利用可能で編集可能なエリアをページ内に、挿入するできるようになります。コンテナーを理解するのに一番良いのは実際のアクションを YouTube でみてもらうことです。
ボード
ボードはすごくエキサイティングでダイナミックな、時系列でグループされたコンテンツです。ボードは、ページリスト・エクスプレスリスト・カレンダーイベントリストに、色々な要素で入れ替え、一緒のリストの中に集約させることができるものです。
タスク
Version 9 では、新しいバックグラウンドタスクとして、自動実行ジョブの後継として「タスク」が登場しました。キュー機能、スケジュール機能、ウェブとコンソールが統合されたインプット/アウトプット、Mecure を使ったライブ出力などの機能を搭載しました。
新テーマとブロックタイプ
V5.7 がリリースされた時から搭載されている Elemental に代わり、Bootstrap 5 と (PortlandLabsが作った) Bedrock テーマツールキットを使い、全く新しいテーマ「Atomik」を作成しました。Atomik は素晴らしく、柔軟な Concrete CMS の2021年のモダンなテーマとして提供されます。 Atomik は、V9 で登場した新しいブロックタイプ、ギャラリー、トップナビゲーションバー、Hero イメージ、Feature Link などを利用しています。
サードパーティーアップグレード
Concrete CMS をサポートしている様々なコンポーネントをアップグレードしました。 jQuery、Bootstrap (3 から 5)、またサードバーティーのPHPライブラリなどがアップグレードされました。
詳細はリリースノートをご覧ください。
いつスイッチすべき?
既存のサイトのアップグレードであれば、常にフルバックアップをとり、ローカルなどでテストアップグレードを行い、アドオンやカスタマイズ部分が正常に動くかを確認してください。また Version 8 の最新版、8.5.x (この時点で 8.5.6) までアップデートを行い、インストールされているアドオン・テーマを見直してください。ほとんどが見た目に関する変更で、それらは開発者にとっては比較的簡単な修正になると思われます。ただ、いくつかの複雑なアドオンは V9 では壊れてしまうかもしれません。アップグレード前に、マーケットプレイスの一覧に「Version 9 Ready」と書かれていることを確認してください。V9 アップグレード前には積極的にテストを行ってください。マーケットプレイスでは開発者が積極的にアドオンのアップデートやテストを行っています。シームレスなアップデートができるまで数ヶ月ほどお待ちください。
新規で Concrete CMS のサイトを作成しますか?であれば、Version 9 で始めてください!Version 9 は本番運用可能です。楽しいですし、我々 (PortlandLabs は)すでに本番環境で1年以上利用しています。
9.0.0 リリースノート
メジャー新機能
- ボード機能
- まとめテンプレート機能
- マルチサイト機能サポート
- 2021年の新しいモダンテーマ「Atomik」
- コアに新しいブロック「ギャラリー」を取り込みました
- 完全に再構築されたファイルマネージャで、フォルダや高度な検索のサポート、ホームフォルダ、お気に入りのフォルダ、外部ファイルプロバイダのサポート、新しいファイルアップロードUIなど、さまざまな機能が強化されています。
- 追加サービスプロバイダー用プラグインに対応し、アップロードの操作性が一新されました。
- 全く新しい統合された画像エディター
- テーマカスタマイザーを一新し、スキンのサポート、カスタマイズできないスキン、SCSSのサポート、Bootstrap 5などを追加しました
- タスク: 従来のジョブを完全に再構築し、大幅に改良したもので、キューイング、スケジューリング、コンソールやウェブインターフェイスでの統一された入出力、Mercureでのライブ出力などをサポートします。
- ユーザーグループタイプ: グループ内の役割、グループ内の役割に基づくグループ管理など、グループの種類を作成する機能を追加しました。
- Bootstrap 5とConcrete Bedrockで構築されたUIを一新しました。
その他の新機能や機能向上
- エクスプレス機能がマルチサイトに対応しました。
- 管理画面のサイトマップ内からページエイリアスを編集できる機能を追加しました (thnaks mlocati)
- EメールのパラメータFrom名登録のカスタマイズ機能を追加しました (thnaks katzuueno)
- パンくずナビゲーションブロックが新しく追加されました (thanks hissy)
- ナビゲーションキャッシュの改善とキャッシュの最適化により、全体的なパフォーマンスが大幅に向上しました (hissy and core team)
- クリップボードパネルにページネーションが追加されました。また、管理画面から全ユーザーのクリップボードの内容をリセットする機能を追加しました (thanks bitterdev)
- ログにEメールの本文を記録するか、メタデータのみを記録するかの設定を追加しました (thanks bitterdev)
- インタラクティブなテーマドキュメントとブロックプレビューに対応。
- ページ検索インターフェースに一括ページ承認コマンドを追加しました (thanks bitterdev)
- CSVで特定のグループにユーザーを所属させる機能を追加しました (thanks bitterdev)
- 完全に新しい画像エディタのプラグインフレームワーク。TUI Image Editorが付属します。
- ユーザーがアイコンを選択できる特色などのブロックタイプを扱う際に、新しいアイコンセレクターコンポーネントが追加されました。
- ファイルのアップロード、および削除処理がログに出力されるようになりました (thanks bitterdev)
- ファイルマネージャーでアップロード時にEXIFメタデータから自動的にファイルの属性を入力できるようになりました (thanks bitterdev)
- ログイン成功後の Clear-Site-Data ヘッダーが実装されました (thanks ahukkanen)
- 日付ナビゲーションブロックにブロックタイトル形式を追加しました (thanks katalysis)
- 画像ブロックが大幅に改良され、ライトボックスでの画像の読み込み、ページ内での画像のサムネイル表示などが可能になりました。
- アンインストールしたばかりのパッケージや、ダウンロードしたばかりのパッケージに削除ボタンを追加しました (thanks hissy)
- ログイン情報保持用のCookieを使用してログインする際のパフォーマンスを改善しました。
- ページコンポーザーにページバージョンコメント欄を新設 (thanks hissy)
- セキュリティオプションのための新しいミドルウェアを導入しました (thanks hissy)
- 管理画面で自分のパスワードや他のユーザーのパスワードを変更する際に、既存のパスワードを確認しなければならないようになりました。
- 非同期サムネイル生成プロセスが大幅に改良され、CLIタスクランナーとMercureが強化された (thanks bitterdev)
バグ修正
- フォルダにカスタムの保存場所が設定されている場合、そのフォルダの選択した保存場所にファイルが配置されない (thnaks danklassen)
- ファイルをフォルダに移動したとき、フォルダに設定されている保存場所に移動しないバグを修正しました (thanks danklassen)
- フォームがクエリパラメータを含む外部ページにリダイレクトされると、結果として不正なURLになってしまいます (thanks JeffPaetkau)
- コンポーザーフォームでURLスラッグが必須になっているときエラーになったのを修正しました (thanks httnnnkrng)
- 修正: ユーザーワークフロー - ユーザーの有効化が管理者のEメールのバリデーションで行われない (thanks bitterdev)
- ドキュメントライブラリ - 不足しているフォルダの処理
- エクスプレス詳細ブロックにおいて、エクスプレスフォームのIDが存在しない場合に例外が発生しないようにしました (thanks biplobice)
- 編集モードがないコピーされたブロックに "ブロックの編集 "リンクがあり、例外が発生する (thanks gutig)
- Redisを使ったフルページキャッシングドライバーのバグを修正しました (thanks matt9mg)
開発者向けアップデート
- バッジとコミュニティポイントがコアから削除されました。この機能が必要な場合は、サイトをアップグレードする前に、https://github.com/concrete5/community_badges から Community Badges アドオンをインストールしてください。
- Concrete はPHP8で動作します。
- ツールは、ブロックやパッケージからも完全に削除されました。ツールの機能は、何年も前から、ルーティングシステムやコントローラシステムで、より安全かつ柔軟に利用できるようになっています (thanks mlocati)
- Symfony Messengerで構築された新しいキューシステムを完全に再構築しました。
- Symfony Messengerで構築された完全に新しいコマンド/メッセージシステム。
- LaravelやSymfonyのコンポーネントを含む、多くのコアコンポーネントが最新バージョンに更新されました。
- オーバーライド可能なコレクションハンドルジェネレータを追加しました (thanks hissy)
- 古いprocess.phpスクリプトをバックエンドリクエストから削除しました。
- 新しいコマンドバスパターンを紹介します。開発者は、コマンドをカプセル化し、1行または2行のコマンドを複数の場所で再利用することができます。
- 基礎となるHTTPクライアントをGuzzleとPSR7に交換しました。
- Routerがwith__invokeによるシングルアクションコントローラのサポートを追加しました (thanks shahroq)
- フォームヘルパーが新しいHTML入力タイプを扱えるようにしました (thanks JohnTheFish)
- https://github.com/concrete5/concrete5/pull/9479 (thanks jeffPaetkau)
- ブラックリスト/ホワイトリストの用語がコア全体で改称されました。
後方互換性
- Core::make()、$app->make()などをパッケージ内で使用し、同時にこれらのクラスに引数を与えている場合、Laravel Containerクラスの最近のアップデートにより、古いコードが壊れる可能性があります。詳しくはこちらのチュートリアルをご覧ください: https://documentation.concretecms.org/tutorials/add-developers-get-your-add-ons-ready-concrete-cms-90
- バージョン8から、テーマの中からコアの要素をオーバーライドする機能が追加されました。例えば、コアが View::element('conversations/add_post'; を通じて要素を要求する場合、コアは concrete/elements/conversations/add_post.php でこのアドオンを探します。しかし、現在アクティブなテーマが themes/my_theme/elements/concrete/conversations/add_post.php でこの要素を提供している場合は、代わりにそれが使用されます。今回の変更では、テーマ内のelementsディレクトリからconcrete/ディレクトリを削除します。つまり、テーマ内のコア要素をオーバーライドするには、テーマのelements/ディレクトリ内の同じパスで利用できるようにすればよいのです。
- パッケージ内の特定のページにカスタムヘルプを登録する場合は、ダッシュボードページ内ではなく、パッケージのon_startメソッド内で行うようにしてください。私たちの新しいヘルプパネルはこれを必要とします。詳しくは https://github.com/concrete5/concrete5/issues/9869#issuecomment-927136592 をご覧ください。
- コンソールコマンド c5:blacklist:clear の名称が c5:denylist:clear に変更されました。
- サーバーの設定でConcrete cookieを直接使用する場合は、名前が変更されていることに注意してください。デフォルトのセッション cookie は CONCRETE5 から CONCRETE に変更され、デフォルトのログインクッキーは CONCRETE5_LOGIN から CONCRETE_LOGIN に変更されました。
以上