AEM開発者ブログ by YAMATO

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

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

AEM Developerの皆様、お元気ですか?

大和の蒲生です

今回はSlingフレームワークの軸といっても過言ではないSling Resource Merger[^0]を中心にAEMの基本機能のカスタム手法であるOverlayとコンポーネント開発には欠かせないOverrideのメカニズムについてまとめていきたいと思います![^1]

AEM開発に携わっていたら、1番と言っていいほど多く利用するこのメカニズムを深く理解する一助になれれば嬉しいです!

ブログの目的

このブログを読むことで、次のことができるようになります。

  • Sling Resource Mergerについて説明する。

  • Sling Resource Mergerが提供する役立つプロパティを列挙する。

  • OverlayとOverrideの違いについて説明する。

  • どうして/libs配下を直接編集してはいけないかの理由について説明する。

  • Overlayの利点を列挙する。

続きを読む

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

AEM Developerの皆様、お元気ですか?

大和の蒲生です

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

私が思う簡単な方法の一つとして、Gmailアカウントを利用する方法があります。

今回は、GmailアカウントをSMTP(送信メール)サーバーとして利用した、ワークフローの完了を通知する方法についてまとめます! [^1]

続きを読む

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

AEM Developerの皆さん、こんにちは、大和の蒲生です。

突然ですが、クイズです!

下記のClientlibsがあったとします。

f:id:yamato_tech:20200422174602j:plain:w300
各Clientlibsフォルダのプロパティ設定値は下記です。

/ale
- allowProxy Boolean = true
- categories String[] = brewery.ale
- dependencies String[] = brewery.lagar, brewery.pilsner
/lagar
- allowProxy Boolean = true
- categories String[] = brewery.lagar
/pilsner
- allowProxy Boolean = true
- categories String[] = brewery.pilsner
- embed String[] = brewery.stout
/stout
- allowProxy Boolean = true
- categories String[] = brewery.stout

下記のようなHTMLの場合、

<sly data-sly-use.clientlib="/libs/granite/sightly/templates/clientlib.html">
    <sly data-sly-call="${clientlib.css @ categories='brewery.ale'}"/>
</sly>

JSPであれば、

<ui:includeClientLib categories="brewery.ale" />

下記A~Eうち、どれがレンダリング結果として出力されるでしょうか?

続きを読む

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

こんにちは、大和株式会社の青葉です。

普段のAEMプロジェクト以外にも、Adobe Digital Learning Services(ADLS)が提供している定期コース(AEM Sitesユーザーコース、AEM Sites開発コース)のトレーナーを担当しております。

コロナの影響もあり、自室に籠る時間が長くなったためか、学習も捗るなぁと感じます。宇宙ステーション生活はしばらく続きますが、環境の有効活用で乗り越えます!

最近は CI/CD 分野にも興味を持ち始めたので、手当たり次第に冒険中です。どうぞよろしくお願いいたします。

CONGAとは?

今回みなさんにご紹介するのは、コンフィギュレーション ジェネレータ ツール「CONGA」(コンガ)です!

続きを読む

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

f:id:yamato_tech:20200316171211p:plain

こんにちは、大和株式会社の浅尾です。

みなさん、ACS AEM Commonsはご存知でしょうか?

ACS AEM Commonsとは、Adobe Consulting Serviceが提供するオープンソースの便利ツール群のことで、
AEMインスタンスにパッケージをインストールすれば、

などなど、細かく分けると100個以上の便利ツールが使えるようになります。

続きを読む

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

こんにちは!大和株式会社の蕪山です。

ウェブサイト作成において、多言語対応という課題はどんなクライアント様でも避けて通れない課題だと思います。AEMには、i18n、Live Copy / Language Copy、翻訳プロジェクトといったサイトの多言語対応をサポートしてくれる多数の機能があります。

しかし、細かなユースケースに沿った実装方法や、特に日本語に特化したような実例についてはなかなか情報が少ないのが実情です。。。そこで今回は、「ページの言語によって日付フォーマット変更する」ベストプラクティスを紹介したいと思います。

続きを読む

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

こんにちは、大和株式会社の浅尾です。
今回は開発者ブログの記念すべき第一回目ということで、開発環境の構築手順を紹介します。

Eclipseを使った開発環境の構築手順が書かれた公式のドキュメントはあるのですが、
正直、Eclipseは重すぎて耐え難い!ので、ここではVisual Studio Codeを使った開発環境の構築手順を紹介します。

以下の手順で

  • HTLファイル(JSPも)・JCRノード・バンドルの同期
  • バンドルのデバッグ

などができるようになります。

続きを読む