BAsixs(ベーシックス)

「あたりまえ」をアップデートしつづける

ExcelとAEMで実現可能!データの一元管理で運用を楽にする方法

読了目安 : 6

  • 投稿日 :
  • 最終更新日 :

この記事を書いた人

プロフィールアイコン(写真):シニアエンジニア 今村
今村シニアエンジニア(ビジネス・アーキテクツ)

Web制作会社のエンジニアとしてシステム構築・CMS構築などを担当、システムエンジニアとして従事する。2005年よりビジネス・アーキテクツに参画。 現在はシニアエンジニアとしてエンジニアリングUNITに所属。Webシステム全般の提案・要件定義から構築・構築・品質管理など幅広く担当。プロモーションサイトからグローバル企業のホームページまで、顧客ごとに異なる機能・安全性を持ったシステム・CMSの設計・構築を行っている。

Adobe Experience Manager(以下、AEM)は、ライブコピーや言語コピーなどの機能があり、各国サイトや各言語サイトを含むコーポレートサイトを構築するのに適したCMSです。
そしてコーポレートサイトでは、自社の製品情報、特にスペック情報を表示するケースが多くあります。

本記事では、一元管理したスペック情報をExcel(スプレッドシート)で登録し、インチ対応や範囲表示(◯ mm〜◯◯ mmのような)を含めたグローバル対応の製品情報ページ(スペック表示)を、AEMテンプレートで表示する制作フローをご紹介します。
PIM(商品情報管理システム)を持っていない場合、スペック情報には、登録の効率化や一元管理によるミス低減が期待できるExcel(スプレッドシート)がおすすめです。

ExcelとAEMで実現可能!データの一元管理で運用を楽にする方法

解決すべき課題

製品情報などには、製品データ(スペック)の表示が必要です。しかし数多くある製品のスペック情報をすべてAEMのページ・テンプレートから登録するのは、非効率で入力ミスの可能性も高くなります。

AEMには、コンテンツフラグメントという機能があり、データとテンプレートを分けて管理することができます。

あらかじめ製品のスペックを登録しておき、テンプレート側に表示する製品を指定する機能を付けることで、製品情報ページ(テンプレート)にスペック情報を表示することができます。また、製品情報ページ以外のページでも、同じデータ(スペック)を参照できるため、スペック情報の一元管理も可能です。

ただコンテンツフラグメントを使う場合でも、データはコンテンツフラグメントの編集画面から1製品ずつ手動でデータを登録する必要があります。複数データのコピー&ペーストや、同じシリーズのスペック情報を比較したうえでのデータ登録はできず、効率的な運用とは言えません。

コンテンツフラグメントについての詳しい解説は、以下の記事をご覧ください。
情報とコンテンツの管理はAEMのコンテンツフラグメントで解決 | BAsixs(ベーシックス)

より効率的な運用のための解決案

Excelシートに集約した情報を、AEMのコンテンツフラグメント機能を利用してWebサイトに表示する方法

今回の事例では、Excelシートでスペック情報を登録して、それをAEMのコンテンツフラグメントにインポートするという方法をご紹介します。

使い慣れたExcelシートでスペック情報のフォーマットを作成して、製品ごとにシートを展開して登録します。登録したデータは、ツール(MCP Tools)を使ってAEMのコンテンツフラグメントにインポートします。ツールで登録するためには、人間が入力しやすいよう製品ごとにシート展開したデータを、ツール用に1つのシートに集める必要があります。これはExcelのOfficeスクリプト(マクロ)で実現します。
コンテンツフラグメントにデータをインポートできれば、あとは製品スペック表示のテンプレートで対象製品を選ぶだけです。複数のページで同じ製品スペック情報を参照することも可能です。

データを管理するにあたっては、どのデータをどこで管理するのかを決めることが重要です。データの項目ごとに管理場所、更新方法、言語コピーなどの運用を検討します。

製品スペック情報の多くの場合は、項目名(ラベル)とデータ、単位の3つに分けて考えます。
ここでは、以下のように管理を分けます。

  • 項目名(ラベル):テンプレート管理
  • データ:Excel管理
  • 単位:コンテンツフラグメント管理

項目名は言語コピーを利用して翻訳し、データはそのまま数値として利用、単位は固定ですが mm(ミリ) 系とinch(インチ)系を用意するなどの対応をしています。なお製品スペック情報の場合、mm/inchを換算した値とスペック表示値が違うケースが多くあり、単純な計算(端数処理)では導き出せないので注意が必要です。

Excelとコンテンツフラグメントを利用した運用イメージ

Excelシートの情報を、マスタデータとして運用します。つまり、Excelからコンテンツフラグメントにインポートする時は、Excelの全データをインポートし、同じ製品のスペック情報(同じIDのデータ)は、すべて上書きします。AEM側で直接コンテンツフラグメントを編集することは禁止します。仮にデータを変更したとしても、次回のインポートではExcelシートのデータで更新されてしまうためです。

Excelシートの登録(スペック情報の登録)を複数メンバーで行う場合には、Office365で共有して入れてもらいます。Excelの権限管理などを使い、登録するメンバーには、必要なシートの必要な箇所だけ変更できるように工夫すると良いでしょう。
なお、インポート時にExcelシートであれば良いので、Google スプレッドシートでデータを管理してExcel形式で出力するという運用も可能です。

図:運用イメージ

他にも、次のような運用が行えます。

  • 範囲を表示する(◯ mm〜◯◯ mmのような表示)
  • 同じ製品でも国ごとに数値を変える、国によってinch系を採用する
  • 製品ごとに表示する項目を変える(必要な項目のみ表示する)

応用及び注意点

データの削除

同じ製品の(同じIDの)データは上書き(更新)されますが、製品の削除についてはExcelシートのインポートでは実施できません。AEMの管理画面から対象製品のコンテンツフラグメントを削除する必要があります。

多言語展開(言語コピー)

コンテンツフラグメントのデータも言語コピーを使って翻訳することは可能です。しかし、スペック情報の場合は、言語コピーの利用は推奨できません。
言語コピーはまさにコピーが作られます。一度言語コピーした後で、コピー元のコンテンツフラグメントのデータを再インポートしても、言語コピーしたデータは自動では更新されません。再度言語コピーが必要になります。手間も多く、場合によっては翻訳費用もかかります。

スペック情報は基本的には数字に限定し、言語コピーを使わない運用を推奨します。先にも書きましたが、言語コピーを利用したい項目名(ラベル)の管理は、テンプレート側にする運用がおすすめです。

スペック検索

コンテンツフラグメントでは、スペック情報などの数字データを数値として管理しているので、スペック範囲を指定した製品検索画面もAEM上で実現できます。

まとめ:製品情報を多国展開・多言語展開する大きなメリットがある

今回は、Excel(スプレッドシート)で製品スペック情報を管理し、AEMで表示する方法を紹介しました。AEMで一元管理したデータを表示することは、製品情報を多国展開、多言語展開するにあたっては大きなメリットがあると考えます。

ビジネス・アーキテクツでは、AEMを利用したWebサイト構築・リニューアルを多く請け負っております。多くの経験を元に、製品情報を効率的に管理する方法やグローバル展開のご相談・ご不明点などの解決にご協力することが可能です。