Contao 3.2.beta1のリリースアナウンス

以下は、Contao 3.2.beta1 is availableの翻訳となります。


Contao 3.2.beta1を利用可能

2013年9月27日 14:06 by Leo Feyer

Contaoバージョン3.2.beta1を利用できます。ベータ版を実運用のウェブサイトでは使用しないでください!  このリリースはウェブサイトの確認や独自の機能拡張の調整のためにダウンロードしてください。

ここで、この新しいバージョンの呼び物をいくつか示します。完全な一覧は変更履歴、またはリリースのマイルストーンの完了したチケットを調べてください。(このアナウンスの最後のリンクを参照してください。)

バージョン3.2は新しいLTSリリースとして18か月に渡って一緒に過ごします。従って、「進化、革命ではなく」といった標語の下で開発しています。200の新しい機能を追加する可能性の代わりに、Contao 3で追加した機能の安定と完全にしようと試みています。

未だに追加している新しい機能、例えばファイルにUUIDの使用はすべてむしろ複雑で実装が些細というわけではありません。もっと重要なことは2つの先立つリリース(beta1とRC1)を広範囲にテストすることです。

新しいバージョンの主要な機能をいくつか紹介します。完全な一覧は変更履歴を読むか、リリースのマイルストーンの終了したチケットを確認して下さい。(このアナウンスの最後にあるリンクを見てください。)

ユニークなファイルのID

Contao 3で追加したデータベースに支援されたファイルシステムは、ファイルの情報をデータベースに保持して、それの項目のIDで参照します。しかし、これはsyncCTOのようなツールで問題となる場合がありました。あるIDがローカルのコンピューターとサーバーの両方に存在して、それぞれが異なるファイルを参照している場合です。

これらの問題を防ぐために、Contao 3.2ではUUID(Universally Unique Identifier)を使用するようにしました。UUIDはシステムを越えて一意で、このように見えます: bb643d42-0026-ba97-11e3-ccd717221c8a

通常は、ユーザーはUUIDに触れることはありません。なぜなら、Contaoではファイルはファイル選択で選ぶからです。唯一の例外は、UUIDをサポートするようになった挿入タグの"file"です。

<img src="{{file::bb643d42-0026-ba97-11e3-ccd717221c8a}}" alt="">

挿入タグは参照しているファイルのパスに置き換わります。

DCAにクロージャーとテンプレート

クロージャーは無名関数のことで、PHP 5.3から導入されています。Contao 3.2では、データコンテナ配列とテンプレートで通常のコールバックの代わりに使用できます。

// コールバックの定義
$GLOBALS['TL_DCA']['tl_page'] = array
(
	'list' => array
	(
		'label' => array
		(
			'label_callback' => array('tl_page', 'addIcon')
		)
	)
);

// クラスとメソッドの定義
class tl_page extends Backend
{
	public function addIcon($params)
	{
		return Backend::addPageIcon($params);
	}
}

代わりに、現時点ではクロージャーを使用できます。

// コールバックの定義
$GLOBALS['TL_DCA']['tl_page'] = array
(
	'list' => array
	(
		'label' => array
		(
			'label_callback' => function($params)
			{
				return Backend::addPageIcon($params);
			}
		)
	)
);

以下は同じ原理で、クロージャーをテンプレートに追加できます:

// テンプレートに代入
$objTemplate = new FrontendTemplate('ce_test');
$objTemplate->sum = function($a, $b) { return $a + $b; };
$objTemplate->output();

// テンプレートでの使用
<?php echo $this->sum(3, 5); ?>

プロキシサーバーのサポート

Contao 3.2ではプロキシサーバーのサポートを高度に改善しました。

  • 信頼出来るproxyサーバーのIPアドレスの一覧をバックエンドの設定で指定して、既存のプロキシサーバーのIPアドレスからユーザーのIPアドレスの選別を改善します。
  • SSLのプロキシサーバーを使用している場合に、そのドメイン名を設定すると、Contaoはドメインを認識して要求ヘッダーを元に生成するURLを調整します。

Contaoをプロキシサーバーと共に使用するために$_SERVER配列を調整しなければならない場合に、アップグレードした後でこれらの調整が動作するか試すと良いでしょう。

デバッグを簡単に

これからは、インストールツールに一旦ログインすると常にエラーメッセージを表示します。これは「エラーメッセージを表示」が無効な場合に、アプリケーションが実際のエラーメッセージの代わりに一般的なエラー画面を表示している場合にも適用します。

system/docs/UPGRADE.md

新しいファイルsystem/docs/UPGRADE.mdに後方互換性のないAPIの変更を記述しています。この種のAPIの変更は、一般的にはメジャーバージョンを上げるときだけ許されるものですが、マイナーリリースで常に避けられるわけではありません。今回の場合は、"buttons_callback"を重要な機能のために強化して、その結果APIの変更が必要となっています。

Google+のプロフィールとリンク

Contao 3.2ではバックエンドのユーザーはGoogle+のプロフィールを追加して、記事(例えばニュースやFAQ)にGOogle+のプロフィールを自動的にリンクできます。これによって、Googleの検索結果に(Google+のユーザー設定で有効にした後で)プロフィールの画像を法事できます。

ユーザー名で大文字と小文字を区別

今までのところ、Contaoはデータベースの照合規則の初期設定のため、ユーザー名は大文字と小文字を区別していません。"k.jones"というユーザー名は、"K.JONES"や"k.joNEs"でもログインできました。Contao 3.2では、これを変更して、"k.jones"と"K.JONES"は最終的に異なるユーザーになるでしょう。