AEM開発者ブログ by YAMATO

アドビ社のデリバリーパートナー大和株式会社のAEM開発者ブログです。

Core Component (プロローグ)

こんにちは、大和株式会社の李です。 今回の開発者ブログは「コアコンポーネント(Core Component)」について記述します。Adobeの公式ドキュメントやCore Componentライブラリの各コンポーネント紹介や構築手順を補完して、コアコンポーネントを使っていざ…

ngrokを使ってローカル環境を外部公開する

AEM Developerの皆様、こんにちは! 大和株式会社の青葉です。 今回は、ローカル環境を簡単に外部公開できる、ngrok(エングロック)というサービスについてご紹介します。 特徴 外部公開用のURLをコマンド1つで発行できる http または https で公開できる …

【詳解】"Create Site"機能を使ってサイト構造を再利用しよう

AEM Developerの皆様、こんにちは! 大和株式会社の青葉です。 今回は、既に作成したサイト構造(複数ページのまとまり)を再利用できる、"Create Site"機能についてご紹介します。 特徴 新しいコンテンツルートとしてサイト構造を作成できる 既存のコンテン…

CURLによるAEMのIndexの作成

AEM Developerの皆様お疲れさまです。AEMエンジニアの王です。 皆様ご存知のように、CURLコマンドを利用することにより、AEMのノードの作成・削除ができます。今回は、CURLコマンドでAEMのIndexを作成する方法を紹介します。 1.CURLコマンドでAEMの Index …

CPUが急に高騰!! 原因となっているJavaスレッドの特定方法

AEM Developerの皆様お疲れさまです。AEMエンジニアの王です。 実稼働環境ではAEMはLinux上で動かすことが多く、また、AEMもJavaプロセスであることから、今回はAEM運用時のトラブルシューティングとして、CPUが急に高騰の原因となっているJavaスレッドの特…

HTTP 404 エラーが発生する際にAEMのPathに対するの分岐処理

AEM Developerの皆様お疲れさまです。AEMエンジニアの王です。 Webブラウザから、サーバーにアクセスした際、ページが存在しない場合は、HTTP 404(not found)ステータスコードが返されます。今回は、HTTP 404 ステータスコードに関して、AEMのPathに対する…

AEMのタッチUIサイト一覧画面のButtonを非表示にする方法

AEM Developerの皆様お疲れさまです。AEMエンジニアの王です。 AEMのタッチUIでは、誤操作を防ぐためにクイック発行などのボタンを非表示にする必要があります。これには様々な方法がありますが、今回は属性を設定して任意のボタンを非表示にする方法をご紹…

ページコアコンポーネントの新機能:"Brand Slug"とは

AEM Developerの皆様、こんにちは! 大和株式会社の青葉です。 今回はコアコンポーネント ver. 2.14.0 で新しく追加された、ページコアコンポーネントの "Brand Slug" についてご紹介します。 一言で表すと、SEO関連の機能になります。

HTL - Display Context 記法と出力の例

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 前回の更新から時間が空いてしまいましたが、今回はDisplay Contextについて書こうと思います。 HTLに文字列を出力するときに、XSS対策に適切なエスケープをしたりしなかったりするために必要…

Sling Models vs WCMUsePojo

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 2021年初の更新となる今回はバックエンド側の実装方法であるWCMUsePojoとSling Modelsの2つの比較について行いたいと思います。 バックエンド側の実装方法にWCJUsePojoとSling Modelsの2つが存…

大和公式サイトのヘッダ開発を通してコンポーネントのバックエンド部分の開発をやってみる

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して始めた記事投稿イベント最終日です。 今日最終日の内容は、「大和公式サイトのヘッダ開発を通してコンポーネントのバックエンド部分の開発をやってみる…

HTL vs JSP

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して始めた記事投稿イベント12日目です。 今日12日目の内容は、「HTL vs JSP」です。 11日目の記事→AEM開発時に役立つサイトたちの紹介 昔はAEMの開発をして…

AEM開発時に役立つサイトたちの紹介

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して始めた記事投稿イベント11日目です。 今日11日目の内容は、「AEM開発時に役立つサイトたちの紹介」です。 10日目の記事→どう使い分ける?編集可能テンプ…

どう使い分ける?編集可能テンプレートのStructureとInitial Content

AEM Developerの皆さま、こんにちは。大和株式会社の小林です。 アドベントカレンダー10日目の今日は、編集可能テンプレートに配置するコンポーネントのStructure(構造)モードとInitial Content(初期コンテンツ)モードの使い分けについてお話しします。 9日…

ダイアログの選択肢をJSで生成する【Classic UI】

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して始めた記事投稿イベント9日目です。 今日9日目の内容は、「ダイアログの選択肢をJSで生成する」です。 8日目の記事→ローカル環境でコードが反映されない…

ローカル環境でコードが反映されない時に取る行動

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して始めた記事投稿イベント8日目です。 今日8日目の内容は、ローカル環境でコードが反映されない時に取る行動です。 7日目の記事→【AEMモダナイズ】静的テ…

【AEMモダナイズ】静的テンプレートと編集可能テンプレートの共存

こんにちは! 大和株式会社の青葉です。 アドベントカレンダー7日目は、AEMモダナイズ関連のTipsをご紹介したいと思います。 AEMのバージョンアップや新機能紹介に伴って、より最新の標準機能を使ったり、開発技法に従ったり、モダナイズしていく流れが顕著…

HTL to Java, Java to HTL

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して始めた記事投稿イベント6日目です。 今日6日目の内容は、HTL to Java, Java to HTLです。 5日目の記事→【AEM as a Cloud】ページプロパティのバルク編集…

【AEM as a Cloud】ページプロパティのバルク編集 

こんにちは! 大和株式会社の青葉です。 アドベントカレンダー5日目は、AEM as a Cloud(AACS)関連のTipsをご紹介したいと思います。 AACSになってから変わったこと 突然ですが、AACSではページプロパティのバルク編集がデフォルトで無効になっています!

前のWFプロセスで定義した値を後のプロセスで取得する方法

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して始めた記事投稿イベント4日目です。 今日4日目の内容は、前のWF(Workflow)プロセスで定義した値を後のプロセスで取得する方法についてです。 3日目の記…

【豆知識】コアコンポーネントの "trackingFeature" プロパティとは

こんにちは! 大和株式会社の青葉です。 アドベントカレンダー2020(記事投稿イベント)3日目ということで、 私からはAEM関連のちょっとしたTips(小ネタ)をご紹介します。 最近のAEM開発ではコアコンポーネントが欠かせない存在になっており、 実際にノー…

【Unit Test】JSONからResourceを作り出す

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して始めた記事投稿イベント2日目です。 今日2日目の内容は、単体テスト用のResourceをJSONから作り出す方法についてです。 1日目の記事→AEM標準APIのNPE対…

AEM標準APIのNPE対策

AEM Developerの皆様お疲れさまです。大和株式会社の狩野です。 Qiitaのアドベントカレンダーに便乗して、始めるのちょっと遅いですが大和開発者ブログでも同じような趣旨で、本日から記事投稿イベントを開催します! 1日目の内容はタイトルにもある通り、AE…

OverlayとOverrideってどう違うの? - Sling Resource Merger

AEM Developerの皆様、お元気ですか? 大和の蒲生です 今回はSlingフレームワークの軸といっても過言ではないSling Resource Merger[^0]を中心にAEMの基本機能のカスタム手法であるOverlayとコンポーネント開発には欠かせないOverrideのメカニズムについてま…

Gmailアカウントを利用してワークフローの完了を通知する - Day CQ Mail Service

AEM Developerの皆様、お元気ですか? 大和の蒲生です ワークフロー開発などを行った際に、AEMからのワークフロー完了のメール通知確認をしたいときってありますよね。 そんなとき皆さんはどんなSMTP(送信メール)サーバーを利用して挙動確認をしてますか? …

embed[ ]かdependencies[ ]か、それが問題だ。- AEM Clientlibs

AEM Developerの皆さん、こんにちは、大和の蒲生です。 突然ですが、クイズです! 下記のClientlibsがあったとします。 各Clientlibsフォルダのプロパティ設定値は下記です。 /ale - allowProxy Boolean = true - categories String[] = brewery.ale - depen…

CI/CD初心者がCONGAを使ってみたよ

こんにちは、大和株式会社の青葉です。 普段のAEMプロジェクト以外にも、Adobe Digital Learning Services(ADLS)が提供している定期コース(AEM Sitesユーザーコース、AEM Sites開発コース)のトレーナーを担当しております。 コロナの影響もあり、自室に…

ACS AEM Commons全機能ひとこと紹介

こんにちは、大和株式会社の浅尾です。 みなさん、ACS AEM Commonsはご存知でしょうか? ACS AEM Commonsとは、Adobe Consulting Serviceが提供するオープンソースの便利ツール群のことで、 AEMインスタンスにパッケージをインストールすれば、 自分が今どの…

AEMのページ言語によって日付フォーマットを変更する

こんにちは!大和株式会社の蕪山です。 ウェブサイト作成において、多言語対応という課題はどんなクライアント様でも避けて通れない課題だと思います。AEMには、i18n、Live Copy / Language Copy、翻訳プロジェクトといったサイトの多言語対応をサポートして…

Visual Studio Codeを使ったAEMの開発環境を構築する

こんにちは、大和株式会社の浅尾です。 今回は開発者ブログの記念すべき第一回目ということで、開発環境の構築手順を紹介します。 Eclipseを使った開発環境の構築手順が書かれた公式のドキュメントはあるのですが、 正直、Eclipseは重すぎて耐え難い!ので、…