Ver. 3.0.10、Ver. 2.11.49 リリースのお知らせ


この記事では、2022年5月18日にリリースした Ver. 3.0.10Ver. 2.11.49 の修正内容について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 3.0.10 リリースノート

  • CMS-5954 CookieにSameSite 属性を付与 (デフォルトはLax, php7.3以上)
  • CMS-5917 ブログを削除すると、PHPエラーが発生する問題を修正
  • CMS-5918 プロ版以上で承認機能有効時、読者ユーザーでもエントリ編集ボタンが表示されてしまう問題を修正
  • CMS-5920 スケジュールモジュールが、PHP8.0でエラーを出してしまう問題を修正
  • CMS-5924 子ブログの静的書き出しで、古いファイルが削除されない問題を修正
  • CMS-5927 ページキャッシュのPHPエラーがたまに発生する問題を修正
  • CMS-5934 管理画面へのIDベースのリンクに、ブログコードが入ってしまう箇所がある問題を修正
  • CMS-5936 Touch_EditInsertやTouch_EditUpdateのタッチモジュールが、管理側の編集画面で反応しない問題を修正
  • CMS-5940 静的書き出しの差分書き出しで、新規エントリーの場合、ファイルパスがリンク切れになる問題を修正
  • CMS-5946 サーバー環境によって、メルマガや ACMS_POST_Download モジュールが動作しない場合がある問題を修正
  • CMS-5952 Entry_Archivelistでアーカイブの単位を年度単位にしたときに、月のURLコンテキストが未指定だとエラー出る問題の修正
  • CMS-5943 ユーザーの切り替え機能が動作していない問題を修正
  • CMS-5951 standalone.php で env関数未定義エラーが出る問題の修正
  • CMS-5956 管理系のCSSにライセンスコメントを追加
  • CMS-5955 セレクトメニューの長さが強制的に100%になってしまう問題を修正
  • CMS-5928 scroll-hintをv1.2.5にアップデート & config.jsにoffsetオプションを追加
  • CMS-5964 /category/xxxxxx.html のURLで、エントリーが存在し、そのエントリー専用のテンプレートがある場合、そのページのページネーションのリンクがおかしくなる問題を修正
  • CMS-5966 X-Forwarded-Forで、ポート指定がある場合、正常に接続元アドレスを認識できない問題を修正
  • CMS-5968 読者関連の文言調整
  • CMS-5891 各システムメールをHTMLメールに対応
  • CMS-5973 UTSUWAで文字エンコーディングが指定されてない問題
  • CMS-5935 Entry_Bodyの前後リンクで、更新順と投稿順の対応ができない問題を修正
  • CMS-5938 メディア一覧のページネーションがすべてのページが出力されるので、ボタンが膨大なってしまう問題を修正
  • CMS-5913 ルートブログで静的書き出しを実行すると子ブログでも静的書き出しをしている場合、子ブログのarchives内の画像が消えてしまう問題を修正
  • CMS-5910 スケジュールモジュールで、php7.4以上の場合データを保存していない月表示でphpエラーが出る問題を修正
  • CMS-5911 カスタムフィールドメーカーでカスタムユニットのテーブルを作った場合、ユニット追加時にテーブル編集のUIが動かない問題を修正
  • CMS-5912 関連エントリー選択UIでカスタムフィールドの追加表示ができない問題を修正
  • CMS-5976 Category_Listでカテゴリーをフィールドなどで絞り込み、親カテゴリーがない場合、表示が崩れや階層の絞り込みができない問題を修正

Ver. 2.11.49 リリースノート

  • CMS-5937 Touch_EditInsertやTouch_EditUpdateのタッチモジュールが、管理側の編集画面で反応しない問題を修正
  • CMS-5941 静的書き出しの差分書き出しで、新規エントリーの場合、ファイルパスがリンク切れになる問題を修正
  • CMS-5947 サーバー環境によって、メルマガや ACMS_POST_Download モジュールが動作しない場合がある問題を修正
  • CMS-5952 Entry_Archivelistでアーカイブの単位を年度単位にしたときに、月のURLコンテキストが未指定だとエラー出る問題の修正
  • CMS-5965 /category/xxxxxx.html のURLで、エントリーが存在し、そのエントリー専用のテンプレートがある場合、そのページのページネーションのリンクがおかしくなる問題を修正
  • CMS-5967 X-Forwarded-Forで、ポート指定がある場合、正常に接続元アドレスを認識できない問題を修正
  • CMS-5974 Entry_Bodyの前後リンクで、更新順と投稿順の対応ができない問題を修正
  • CMS-5975 メディア一覧のページネーションがすべてのページが出力されるので、ボタンが膨大なってしまう問題を修正
  • CMS-5772 ルートブログで静的書き出しを実行すると子ブログでも静的書き出しをしている場合、子ブログのarchives内の画像が消えてしまう問題を修正
  • CMS-5725 スケジュールモジュールで、php7.4以上の場合データを保存していない月表示でphpエラーが出る問題を修正
  • CMS-5743 カスタムフィールドメーカーでカスタムユニットのテーブルを作った場合、ユニット追加時にテーブル編集のUIが動かない問題を修正
  • CMS-5748 関連エントリー選択UIでカスタムフィールドの追加表示ができない問題を修正
  • CMS-5977 Category_Listでカテゴリーをフィールドなどで絞り込み、親カテゴリーがない場合、表示が崩れや階層の絞り込みができない問題を修正

主なリリースノートの詳細な内容

CMS-5954 CookieにSameSite 属性を付与 (デフォルトはLax, php7.3以上)

セッション管理などで使用されるCookieの属性にSameSite属性を付与されるようにしました。SameSite属性はセキュリティに関する属性で、以下3つの値を設定できるようになっております。

  • None (なし)
  • Lax (緩い) デフォルト値
  • Strict (厳しい)

設定する箇所は「config.server.php」になります。

define('COOKIE_SAME_SITE', 'Lax');

注意点

注意点として、Ver. 3.0.10 以上、PHP7.3.0以上で動作する機能になります。バージョンが低い方はアップデートして対応ください。

セキュリティレベルを「Strict」にしてしまうと、CMSにログインしていても、他サイトからの移動で来た場合、ログアウト状態になってしまいます。特に理由がなければ、デフォルト値のLaxで運用をお願いします。

CMS-5924 CMS-5940 CMS-5913 CMS-5941 CMS-5772 静的書き出し機能の修正

静的書き出し機能が、いくつか修正がされています。

  • 子ブログの静的書き出しで、古いファイルが削除されない問題を修正
  • 静的書き出しの差分書き出しで、新規エントリーの場合、ファイルパスがリンク切れになる問題を修正
  • ルートブログで静的書き出しを実行すると子ブログでも静的書き出しをしている場合、子ブログのarchives内の画像が消えてしまう問題を修正

ファイルパスがリンク切れになってしまったり、複数ブログで静的書き出しを行う場合、画像やファイルが消えてしまう可能性があるので、当てはまる方はアップデート対応をお願いいたします。

CMS-5968 読者関連の文言調整

権限の「読者」と、機能の「読者登録機能」の表記ゆれを修正いたしました。
名称のみの変更となります。これに伴う仕様の変更などはございません。

修正例

  • 購読者 -> 読者
  • 購読者権限 -> 読者権限
  • 購読者機能 -> 読者登録機能
  • 読者機能 -> 読者登録機能

CMS-5966 CMS-5967 X-Forwarded-Forで、ポート指定がある場合、正常に接続元アドレスを認識できない問題を修正

ロードバランサリバースプロキシ などがある環境で、クライアントの接続元IPアドレスを取得する方法として、「X-Forwarded-For」リクエストヘッダーを参照しますが、この指定に「ポート番号」が含まれる指定の場合、正常に接続元IPアドレスが取得できておりませんでした。

X-Forwarded-For: xxx.xxx.xxx.xxx:8080

これを修正し、ポート番号付きの「X-Forwarded-For」でも正常に接続元IPアドレスを取得できるようになりました。

CMS-5891 各システムメールをHTMLメールに対応

以下システムからのメールはテキストメールでしたが、デフォルトでHTMLメールが送信されるようになりました。

  • 承認機能
  • コメント機能
  • パスワード再発行
  • システムのリストア通知
  • 読者登録機能
  • ユーザー情報の更新通知

これらの設定は「管理画面 > コンフィグ > メール設定」で変更できるようになっており、HTMLテンプレートを削除すれば、以前のテキストメールでの送信に変更できます。

CMS-5935 CMS-5974 Entry_Bodyの前後リンクで、更新順と投稿順の対応ができない問題を修正

Entry_Bodyモジュールの「前後リンク」で、ソートが「更新順」や「投稿順」だった場合、ソートに合わせて前後リンクが生成されておらず、「エントリーID」の順番でリンクが生成されていました。

これを修正しソートが「更新順」や「投稿順」でも、そのソート通りに「前後リンク」が生成されるようになりました。

CMS-5976 CMS-5977 Category_Listでカテゴリーをフィールドなどで絞り込み、親カテゴリーがない場合、表示が崩れや階層の絞り込みができない問題を修正

Category_Listモジュールで、カスタムフィールド絞り込みを使ってカテゴリーを絞り込んだ場合、場合によって親カテゴリーが存在しないカテゴリーが存在してしまい、表示が崩れたり、階層の絞り込みができない問題が起きてました。

これを修正し、絞り込み後、親カテゴリーが存在しないカテゴリーはリストから除外するようにいたしました。 これにより階層構造が崩れず、正常に表示ができ、階層の絞り込みも動作するようになりました。

CMS-5928 scroll-hintをv1.2.5にアップデート & config.jsにoffsetオプションを追加

組み込みJSの、テーブルレイアウトでスクロールできることを認識させる「scroll-hint」をアップデートしました。

これにより、表示されるアイコンの表示位置を調整したり、表示されるタイミングを制御できるようになります。

詳しくはドキュメントをご覧ください。
https://developer.a-blogcms.jp/document/reference/builtinjs/adjust-layout/scroll-hint.html

最後に

該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。
また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。
今後ともどうぞよろしくお願いいたします。

Ver. 2.7.25 〜 2.7.28 のカスタムフィールド画像保存で問題が見つかりました

内容

下記バージョンについて、カスタムフィールド画像の保存時にエラーがでる問題が確認されました。

対応が必要なバージョン

  • Ver. 2.7.25
  • Ver. 2.7.26
  • Ver. 2.7.27
  • Ver. 2.7.28

現象

DEBUG_MODEがONで画像のカスタムフィールドを拡大画像なしでフィールドを作った場合、 管理ページ側でエントリーを保存するとエラーが表示される。

対応方法

  • Ver. 2.7.29 以上にアップデートを行う (ダウンロード
  • 下記の修正を行う。

php/Services/Storage/Filesystem.php の changeModメソッドを以下のように変更

public function changeMod($path, $mode = null)
{
	$path = $this->convertStrToLocal($path);

	if (is_null($mode)) {
		if ($this->isDirectory($path)) {
			$mode = intval($this->directoryMod);
		} else {
			$mode = intval($this->fileMod);
		}
	}
	if ($this->exists($path)) {
		return chmod($path, $mode);
	}
	return false;
}

この度は、ご迷惑をおかけしてしまい大変申し訳ございませんでした。 今後ともa-blog cmsをよろしくお願いいたします。

Ver. 3.0.11、Ver. 2.11.50 リリースのお知らせ


この記事では、2022年6月8日にリリースしたVer. 3.0.11、Ver. 2.11.50 の修正内容について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 3.0.11 リリースノート

  • CMS-5998 プレビューの共有機能をスタンダードライセンスから使えるように変更
  • CMS-5958 User-Agent Client Hints によるUA判定に対応 & ルールからiPad判定を削除
  • CMS-5984 「余分な空白の削除」オプションが正しく動作しない問題を修正
  • CMS-5986 コンフィグ > API設定で設定の保存が成功した場合に表示されるメッセージを「出力設定を保存しました」→「API設定を保存しました」に変更
  • CMS-5989 PHP8.0 環境で関連エントリーを複数追加して保存すると、エラーが出る問題の修正
  • CMS-5991 メディアユニットのファイルのキャプションが、静的書き出しした際に中央寄せになってしまう問題を修正
  • CMS-5993 Category_Listで下階層のみに設定するとPHPエラーが出てしまう問題を修正
  • CMS-6000 ページネーションのページが飛ぶ箇所(例 ...)がページが連続していても出てしまう問題を修正
  • CMS-6001 フォームのメールアドレス重複禁止オプションがうまく動作していない問題を修正
  • CMS-6003 表示時に出来るだけ、画像ファイルへのアクセスをしないように修正(パフォーマンス改善)
  • CMS-6005 システム系のメールで、デバッグモードがONだと、グローバル変数が解決されない問題を修正

Ver. 2.11.50 リリースノート

  • CMS-5959 User-Agent Client Hints によるUA判定に対応 & ルールからiPad判定を削除
  • CMS-5985 「余分な空白の削除」オプションが正しく動作しない問題を修正
  • CMS-5990 関連エントリー保存時の重複チェックが機能しない問題の修正
  • CMS-5992 メディアユニットのファイルのキャプションが、静的書き出しした際に中央寄せになってしまう問題を修正
  • CMS-5995 Category_Listで下階層のみに設定するとPHPエラーが出てしまう問題を修正
  • CMS-6002 フォームのメールアドレス重複禁止オプションがうまく動作していない問題を修正

主なリリースノートの詳細な内容

CMS-5993 Category_Listで下階層のみに設定するとPHPエラーが出てしまう問題を修正

モジュールIDの設定で、階層を「下階層のカテゴリーのみを対象とする(descendant)」と設定していた場合に、以下のPHPエラーが表示されページが正常に表示されない問題を修正しました。

エラーメッセージの内容

Undefined array key "category_indexing" in /var/www/html/git/ablogcms/php/ACMS/GET/Category/List.php line: 108

以上のエラーメッセージが発生してしまいページが正常に表示されていない場合は、アップデートをお願いいたします。

CMS-6000 ページネーションのページが飛ぶ箇所(例 ...)がページが連続していても出てしまう問題を修正

たとえば以下の画像のように、本来であればページネーションの表示としては5ページ目を現在している場合は「1,2,3,4,5」と連続して数字が続くべきところが「1 ... 2,3,4,5」という風に「...」が入ってしまうという問題を修正しました。


「1 ... 2,3,4,5」と表示されてしまっているページネーション

該当の問題が発生しているページネーション


同じ問題が発生している場合は、アップデート後、omitBeforePageとomitAfterPageブロックを記述してください。

新しく追加したomitBeforePageとomitAfterPageブロックについて

この問題に対応をするために、新しくomitBeforePageとomitAfterPageブロックが以下のビルトインモジュールに追加されました。

  • Entry_Body
  • Entry_GeoList
  • Entry_Headline
  • Entry_Summary
  • Unit_List
  • User_GeoList
  • User_Search

omitBeforePageとomitAfterPageブロックを追加したページャーのスニペット一部は以下のようになります。

<!-- BEGIN backLink --><li><a href="{url}" aria-label="前へ" class="pager-link"><span aria-hidden="true">&laquo;</span></a></li><!-- END backLink -->
<!-- BEGIN firstPage:veil --><li {pageCurAttr}[raw]><span><a href="{firstPageUrl}" class="pager-link">{firstPage}</a></span></li><!-- END firstPage:veil -->
<!-- BEGIN omitBeforePage --><li>...</li><!-- END omitBeforePage -->
<!-- BEGIN page:loop --><li{pageCurAttr}[raw]><span><!-- BEGIN link#front --><a href="{url}" class="pager-link"><!-- END link#front -->{page}<!-- BEGIN link#rear --></a><!-- END link#rear --><!-- BEGIN glue --><!-- END glue --></span></li><!-- END page:loop -->
<!-- BEGIN omitAfterPage --><li>...</li><!-- END omitAfterPage -->
<!-- BEGIN lastPage:veil --><li{pageCurAttr}[raw]><span><a href="{lastPageUrl}" class="pager-link">{lastPage}</a></span></li><!-- END lastPage:veil -->
<!-- BEGIN forwardLink --><li><a href="{url}" aria-label="次へ" class="pager-link"><span aria-hidden="true">&raquo;</span></a></li><!-- END forwardLink -->

CMS-6001 フォームのメールアドレス重複禁止オプションがうまく動作していない問題を修正

フォームIDから「メールアドレスの重複禁止(duplication)」のバリデーターを設定した場合、すでに登録されているメールアドレスからフォームを送信してもバリデーターが動作せず、そのままフォームを送信できてしまう問題が発生しておりました。

この問題を修正し、フォームIDに「メールアドレスの重複禁止(duplication)」を設定していた場合、すでに登録されているメールアドレスでフォームを送信するとバリデーターが動作するようになりました。

CMS-5998 プレビューの共有機能を全てのライセンスから使えるように変更


モーダルが表示されて、確認用リンクを取得するボタンが大きく表示されているスクリーンショット

プレビューの共有機能


以前からプロフェッショナル・エンタープライズライセンスで提供していた「プレビューの共有機能」がすべてのライセンスで使用できるようになりました。プレビューの共有機能は、確認用リンクを発行してプレビュー状態を他の人に共有する機能です。

プレビューの共有機能の詳細の使い方については、マニュアルの記事をご覧ください。

CMS-5958 User-Agent Client Hints によるUA判定に対応 & ルールからiPad判定を削除

Google Chrome を中心に、User Agent を削除する動きがございます。これに対応するため、新しい仕様である「User-Agent Client Hints」に対応いたしました。 特に ルールやグローバル変数 の使い方に変更はございませんので、特に意識することはございません。

参考サイト: https://tech.drecom.co.jp/ac2021-client-hints-update/

ただし iOS 13以上のSafari の場合、UserAgentが変更になり、iPadと判定できなくなりました。
Safariは「User-Agent Client Hints」に未対応のため、今回の対応でも判定することは出来ませんのでご注意ください。
これにより、ルールのUser Agent選択肢から、iPadを削除させていただきました。

最後に

該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。
また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。
今後ともどうぞよろしくお願いいたします。