Contao 4.7.0を利用可能

2019年2月15日 08:36 Leo Feyer

Contaoバージョン4.7.0を利用できます。このリリースはバックエンドのネイティブフォント、テンプレートエディターのドラッグアンドドロップ、改善したフロントエンドのプレビューのバー、ニュースとイベントの追加のSEO設定、さらに多数の新しい機能を含んでいます。

バックエンドのネイティブフォント #98

Contao 4.7では、もうWebフォントをバックエンドで使用せず、それぞれのオペレーティングシステムのフォントを使用しています。これによりスムージングの問題を修正するだけでなく、システムへのContaoの視覚的な融合を改善します。

テンプレートエディターでのドラッグアンドドロップ #223

以前のファイル管理のように、Martin氏がContao 4.7でテンプレートエディターでもドラッグアンドドロップを実装しました。テンプレートをドラッグしてフォルダーに移動できるようになりました。

オプトインサービス #196

オプトインの処理をより良く追跡できるように、Contao 4.7では中央部分で管理して法的に必要な期間の保持ができるようにしました。オプトインのサービスは、独自のバンドルでも使用できます。

フロントエンドのプレビューのバー #1640

Yanick氏がContao 4.7でフロントエンドのプレビューのバーを強化して題名とページのURLを表示するようにしました。

ニュースリストモジュールの中のニュースリーダー #39

ニュースリストモジュールにニュースリーダーを追加できるように、Fritz氏がContao 4.7でニュースアーカイブモジュールと類似にニュースリストモジュールを調整しました。

ニュースとイベントのためのSEO設定 #161

ライプチヒのContao CampでPatrick Froch氏の作業の成果のおかげで、ニュースやイベント毎にページの題名や説明を上書きできるようになりました。

テキストキーによる2FA設定 #86

2ファクター認証の設定でQRコードをスキャンできない場合に、Dave氏がテキストキーで設定の処理を完了する選択肢を追加しました。

自動的にHTTPSへリダイレクト #283

Andreas氏がSymfony CMF routerでルーティングを再構築したおかげで、サイト構造で対応するオプションを有効にした場合はウェブサイトへのHTTPによるアクセスを自動的にHTTPSにリダイレクトします。

メタエディターの言語 #6254

今後は、サイト構造に存在する全ての言語は自動的にファイル管理のメタエディターで有効になり、1つずつ追加する必要はありません。

繰り返すイベント #175

フロントエンドで繰り返すイベントのテキストを調整して、イベントが行われる間隔と次の日時をより明確にわかるようにしました。

システム設定の削減 #203

ライプチヒのContao Campで議論したように、バックエンドのシステム設定を徐々に削減していこうとしています。Contao 4.7では、第一段階として以下の項目を削除しました:

  • スクリプトを圧縮: 省略
  • テンプレートのファイル形式: 省略、将来は.html5だけサポート
  • 文字セット: 入力欄を削除、config.ymllocalconfig.phpファイルで値をまだ変更可能
  • タイムアウトの値: 入力欄を削除、config.ymllocalconfig.phpファイルで値をまだ変更可能
  • SSLのプロキシのドメイン: 入力欄を削除、config.ymllocalconfig.phpファイルで値をまだ変更可能
  • filesのURL/assetsのURL: バックエンドで省略、サイト構造にまだ存在
  • ウェブサイトの題名: バックエンドで省略、サイト構造にまだ存在
  • 編集できるファイル形式: 入力欄を削除、config.ymllocalconfig.phpファイルで値をまだ変更可能
  • auto_itemパラメーターを有効: 入力欄を削除、config.ymllocalconfig.phpファイルで値をまだ変更可能

同期からフォルダーを除外 #203

Contao 4.7ではデータベースとの同期を除外するフォルダーの設定をシステム設定からファイル管理に移動しました。

マークアップを削減 #203

Contao 4.7ではウェブサイトのフロントエンドのHTMLのマークアップを削減する設定をシステム設定からページレイアウトに移動しました。

ブラウザーにダウンロードを表示 #20

Contao 4.7でDennis Patzer氏がダウンロード要素を強化して、「リンク先を保存...」のダイアログを開くか、ブラウザーに直接表示するか指定できるようにしました。

メンバーとコメント #7

Moritz Vondano氏がcomments bundleを調整したおかげで、Contao 4.7ではコメントをメンバーに関連付けられるようになりました。

クッキーが無効なときに警告 #134

Contaoは"Double Submit Cookie"と呼ばれる技法を使用してCSRF攻撃からフォームを安全にしています。このため、ブラウザーでクッキーを無効にしているとフォームを提出できません。ページレイアウトで有効にできる、新しいjs_nocookie.html5テンプレートはこのような場合の警告を追加します。

テンプレートエディターへのアクセスの検査 #224

ContaoのテンプレートはPHPファイルなので、テンプレートエディターにアクセスのあるユーザーはシステム全体の制御を暗黙のうちに持っていることになります。このためContao 4.7では、通常ユーザーにテンプレートエディターへのアクセス権があると、ユーザー管理で管理者に通知します。

アーティクルのPDFへのエクスポート #65

アーティクルのPDFファイルへのエクスポートはすべてのContaoのウェブサイトで必要ではないので、この機能はa href="https://github.com/contao/tcpdf-bundle" target="_blank" rel="noopener">別のバンドルに移動しました。このためContao 4.7はTCPDFをもう含んでいませんが、いつでも再追加できます。

Slugサービス #222

Martin氏がslugサービスを追加して氏のslug生成器の統合する強化を行い、さらに自動的なエイリアス生成をシンプルにしました。

$alias = $container->get('contao.slug')->generate($pageTitle, $pageId);

onshow_callback #235

Kamil Kuzminski氏がDCAにonshow_callbackを追加して、レコードの詳細な表示をするときに動作するようにしました。

contao.generate_symlinksイベント

シンボリックリンクを生成したときに独自のロジックを実行するために、Contao 4.7ではcontao.generate_symlinksイベントを追加しました。

バックエンドユーザー用のユーザー承認 #122

Andreas氏がバックエンドユーザーの設定を読み込む、ユーザー承認を実装しました。

// ユーザーはIDが5のフォームにアクセス
$authorizationChecker->isGranted('contao_user.forms', 5);

// ユーザーは"tl_page"テーブルの"published"項目へのアクセスを許可
$authorizationChecker->isGranted('contao_user.alexf', 'tl_page::published');

// フォルダーへnフォルダーへのアクセス権を確認
$authorizationChecker->isGranted('contao_user.filemounts', '/files/foo/bar');

DCAコールバックとしてのTaggingサービス #39

フックとしてのtaggingサービスと同様に、Contao 4.7ではAndreas氏がDCAのコールバックとしてtaggingサービスを実装しました。

配列でモデルをインスタンス生成 #121

Andreas氏のおかげで、Contao 4.7ではデータベースの結果か配列でモデルのインスタンス生成ができるようになりました。

$data = [
    'id' => 2,
    'name' => 'Theo Test',
];

$model = new UserModel($data);

フォルダーの保護 #1601

Moritz Vondano氏がフォルダーの保護のAPIにisUnprotected()メソッドを追加しました。

$folder = new Contao\Folder('/path/to/the/folder');

if ($folder->isUnprotected()) {
    // フォルダーは.publicファイルを含み、HTTPでアクセス可能
}

DCAでルートの使用 #116

Andreas氏がContao 4.7でDCA属性にルートのサポートを追加しました。

$GLOBALS['TL_DCA']['tl_table']['list']['operations']['foo'] => [
    'label' => &$GLOBALS['TL_LANG']['tl_table']['foo'],
//  'href'  => 'key=foo',
    'route' => 'my_bundle.custom_route',
    'icon'  => 'foo.svg'
];

PaletteManipulator::removeField() #1668

David Molineus氏がパレット操作にremoveField()メソッドを追加して、パレットから項目を削除できるようになりました。

PaletteManipulator::create()
    ->removeField('published', 'publish_legend')
    ->addField('published', 'title_legend', PaletteManipulator::POSITION_APPEND)
    ->applyToPalette('default', 'tl_news')
;

前回と次回の日付 #175

新しいメソッドgetPastDates()getUpcomingDates()で、繰り返すイベントの以前と次回の日付をテンプレートで取り出せるようになりました。

ContaoFrameworkInterface #276

ContaoFrameworkInterfaceインターフェイスはContao 4.7以降では非推奨とし、もう使用すべきではありません。代わりに明確なクラスContaoFrameworkを使用してください。

class MyService
{
    /**
     * @var ContaoFramework
     */
    private $framework;

    public function __construct(ContaoFramework $framework)
    {
        $this->framework = $framework;
    }
}

そしてさらに多数

この他の変更の概要は変更履歴にあります。

Symfonyの互換性

Contao 4.7は次のバージョンのSymfonyと互換性があります: 3.4, 4.1, 4.2

アップデートの注意

上記で述べたように、Contao 4.7以降はTCPDFはContaoのコア配布の一部ではありません。「PDFにアーティクルをエクスポート」の機能が必要な場合は、contao/tcpdf-bundleパッケージをContao Managerまたはコマンド行(composer require contao/tcpdf-bundle)からインストールしてください。


Contao 4.7.0 is availableの翻訳です。