Craft CMS のエントリフィケーション計画について

2023年3月7日、Craft CMS の公式ブログにて、エントリフィケーション計画が発表されました。

The Entrification Plan | Craft CMS
https://craftcms.com/blog/entrification

これは「独立したエレメントタイプとして存在するカテゴリ・タグ・グローバルセットを将来的にエントリへ統合する」というもので、Craft 4.4 から自動変換するためのコンソールコマンドが用意されています。

最終的に Craft 6 で完了する計画ではあるものの、余裕があるうちに対応しておいた方が良さそうですね。

そこで、エントリフィケーション計画の概要と対応方法についてご紹介します。
これは Craft CMS Advent Calendar 2023 25日目の記事です。

Craft CMS で MySQL のテーブル文字コードと照合順序を変更する

先日、Craft CMS のデータベースを眺めてたところ、MySQL 8.0 でテーブルの文字コードが utf8mb3、照会順序が utf8mb3_general_ci になっている場合があることに気づきました。

文字コードは utf8 もしくは utf8mb4 を指定しているハズなので、にわかに不安が。。

公式リファレンスを確認したところ、そもそも utf8utf8mb3 のエイリアスで、MySQL 8.0 以降は非推奨なんですね。 将来的に削除される可能性があるということで、あらかじめ utf8mb4 に変更しておいた方が良さそうです。

MySQL :: MySQL 8.0 リファレンスマニュアル :: 10.9.2 utf8mb3 文字セット (3 バイトの UTF-8 Unicode エンコーディング)
https://dev.mysql.com/doc/refman/8.0/ja/charset-unicode-utf8mb3.html

そこで、今回は MySQL のテーブル文字コードと照合順序を変更する方法をご紹介したいと思います。
これは Craft CMS Advent Calendar 2023 23日目の記事です。

Craft CMS の二要素認証用デバイスが使えなくなった場合の対処法について

Craft CMS で二要素認証を導入する場合、3rd Party の Two-Factor Authentication プラグインを利用します。

Craft 3 / Craft 4 に対応しているフリーのプラグインで、管理者はインストール後に適用したいユーザーグループへプラグインのアクセス権限をセットするだけで済みます。一方、二要素認証を利用したいユーザーは、管理画面のプラグイン設定画面にある QR コードを認証アプリで読み込み、コード認証を行えばアカウントが保護されます。

このように導入と利用自体は簡単にできるものの、万一デバイスが使えなくなった場合、どうすればいいのでしょうか?

今回は、二要素認証用デバイスが使えなくなった場合の対処法について考えてみます。
これは Craft CMS Advent Calendar 2023 21日目の記事です。

Craft CMS で日本語タイトルをローマ字変換して slug にセットする(後編)

前編に引き続き、Craft CMS で日本語タイトルをローマ字変換して slug にセットする方法について考えていきますが、 実装にあたって欲しい機能は次の3つです。

  • エントリのタイトルをローマ字変換して slug にセットする
  • エントリの初回保存時のみ、実行する
  • slug に日本語が含まれない場合は、何もしない

このくらいであれば、モジュールとして用意するのが手軽で良さそうですね。

では、具体的な手順を見ていきましょう。
これは Craft CMS Advent Calendar 2023 20日目の記事です。

Craft CMS で日本語タイトルをローマ字変換して slug にセットする(前編)

先日、X(旧 Twitter)でこんなポストを見かけました。

Craft CMS では、置換されたり除去される文字が一部あるものの、エレメントのタイトルとして入力された日本語テキストは、そのまま Slug にセットされてしまいます。

URI 文字列に日本語テキストが含まれるのを避けるには、slug の替わりに ID を利用したり、slug を半角英数で手入力する運用ルールを設けたりといった、対応が必要です。

そんな工夫をしなくても、自動的にローマ字変換できるのであれば確かに便利そうですね。

そこで、Craft CMS で日本語タイトルをローマ字変換して slug にセットする方法について、考えてみました。
これは Craft CMS Advent Calendar 2023 19日目の記事です。

【Craft 4.4 の新機能】プライベートプラグインについて

Craft CMS でカスタムプラグインを作成する場合、これまでプラグインのハンドルをユニークにする必要がありました。
作成したプラグインを Plugin Store に公開する際に必要となるルールで、ライセンスチェックに利用されるためです。

単純な普通名詞を避けてフレーズにしたり、ベンダーごとに固有な接頭辞を付けるのが一般的だったのですが、Plugin Store に公開しないのであれば必要がないとも言えます。

そこで、今回は Craft 4.4 から可能になったプライベートプラグインについて、ご紹介したいと思います。
これは Craft CMS Advent Calendar 2023 16日目の記事です。

【Craft 4.5 の新機能】グローバル変数 _globals について

Craft CMS で変数を定義する場合、 {% set %} タグでセットします。
このとき、{% for %} など一部のタグ内で新しく定義したものはローカルスコープになるため、外からアクセスしたい場合はテンプレート冒頭で初期化しておくといった工夫をしていました。

グローバル変数を利用することで、細かいことを気にする必要がなくなるとしたら便利ですよね?

そこで、今回は Craft 4.5 から新たに加わったグローバル変数 _globals の使い方をご紹介したいと思います。
これは Craft CMS Advent Calendar 2023 14日目の記事です。

【Craft 4.5 の新機能】Element Index のリラベルについて

Craft 4.5 から、フィールドレイアウト上で設定したラベルで Element Index のフィールド名が上書きされるようになりました。

これまで、以前ご紹介した自作プラグインのインストールが必要だったものが、標準機能として搭載された形です。
個人的に待ち望んでいた機能なので、とても嬉しいですね。

そこで、Element Index のリラベル機能について、改めて確認しておこうと思います。
これは Craft CMS Advent Calendar 2023 13日目の記事です。

【Craft 4.5 の新機能】共有可能なエレメントフィルタで、管理画面をカスタマイズする(実践編)

前回の記事では、エレメントフィルタの共有 URL がどのような構造になっているのかを確認しました。

今回は、その仕組みを利用して「プルダウンから選択されたカテゴリに関連づけられたエントリだけを絞り込み表示」するカスタマイズを加えてみようと思います。

これは Craft CMS Advent Calendar 2023 11日目の記事です。

【Craft 4.5 の新機能】共有可能なエレメントフィルタで、管理画面をカスタマイズする(準備編)

Craft 4.4 以降、Element Index(一覧画面)を任意条件でフィルタリングした際の URL を共有できるようになりました。

正確には Craft 4.4 でキーワード検索の結果、Craft 4.5 からは更にエレメントフィルタによる絞り込み結果の URL を共有可能です。これによって、管理画面の操作に慣れないユーザーに複雑なフィルタ条件を設定することなく絞り込み後のエレメント一覧を表示させることができ、とても便利だなと感じています。

そこで、今回はエレメントフィルタの共有 URL を利用して管理画面を少し使いやすくしてみます。
これは Craft CMS Advent Calendar 2023 7日目の記事です。