2019年04月19日
新元号「令和」への対応と日付変換機能
4月16日、新元号「令和」に対応する PowerCMS 5.12 / 4.42 / 3.293 の提供を開始しました。 新元号「令和」への対応を銘打ったためか普段のリリースよりも反響が大きく、多くのお問い合わせをいただいております。
今回、新元号「令和」への対応と影響について説明いたします。
なお、PowerCMS 5.12 / 4.42 / 3.293 のリリース内容について、元号「令和」への対応とセキュリティに関する修正は、それぞれ異なる機能に対する修正です。「令和」へ対応した日付変換機能をご利用でなくても、セキュリティに関する修正の対象になりますのでアップデートの要否についてはわけてお考えください。
- 新元号「令和」について PowerCMS への影響はありますか?
- 日付変換機能とはどのようなものですか?
- 日付変換機能を利用しているか、どのように確認できますか?
- 新元号「令和」への対応について、PowerCMS を最新版へアップグレードしなかった場合はどうなりますか?
- 新元号「令和」への対応について、PowerCMS を最新版へアップグレードせずに対応することはできますか?
- 日付変換機能以外に影響を受けることはありますか?
新元号「令和」について PowerCMS への影響はありますか?
影響を受ける機能が一部あります。
PowerCMS では Accessibility オプションプラグインを利用することで様々な変換を行うことができ、その中には日付を変換するものがあります。
その日付を変換する機能・処理について「令和」へ対応するための機能改修が必要です。
日付変換機能とはどのようなものですか?
再構築によるファイル出力時に、下記の様な変換が行えます。
変換前 | 変換後 |
---|---|
H31/04/18 | 平成31年04月18日 |
R01/05/01 | 令和01年05月01日 |
Tue, 16 Jun 2015 | 2015年6月16日 |
01:02:03 | 01時02分03秒 |
日付変換機能を利用しているか、どのように確認できますか?
日付変換機能を利用するには、プラグインの設定か、テンプレートの記述が必要です。下記のいずれかに当てはまる場合、日付の変換を利用していると考えられます。
- Accessibility のプラグイン設定 (システムレベル) の「フィルタ」が有効で、「パラメータ」に 0 か 4 を指定している
- テンプレートへ accessibility モディファイアを記述し、値に 0 か 4 を指定している
- テンプレートへ MTAccessibleBlock タグを記述し、accessibility へ 0 か 4 を指定している
Accessility プラグインをインストールされていなかったり、値に 0 か 4 を指定していない場合は日付の変換を利用していないと考えます。
新元号「令和」への対応について、PowerCMS を最新版へアップグレードしなかった場合はどうなりますか?
「平成」への変換は行われますが、「令和」への変換が行われないまま出力されます。
変換前 | 変換後 |
---|---|
H31/04/18 | 平成31年04月18日 |
R01/05/01 | R01/05/01 |
Tue, 16 Jun 2015 | 2015年6月16日 |
01:02:03 | 01時02分03秒 |
新元号「令和」への対応について、PowerCMS を最新版へアップグレードせずに対応することはできますか?
難しいと思います。
regex_replace モディファイアを駆使するなど、「R01/05/01」を「令和01年05月01日」へ変換する記述が行えれば、日付変換機能の代替になりますが、変換は複数あるので、すべてをテンプレートで対応することは難しいと思います。
(2020年1月31日追記) 2019年12月26日に公開した記事『日付のテンプレートタグから元号を取得する』で具体的な方法をご紹介してます。
日付変換機能以外に影響を受けることはありますか?
PowerCMS の機能ではなく、設計や記述によって影響を受ける可能性もあります。 下記はとあるサイトの記事のアーカイブマッピングを抜粋したものですが、URL に h31 などの和暦を使うように設計されています。
<$MTEntryDate format="%y" setvar="entry_year"$>h<$MTGetVar name="entry_year" op="+" value="12"$>/<$MTEntryDate format="%m"$>/<$MTEntryBasename$>.html
上記の場合、「平成」しか考慮されていないため「令和」へ対応するために修正が必要と思います。
このように PowerCMS の日付変換機能をご利用でなくても影響を受けることもありますので、運用中のサイト、構築されたサイトについて和暦を利用しているかご確認ください。
コメントを投稿する