ブログ

日々の出来事

このエントリーはa-blog cms Advent Calendar 2025の21日目の記事です。

11月21日に開催された「a-blog cms Training Camp 2025」でご紹介させていただいた、弊社が開発している「SWIPE LP」テーマを制作する際に、アップロードした動画のposter画像を生成する方法を考えましたので、ご紹介させていただこうと思います。

「SWIPE LP」テーマとは


「SWIPE LP」テーマとはスマートフォンでの操作に最適化された、スワイプ形式のランディングページ用テンプレートです。1画面ずつ情報を見せる構成なので、ストーリーに沿ってスムーズに閲覧していただける点が特徴となります。離脱を抑えながら最後まで読み進めてもらいやすく、SNSのような操作感から若年層やスマートフォン利用が中心のユーザーと相性の良い形式です。

スマートフォンの場合は、真ん中のスライド部分が表示され、左右カラムの情報はメニューの中に格納されます。PCの場合は、真ん中の部分がスワイプ可能で、左右カラムの情報は固定で表示されます。

1枚のカード(コンテンツ)はエントリーで構成されており、動画・画像・ブロックエディタがレイヤー構造になっています。この様なエントリーを複数並べることで、LPページを構成する少し変わったテーマになります。

・「SWIPE LP」テーマ サンプルサイト
https://www.ideasource.jp/swipelp/

アップロードした動画からposter画像を生成する

では、早速ですが動画のカスタムフィールドの設定から、poster画像の生成まで、順番にご説明させていただきます。
最後にまとめたコードも一式掲載をしておきますので、ぜひチェックしてみてください。

エントリーの編集画面

動画用メディアカスタムフィールド、プレビュー用<video>タグ、poster用画像カスタムフィールドの設置

a-blog cmsの仕様では、メディアのカスタムフィールドに動画をアップロードすると、エントリー編集画面には「動画アイコン」が表示され動画自体は表示されませんが、今回の処理ではposter画像を生成するために動画自体を利用する必要がありますので、ファイルをアップロードするカスタムフィールドに加えて、動画のプレビューも設置が必要となります。

まずはエントリーの編集画面に必要な下記の3つ要素を追加します。
  • 動画アップロード用のカスタムフィールド(メディア)
  • 動画プレビュー用の<video>タグ
  • poster画像用のカスタムフィールド(画像)
操作の流れ
  1. 動画ファイルをメディアで登録しエントリーを保存します。
  2. 再度エントリーの編集画面を開くとプレビュー箇所に動画が表示されます。
  3. プレビュー動画の下にある「動画からポスター画像を生成」ボタンを押すと、jsの処理が動いてposter用の画像がカスタムフィールドの値に設定されます。(動画の1フレーム目をキャプチャして画像を生成します)
  4. その状態でエントリーを保存するとposter画像がカスタムフィールドに登録されます。



poster画像の生成は「動画からポスター画像を生成」ボタンをクリックすると、プレビュー用の動画からcanvas機能を使いpngファイルを生成します。



生成されたpngファイルは、そのままposter画像用のカスタムフィールドに値が設定されます。設定の処理が終わったら説明文言が切り替わりますので、その状態で「保存」をしてください。ちなみに生成されたposter画像は画面に表示させたくないため(プレビューと同じ画面なので)、cssで非表示にしています。



poster画像が設定されている状態で、エントリー編集画面を開くと「ポスター画像は登録されています。」に表示が切り替わります。この状態になっていたらエントリーの編集画面への実装は完了となります。poster画像を作り直したいときは、一度「ポスター画像を削除」にチェックを入れてエントリーを保存してから、再度エントリーの編集を行なってください。

エントリー編集画面のテンプレートの記述

エントリーのカスタムフィールドの設定とposter画像の設定をおこなっています。poster画像は軽量にするために横幅を200pxにしていますがお好みで変更してください。要素のIDなども自由に変えていただいてOKですが、jsと関連付いている所がありますのでご注意ください。また、jsをhtmlのテンプレートに直接記述する場合は「{}」にエスケープが必要な場合があります。ご利用のテンプレートに合わせて調整してください。

■ エントリー編集画面のカスタムフィールド

<table class="acms-admin-table-admin-edit cstm-admin-table-admin-edit">
	<tbody>
		<tr>
			<th>
				<span>動画</span>
			</th>
			<td>
				<div class="acms-admin-flex-column" id="swipelp-movwrapper">
					<div class="js-media-field" id="swipelp-moviewrapper">
						<div class="js-droparea" data-thumbnail="{swipelp_video@thumbnail}" data-type="file" data-thumbnail-type="{swipelp_video@type}" data-width="200px" data-height="200px"></div>
						<p class="js-text acms-admin-text-danger" style="display:none">許可されていないファイルのため挿入できません。</p>
						<div class="acms-admin-margin-top-mini">
							<button type="button" class="js-insert acms-admin-btn" data-type="file">メディアを選択</button>
						</div>
						<input type="hidden" name="swipelp_video" class="js-value" value="{swipelp_video}" />
						<input type="hidden" name="field[]" value="swipelp_video" />
						<input type="hidden" name="swipelp_video:extension" value="media" />
					</div>
				</div>

				<div class="acms-admin-flex-column cstm-movie-box">
					動画プレビュー<br>
					<video src="%{ARCHIVES_DIR}{swipelp_video@path}" controls
					mutedcontrolslist="nodownload"id="swipeli_video" class="acms-admin-img-responsive" width="200px"></video>
				</div>

				<div class="cstm-movie-box">
					ポスター画像は登録されています。<br>
					<div class="acms-admin-form-checkbox">
						<input type="checkbox" name="swipelp_video_image@edit" value="delete" id="input-checkbox-posterImg-delete" />
						<label for="input-checkbox-posterImg-delete">
							<i class="acms-admin-ico-checkbox"></i>
							ポスター画像を削除
						</label>
					</div>

					<img src="%{ARCHIVES_DIR}{swipelp_video_image@path}" class="js-img_resize_preview" alt="{swipelp_video_image@alt}" style="display:none" />
					<input type="hidden" name="swipelp_video_image@old" value="{swipelp_video_image@path}" />
				</div>
				<div class="cstm-movie-box">
					<a href="javascript:void(0);" onclick="generatePoster()" class="acms-admin-btn" style="width:200px;margin: 0.5em 0;padding:0.5em;">動画からポスター画像を生成</a><br>
					<div id="posterImageView">ポスター画像が登録されていません。<br>生成ボタンを押して画像を設定してください。</div>
					<div id="posterImageView-all" style="display:none">ポスター画像が設定されました。<br>エントリーを『保存』してください。</div>
				</div>
				<canvas id="canvas" style="display: none;"></canvas>
				<img id="posterImage" alt="Generated Poster" style="display: none; max-width: 200px;">
				<input type="file" name="swipelp_video_image" size="20" class="js-img_resize_input" id="swipelp_video_image_poster" style="display:none" />
				<input type="hidden" name="field[]" value="swipelp_video_image" />
				<input type="hidden" name="swipelp_video_image:extension" value="image" />
				<input type="hidden" name="swipelp_video_image@width" value="200" />
				<input type="hidden" name="swipelp_video_image@filename" value="" />
			</td>
		</tr>
	</tbody>
</table>

続いてjavascriptの処理になります。
こちらがプレビュー用の動画から、動画の1フレーム目をcanvasを利用してpngにし、画像のカスタムフィールドに値をセットする処理になります。
poster画像のカスタムフィールドの種類を、メディアではなく画像のカスタムフィールドにしている理由は、画像のカスタムフィールドではカスタムフィールドの<input>に値が設定されていれば、エントリー保存時に画像のアップロードが出来ますので、今回の様な処理の中でも簡単に実装が可能になります。

■エントリー編集画面のjavascript

<script>
const video = document.getElementById('swipeli_video');
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
const posterImage = document.getElementById('posterImage');
const hiddenInput = document.getElementById('swipelp_video_image_poster');
const posterImageView = document.getElementById("posterImageView");
const posterImageViewAll = document.getElementById("posterImageView-all");

function generatePoster() {
	// readyStateが1 (HAVE_METADATA) 未満の場合、メタデータが読み込まれていない
	if (video.readyState < HTMLMediaElement.HAVE_METADATA) {		
		// loadedmetadataイベントを一度だけ待ち、読み込み完了後にgeneratePosterを再実行
		video.addEventListener('loadedmetadata', generatePoster, { once: true });
		return;
	}
	
	// seekedイベントの二重登録を防ぐため、一度解除
	video.removeEventListener('seeked', onSeeked);
	
	// seekedイベント登録
	video.addEventListener('seeked', onSeeked, { once: true });
	
	// 1秒目にシーク
	video.currentTime = 1;
}

// seekedイベントの処理(修正版)
function onSeeked() {
	// 元の動画サイズ
	const originalWidth = video.videoWidth;
	const originalHeight = video.videoHeight;
	
	// 縮小後の幅を200pxに固定
	const targetWidth = 200;
	const scale = targetWidth / originalWidth;
	const targetHeight = originalHeight * scale;
	
	// キャンバスサイズを設定
	canvas.width = targetWidth;
	canvas.height = targetHeight;
	
	// 動画フレームを縮小して描画
	ctx.drawImage(video, 0, 0, targetWidth, targetHeight);
	
	// Blobとしてエクスポート(PNG形式)
	canvas.toBlob((blob) => {
		// Fileオブジェクトを作成(ファイル名を指定)
		const file = new File([blob], 'poster.png', { type: 'image/png' });
		
		// DataTransferを使用してFileListを作成
		const dataTransfer = new DataTransfer();
		dataTransfer.items.add(file);
		
		// input[type="file"]のfilesプロパティに設定
		hiddenInput.files = dataTransfer.files;
		
		// 変更イベントを発火
		hiddenInput.dispatchEvent(new Event('change', { bubbles: true }));
		
		// プレビュー表示(Blob URLを使用)
		const blobUrl = URL.createObjectURL(blob);
		posterImage.src = blobUrl;
		
		// メモリリーク防止
		setTimeout(() => URL.revokeObjectURL(blobUrl), 10000);
		
		// posterImage要素のスタイルを設定
		if (posterImageView) {
			posterImageView.style.display = "none";
		}
		
		// posterImage-all要素のスタイルを設定
		if (posterImageViewAll) {
			posterImageViewAll.style.display = "block";
		}
	}, 'image/png', 0.95);  // 品質を95%に設定
}
</script>

エントリーの表示画面

poster画像のパスは%{ARCHIVES_DIR}になります。動画ファイルに使っているメディア用の%{MEDIA_ARCHIVES_DIR}と間違えない様にしてください。poster画像の設定は、画像ファイルの設定がある場合のみ出力する様にしています。

■ エントリーの表示画面

<!-- BEGIN_IF [{swipelp_video@type}/eq/file] -->
	<video src="%{MEDIA_ARCHIVES_DIR}{swipelp_video@path}"<!-- BEGIN_IF [{swipelp_video_image@path}/nem] --> poster="%{ARCHIVES_DIR}{swipelp_video_image@path}"<!-- END_IF --> preload="none" class="acms-top-0 acms-left-0 acms-z-0" width="100%" height="100%" loop autoplay muted playsinline></video>
<!-- END_IF -->

まとめ

カスタムフィールドでアップロードした動画ファイルの1フレーム目から、poster画像を設定する方法を考えてみました。
動画はYouTubeにアップロードをする事で手間を省くことも多いですが、自サーバにアップする際にはposter画像のことも考えなくてはいけない場合があると思います。そんな時には、是非こちらの内容を参考にしていただけると幸いです。

今回も少し変わった内容だったかもしれませんが、実際の案件にも使えると思います。
今後もこの様なTIPSもご紹介させていただきますので、皆さまのa-blog cmsでのサイト制作に役立てていただければ幸いです。
では皆さま、良いクリスマスを、そして良いお年をお迎えください。


a-blog cms Training camp 2025

年に1度のa-blog cmsのビッグイベント「a-blog cms Training Camp」

2025/11/21に名古屋で開催された「a-blog cms Training Camp 2025」に参加してきました。
a-blog cms Training Campは、年に1度a-blog cmsのユーザーが全国から集まる非常に大きなイベントです。

今回は9月にリリースされたVer3.2の情報が盛りだくさんで、登壇された方々の事例やノウハウの紹介、twigテンプレートの実装方法、そして進化が止まらないAiの利用方法など、a-blog cmsを取り巻くWeb業界のトレンドを踏まえた新鮮な話題で盛り上がりました。

当日スピーカーとして20分ほどの枠で登壇させていただきました


今回は「少し変わったテーマ制作に役立ったver3.2の新機能」というテーマで、現在弊社で開発している a-blog cms ver3.2 の新機能を活用した、オリジナルテーマ開発の話題で登壇させていただきました。

こちらのテーマは「SWIPE LP」としてスマートフォンでの利用をメインとしたシンプルな構造になっており、1エントリーを1画面(1枚のカード)のコンテンツとして捉えて構成していき、スワイプでスライドしながら閲覧をするという少し変わったテーマとなります。

テーマで利用したver3.2の新機能

ブロックエディタの導入

スマートフォンをメインとした1画面ごとのカードで構成したシンプルなテーマのため、エントリーの入力形式もシンプルにするために、ブロックエディタを導入しています。エントリーのユニット構造がa-blog cmsの特徴ではあるのですが、ブロックエディタをカスタムフィールドで必要な箇所に設けることで、シンプルながらも画像/見出し/本文などのレイアウトが簡単に組めますので、非常に操作性が良く分かりやすい入力インターフェイスが実現できました。

フォームでhtmxの利用

htmxの利用が簡単になったver3.2の特性を活かして、お問合せの流れ「入力→確認(エラー)→送信完了まで」をその場で完結できる様にカスタマイズしてみました。今回はフォームでの利用ですが、htmxは画面遷移のストレスが減りユーザーの利用体験が向上しますので、ぜひ色々な箇所で取り入れてみたい機能です。


発表の後、皆様からご質問やご感想をいただき、お答えしながら私自身も非常に勉強になりました。こちらのテーマは今後も開発を進めていき、何らかの形で世に出したいと思っておりますので、ぜひ暖かく見守っていただけますと幸いです。現在開発中で完成はしておりませんので、今後変わっていく可能性はございますが、下記にサンプルサイトをご用意しておりますので、宜しければぜひご覧ください。

・SWIPE LPテーマ(今後1ヶ月ほどは公開しておきます)
https://www.ideasource.jp/swipelp/

・当日発表したスライド
少し変わったテーマ制作で役立ったver3.2の新機能


当日開催されたセッション

有料のリアルイベントということですので、こちらでは個々のセッション内容の詳細は省略させていただきます。非常に有益なものばかりで、休憩を挟みながらも約5時間の長丁場でしたが、セッションの内容はもちろん参加者の皆さんが集中をしながら情報収集をされている姿をみて、今回も非常に刺激をいただきました。

セッション内容

・実案件で失敗しない a-blog cms v3.2 へのアップデート術
 宇井 陸登 さん / 有限会社アップルップル

・Web業界以外の人に、a-blog cms 3.2をおすすめしてみる(できるか?)
 坂本 邦夫 さん / フォルトゥナ

・a-blog cmsで考えるレイアウトと文字組み
 石川 寿刀 さん / Letoro* Design

・a-blog cms cloud のサービス開始
 平山 智則 さん / アルブストリクス株式会社
 永富 敬千 さん / 有限会社アップルップル

・イベントサイトで今週のイベントを表示する
 入交 昭 さん / HOOP Design

・FullCalendarを利用したイベントカレンダーの実装
 小澤 琢磨 さん / 株式会社あんどぷらす

・少し変わったテーマ制作に役立ったver3.2の新機能
 新 謙二 / 株式会社アイデアソース

・a-blog cms Ver. 3.2 の V2モジュールと Twig記法を導入してみて
 菅原 彩 さん / 有限会社アップルップル

・Twigでパワーアップした校正オプション
 田村 章吾 さん / ましじめ株式会社

・生成AIにa-blog cmsのテーマを作らせてみた
 たにぐち まこと さん / H2O space

・a-blog cmsについて質問ができるAIをgeminiのgemという機能を使って作ってみた件
 三ツ石 皓太郎 さん / 株式会社ヘルツ

・a-blog cms x MCP 試してみた
 伊藤 淳 さん / 有限会社アップルップル

セッションのより詳細な内容は下記のページに記載がございますので、興味がある方はぜひご確認ください。
開発元のアップルップルさんや、実際のユーザーの皆さんと直接会って話す機会は大変貴重です。

a-blog cms Training Camp 2025(DoorKeeper)



こちらは会場で配られたa-blog cmsマークのクッキーです。
あしかクッキーの「オリジナルロゴクッキー」で作られたみたい。可愛くて美味しい!!

・あしかクッキーのオリジナルロゴクッキー
https://ashikacookie.com/


イベント終了後は懇親会へ


懇親会へ

イベント終了後は、前回のcontents.nagoya 2025の時と同様に「シルクロード 名古屋駅店」へ行き、イベントに参加された皆さんとの懇親会になりました。食事・お酒をいただきながら楽しい打ち上げです。登壇の準備と役割を終えてホッとした気持ちもあり、普段より開放気分一杯で楽しませていただきました。

沢山おしゃべりをしつつ、勉強になりそして楽しい時間を過ごさせていただきました。
ご一緒させていただいた皆さまありがとうございました。


最後に

今年また大きな進化を遂げたa-blog cmsですが、今後この新しい機能を活用できると思うとワクワクします。
また、今回のセッションでAiの話題が沢山ありましたとおり、今後a-blog cms + Aiの組み合わせた活用方法が、どんどん広がっていくことが期待できるイベントでした。これからの進化が本当に楽しみです。

弊社ではa-blog cmsを利用したWebサイト制作やSEO対策、Web Vitalsの改善、Webマーケティング施策はもちろん、a-blog cmsの機能を利用した社内システムによる業務改善・情報ツールとしての活用なども考えておりますので、ぜひa-blog cmsを利用した取り組みに興味がございましたらお気軽にご相談ください。どうぞ宜しくお願いいたします。

a-blog cmsをお勧めする理由
a-blog cms公式サイト
a-blog cms Training Camp 2025(DoorKeeper)


Youtubeチャンネル「アイデアソースの小さなつづら」を更新いたしました。
今回は先日公開されたa-blog cms ver.3.2.0 RC版をご紹介します!そして…ついにアイデアソースの新プロジェクトが始動します!!開発中の中身をチラ見せしますので、ぜひお楽しみください。

祝 a-blog cms Ver.3.2.0 RC版公開!そして弊社の新プロジェクトも始動します!

【動画の目次】
00:00 a-blog cms 3.2.0 RC版のご紹介
18:07  アイデアソース新プロジェクト始動のご報告

【動画内でご紹介したもの】
・a-blog cms Ver. 3.2.0 RC版 を公開しました
https://developer.a-blogcms.jp/blog/changelog/acms-302rc.html

・Ver. 3.2.0 RC版を試す方法(ablogcms.io で簡単に試す)
https://www.ablogcms.io/v32-rc/

この動画が少しでも何かのお役に立てれば幸いです。宜しくお願いいたします。



「アイデアソースの小さなつづら」では、弊社が愛用しているa-blog cmsのお話や、アプリやハードウェアの紹介、写真・動画(カメラやレンズ)のお話など、作業の合間に息抜きで見ていただける様な手軽な話題をご紹介していきます。


Youtubeチャンネル「アイデアソースの小さなつづら」を更新いたしました。
今回は2025/6/28(土)に名古屋で開催された「contents.nagoya 2025」に行ってきましたので、感想と交えた雑談トークの回になります。

多くのセッションと企業ブースも出展し、Web業界の今を体感できる楽しい一日になりました!!

contents.nagoya は2018年から始まったWebに関わるクリエイター・企業に向けたイベントです。現在Web業界で活躍されている方のセッションや、CMSなどを開発している様々な企業、レンタルサーバ会社などのブースが出展され、参加費は無料で出入り自由でした。

当日は300人以上の申し込みがあった様で、大変盛り上がっておりました。久しぶりに会う方々とご挨拶をしたり、セッションを聞きながら勉強をしたり、ブースでは最新サービスをチェックしたりと、丸一日楽しめる充実したイベントになりました。

今回お話しさせていただいた皆さま、ありがとうございました。
参加された皆さまもお疲れさまでした!

そして開催されたアップルップル社の皆さま、当日スタッフの皆さま、登壇された皆さま、ブース出展された皆さま、素晴らしいイベントをありがとうございました。

・contents.nagoya 2025
https://contents.nagoya/

※アイデアソースは contents.nagoya 2025 に協賛しております

この動画が少しでも何かのお役に立てれば幸いです。宜しくお願いいたします。



「アイデアソースの小さなつづら」では、弊社が愛用しているa-blog cmsのお話や、アプリやハードウェアの紹介、写真・動画(カメラやレンズ)のお話など、作業の合間に息抜きで見ていただける様な手軽な話題をご紹介していきます。



ついにa-blog cmsの次期バージョンの全貌が判明。Ver.3.2.0 RC版が公開されました

以前からa-blog cms Ver3.2の開発について、勉強会などで新機能のお話は伺っており、まだかまだかと楽しみにしていました。
当初は今年の春頃にリリース予定だった記憶がありますが、新機能の実装やUIの改善など非常に多くのアップデートを含んでいるためこの時期にずれ込んでしまった様です。

現在はRC版ということで、ここからは機能などについては変更をせずに、正式版リリースに向けて調整をされていくとになるのだと思います。正式版のリリースは9月上旬とのことであと少しです。待ち遠しいですね。

弊社はa-blog cmsのビジネスパートナー(そしてエキスパート)として、魅力ある製品を利用できることの方が、お客様にとって価値があると思っていますので、多少のリリース時期のずれは気にしておりませんでした。しかし実際に全貌が見えてくるとその期待感は大きく「早く試してみたい、早く実務で使いたい」という欲(希望)が湧いてきます。

a-blog cms Ver.3.2.0のここが凄い

では、気になる新機能や変更点などをご紹介させていただきます。
下記はa-blog cmsオフィシャルサイトにて公開されている情報になりますので、詳細が知りたい方はオフィシャルサイトの「a-blog cms Ver. 3.2.0 RC版 を公開しました」をご覧ください。

・a-blog cms Ver. 3.2.0 RC版 を公開しました
https://developer.a-blogcms.jp/blog/changelog/acms-302rc.html

a-blog cms Ver.3.2.0の新機能

  • 標準テーマを刷新(site, beginner, develop)
  • ブロックエディターの追加
  • Twigを利用できるテンプレート機能を追加
  • グループユニットを追加
  • jpeg・png 画像をWebP画像に変換するオプションを追加
  • 自動オンラインアップデート機能を追加
  • WordPress eXtended RSS(WXR)形式でのエクスポート機能を追加
  • ストレージをローカルではなくAWS S3に保存できる仕組みを用意
  • 組み込みJSに「htmx」を追加
  • Vite 連携機能を追加

a-blog cms Ver.3.2.0ではa-blog cmsの最大の特徴であるエントリーのユニットシステムに、非常に大きな機能追加があります。モダンなブロックエディタや待望のグループユニットなど、日々の更新に欠かせない編集機能の大幅な進化となります。評判の良いa-blog cmsのユニットシステムに新しい機能が追加されることで、柔軟な更新方法への対応ができますので、今後のサイト運営・更新がよりスムーズになることが期待できます。

また、管理ページのUI改善による日々のメンテナンス性の向上や、自動オンラインアップデート機能は、サイト管理者には非常に嬉しい機能になります。特に自動オンラインアップデートは、バグフィックスやセキュリティ対応として待望の機能となります。アップデート対象はパッチバージョンのみとなりますので、安心してご利用いただけるのではないでしょうか。(ただし、万が一のアップデート時の事故を避けるために、弊社では月額でサイト管理作業をご依頼いただけるお客様のみ、「自動オンラインアップデート」対応とさせていただこうと思っております。何卒ご理解のほど宜しくお願いいたします)

また、こちらは専門的なお話になりますが、htmxというJavaScriptを使わずにHTMLの属性を記述するだけで、AJAX通信や動的なUIの更新を可能にする軽量なJavaScriptライブラリが利用可能となりました。このライブラリを利用することで、ページの遷移時にブラウザでページを再読み込みせず、瞬時にページの一部を変更することができるので、ユーザー体験を向上することができます。Webサイト制作での大きな強みになりますので、htmx機能はどんどん利用していきたいと思っています。

上記では触れていないですが、新しいテーマ・twig対応・Webp変換など、これから使っていく中で良さを実感するものが多々あると思います。今回のアップデートはサイト運営者・管理者・制作者にとって非常に大きいものになりますので、今後も情報収集を続けていきたいと思います。

改善・修正した変更点

  • 対応PHPバージョンの変更(php8.1.0 - php8.4.x)
  • エントリ編集画面を改修
  • エントリー管理画面を改修
  • モジュール管理画面を改修
  • メイン画像にカスタムフィールドを設定できるように改善
  • WebP画像をそのままアップロードできるように改善
  • メディア機能でHEIC画像のJPEG変更に対応
  • メディア機能の代替テキストに改行が使えるように改善
  • メディア一覧の検索条件に「自分のメディアのみ表示」を追加、またファイル名検索をキーワード検索に変更
  • カスタムユニットのデータがテキスト置換の対象外になる問題を修正(シリアライズせずに保存するよう改善)
  • ログインユーザーの最終アクセス時間を、ダッシュボードおよびユーザー・会員一覧で確認可能に
  • 会員ログインに有効・無効のオプションを追加
  • 表側のエントリー編集画面を廃止し、同様の編集機能を管理画面内に移設
  • カスタムフィールドメーカを改善
  • シンタックスハイライト用のライブラリを Google Code Prettify から highlight.js に変更
  • 組み込みJSのバリデーターをアクセシビリティ対応
  • ACMS.addListener 使用時に、event.detail でカスタムイベントのデータを取得できるように
  • API機能で新しいV2モジュールに対応

新機能だけではなく既存の機能にも改修・変更が入っております。
より良いものにするための変更ではありますが、旧バージョンからのバージョンアップ時に新バージョンで利用できない機能もありますので、注意が必要な部分になります。対象は古く使われなくなった機能がメインにはなると思いますが、組み込みjsなどは一部の機能が廃止・非推奨とされる予定も聞いておりますので、アップデート時には代替え機能が必要になる部分もあるかもしれません。




最後に

今回はa-blog cms Ver.3.2.0 RC版のご紹介をさせていただきました。
非常に待ち遠しくドキドキしますが、正式版のリリースまであと少しです。
弊社のお客様はa-blog cms利用率が高いので、より良いご提案ができる様に情報収集は欠かさず行なっていこうと思います。

また、今回のa-blog cms Ver.3.2.0に合わせて、弊社でもa-blog cms Ver.3.2.0を利用した新しいサービスを予定しております。
こちらの情報もぜひ楽しみにしてお待ちください。今後ともどうぞ宜しくお願いいたします。