Contao 5.0が来た!

2022年8月18日 18:00 Marcus Lelle – 現在の問題

時がきました: 新しいメジャーバージョンのContaoが来ました! Contao 4への大きな一歩を踏み出してからの良い7年、Contaoは新しいバージョン5.0に向けて進んできました。

Contaoのバージョンの番号付けを正確に知らない場合は、こちらを読んでみてください。

今のような段階のとき常には、おおまかに2つの立場があります。新機能が足りないくらいの人たちと、新しい機能をゆっくりと受け入れて、すべてを「今までのまま」にしたい人たちです。このニュースでは両者に対応していきます。

開始地点: Contao 4.13

4系の新しいバージョン(4.1から4.13)のそれぞれで、偉大な新しい機能が我々の大好きなCMSに加えられてきました。それぞれの新しいバージョンを4.0からのすべてのバージョンと互換をでコアチームは保つため、それぞれのリリースで新しい「下位互換層」を積み重ねてきました。この各層のコードは古いインターフェイスを新しいインターフェイスと互換にして古いコードが動作し続けるようにしています。

これらの「BC層」はContaoという船を重たくしてきました。

この船をたくさんの新しい積み荷(= 機能)に向けて準備するために、コアチームとすべての他のボランティアは前代未聞の量の作業を行い、Contao 4で非推奨

と印付けられた多くをContao 5.0では削除しました。

3,500以上のファイルの修正と、だいたい400,000行の修正した行のコードがそれを物語っています。Contaoは約70,000行ものレガシーコードから解放されました。

ユーザーへの新機能

綺麗に片付けることを中心としていましたが、Contao 5では新しい機能と改善もあります。そのいくつかがこちらです:

統合した子の要素の操作

以前はそうでなかったところに古くからのContaoのユーザーは最初は確かにまごつくでしょう、鉛筆のアイコンは要素の編集に移動して、深いレベルへの移動はしません。その代わりになる「子の要素」の新しいアイコンを導入しました。アーティクルの要素での例です:

ページとファイルは「コンテント」の下に移動

Contao 5ではページ構造とファイル管理へのリンクはメニューのグループの「コンテント」にあります。

不完全なフォームは、もう保存しない

Contao 5ではバックエンドでフォームを提出するとき、例えば必須の項目が未入力の場合にエラーを検出してデータを保存しません。Contao 4の場合と異なって一部を保存することもありません。

保存していない要素

バックエンドでまだ保存していない新しい要素はその後グレーアウトして表示されます。

新しい「フィルターしないHTML」要素

この新しい要素はscriptのタグや例えばインラインのSVGコードといったものを、これらをセキュリティ設定で有効にしなくても、すぐに要素を挿入できます。しかし、覚えておいてください: 理解していないものを挿入するのは注意してください! 攻撃者に固有情報を盗まれたり、システム全体を制御される恐れがあります。そして、その要素の直下にも書いてあります。

コンテント要素はTwigのテンプレートを基本

すべてのコンテント要素は書き換えられてTwigのテンプレートを基本としました。将来のニュースの投稿でTwigのテンプレートでの新しい可能性について深く説明したいと思います。これについてはマニュアルに別の章が既にあります。

Contaoインストールツールは削除

ほとんどの機能はContao Manager(以下を参照)にあります。テーマのSQLのダンプはバックエンドで直接インポートできます 。

COntao Managerへの調整

既に述べましたように、もう古いContaoインストールツールは利用できません。インストールの過程でのデータベースの選択はContao Managerに移動しました。いつものように、そこで管理者も作成できます。

既にContao 5.0を使用しなければいけませんか?

いいえ! 現在のContao 長期サポートのバージョン4.13は2022年2月にリリースされていて、2025年2月まで更新されます。しかし、Contao 5ですべてが異なると恐れる必要はありません。変更は論理的で新しいユーザーにはむしろやさしくなっているでしょう。

開発者へのお知らせ

  • Contao 5はSymfony 6のSecurityコンポーネントを使用しています。認証を変更する機能拡張は、おそらく採用する必要があるでしょう。
  • DCAの操作にSecurity Votersを追加しました、最終的に既存のコールバックcheckPermission()を置き換えることになるでしょう。Contao 5で以前のシステムは引き続き動作しますが、新しいシステムに早い段階で習熟するに越したことはありません。
  • データベースの項目が適切に定義されていれば、Modelはintegerbooleanといった本当のPHPの型を返すようになりました。
  • 国のコードは大文字となりました。

すべての変更でContao 4.13に非推奨は組み込まれましたので、機能拡張がContao 4.13で非推奨を引き起こさなければ、Contao 5でも動作するはずです。

基本的に、すべての開発者は機能拡張がBC層の使用を検索できます。もっとも重要な情報は、それぞれの開発ブランチのDEPRECATED.mdのファイルにあり、Symfonyのプロファイラーの「非推奨」のタブの「ログ」にも一覧されます。

Contao 5に必要な調整はUPGRADE.mdのファイルに文書化されていて、このファイルはContao 5の開発ブランチにあります。

加えて、単一のレポジトリの開発を見守るのも悪くないことは確かです。

その他に重要なこと

どの場合でも、2022年2月の開発者会議からのYanickのレポートを一読することをお勧めします。

Contaoをサポートには多数の選択肢があることを忘れないでください。どのようなサポートでも重要です。これは長期に渡ってさらにContaoを開発する唯一の方法です。多数の機能拡張の存在も当たり前ではありません。小さな贈り物と新しい仕事で全員が幸せになります。

コア開発者に多くの感謝をします。このニュースを書く際のLeo、Yanick、Andy、Franko、Christianの支援にも大変感謝しています。

Contao最高!

Marcus


Contao 5.0 is here!の翻訳です。