Sling Dynamic Include の設定
Apache HTTP Web Server 上で動作する AEM Dispatcher と Apache Sling Dynamic Include をインストールし、使用するための手順を紹介するビデオです。
-
Sling Dynamic Include バンドルをダウンロードしてインストールします。
-
http://<host>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration で OSGi Configuration Factory を介して Sling Dynamic Include を設定します。
または、AEM コードベースに追加するには、次の場所に適切な sling:OsgiConfig ノードを作成します。
code language-xml <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="sling:OsgiConfig" include-filter.config.enabled="{Boolean}true" include-filter.config.path="/content" include-filter.config.resource-types="[my-app/components/content/highly-dynamic]" include-filter.config.include-type="SSI" include-filter.config.add_comment="{Boolean}false" include-filter.config.selector="nocache" include-filter.config.ttl="" include-filter.config.required_header="Server-Agent=Communique-Dispatcher" include-filter.config.ignoreUrlParams="[]" include-filter.config.rewrite="{Boolean}true" /> <!-- * include-filter.config.include-type="SSI | ESI | JSI" * include-filter.config.ttl is # of seconds (requires AEM Dispatcher 4.1.11+) -->
-
(オプション)最後の手順を繰り返して、編集可能なテンプレートのロックされた(初期)コンテンツのコンポーネントを、SDI 経由でも提供できるようにします。追加設定の理由は、編集可能なテンプレートのロックされたコンテンツが、
/content
ではなく/conf
から提供されるためです。code language-xml <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="sling:OsgiConfig" include-filter.config.enabled="{Boolean}true" include-filter.config.path="/conf" include-filter.config.resource-types="[my-app/components/content/highly-dynamic]" include-filter.config.include-type="SSI" include-filter.config.add_comment="{Boolean}false" include-filter.config.selector="nocache" include-filter.config.ttl="" include-filter.config.required_header="Server-Agent=Communique-Dispatcher" include-filter.config.ignoreUrlParams="[]" include-filter.config.rewrite="{Boolean}true" /> <!-- * include-filter.config.include-type="SSI | ESI | JSI" * include-filter.config.ttl is # of seconds (requires AEM Dispatcher 4.1.11+) -->
-
Apache HTTPD Web server の
httpd.conf
ファイルを更新して Include モジュールを有効にします。code language-shell $ sudo vi .../httpd.conf
code language-shell LoadModule include_module libexec/apache2/mod_include.so
-
include ディレクティブを尊重するように vhost ファイルを更新します。
code language-shell $ sudo vi .../vhosts/aem-publish.local.conf
code language-shell <VirtualHost *:80> ... <Directory /Library/WebServer/docroot/publish> ... # Add Includes to enable SSI Includes used by Sling Dynamic Include Options FollowSymLinks Includes # Required to have dispatcher-handler process includes ModMimeUsePathInfo On # Set includes to process .html files AddOutputFilter INCLUDES .html ... </Directory> ... </VirtualHost>
-
(1)
nocache
セレクターをサポートし、(2)TTL サポートを有効にするように、dispatcher.any 構成ファイルを更新します。code language-shell $ sudo vi .../conf/dispatcher.any
code language-shell /rules { ... /0009 { /glob "*.nocache.html*" /type "deny" } }
note tip TIP 上記の glob *.nocache.html*
ルールで末尾の*
を省略すると、サブリソースのリクエストで問題が発生する可能性があります。code language-shell /cache { ... /enableTTL "1" }
-
構成ファイルまたは
dispatcher.any
を変更した後は、必ず Apache HTTP Web Server を再起動してください。code language-shell $ sudo apachectl restart
- "Cache-Control"
- "Content-Disposition"
- "Content-Type"
- "有効期限"
- "Last-Modified"
- "ETag"
- "X-Content-Type-Options"
- "Last-Modified"