出力生成設定の指定 id181AI0B0E30
AEM Guidesには、出力生成プロセスをカスタマイズするための多くの設定オプションが用意されています。 このトピックでは、出力生成プロセスの設定に役立つすべての設定とカスタマイズについて説明します。
DITA マップダッシュボードの「ベースライン」タブの設定 id223MD0D0YRM
マップダッシュボードで使用可能な「ベースライン」タブを設定したり非表示にしたりできます。
ベースライン タブを非表示にする オプションは既定では有効になっていないため、configMgr からこれを有効にする必要があります。 Web エディターでこのオプションをデフォルトで有効にするには、次の手順を実行します。
-
Adobe Experience Manager Web コンソール設定ページを開きます。
設定ページにアクセスするためのデフォルトの URL は次のとおりです。
code language-http http://<server name>:<port>/system/console/configMgr
-
com.adobe.fmdita.config.ConfigManager バンドルを検索してクリックします。
-
「ベースラインタブを非表示」オプションを選択します。
-
「保存」をクリックします。
note note NOTE この設定はデフォルトで無効になっており、マップダッシュボードで「ベースライン」タブを使用できます。
FrameMaker Publishing Serverの設定 id1678G0Z0TN6
FrameMaker Publishing Server\(FMPS\)を使用して、DITA コンテンツの出力を生成できます。 FMPS を設定すると、FMPS でサポートされている複数の形式で出力を生成できます。
FMPS を使用するようにAEM Guidesを設定するには、web コンソールで com.adobe.fmdita.config.ConfigManager
バンドルの次のプロパティを更新します。
- FMPS 2019 以前:IP アドレスまたはドメイン名
- FMPS 2020:
http://<fmps_ip>:<port>
\(http://192.168.1.101:7000\)- FMPS 2019 以前:
http://<fmps_ip>:<port>/fmserver/v1/
- FMPS 2020: 2020
- FMPS 2019 以前: 2019 または 2017 のように指定します。
デフォルト値:300 秒\(5 分\)
http://<server-name>:<port>/
のように指定します。既存のAEM サイト内で混合型公開を設定する id1691I0V0MGR
DITA コンテンツを含むAEM Site がある場合は、AEM Site 出力を設定して、DITA コンテンツをサイト内の事前定義済みの場所に公開できます。 例えば、AEM Site ページの次のスクリーンショットでは、ditacontent
ノードは DITA コンテンツを格納するために予約されています。
{width="300"}
ページ内の残りのノードは、AEM サイトエディターから直接作成されます。 DITA コンテンツを事前定義済みの場所に公開するように公開設定を指定すると、既存の非 DITA コンテンツがAEM Guides公開プロセスで変更されることはありません。
定義済みノードに DITA コンテンツを発行できるようにするには、既存のサイトで次の設定を実行する必要があります。
-
サイトのテンプレートプロパティの設定
-
サイトにノードを追加して DITA コンテンツを公開
既存のサイトのテンプレートプロパティを設定するには、次の手順を実行します。
-
AEMにログインし、CRXDE Liteモードを開きます。
-
サイトのテンプレート設定ノードに移動します。 例えば、AEM Guidesは、次のノードにデフォルトのテンプレート設定を格納します。
/libs/fmdita/config/templates/default
note note NOTE libs
ノードでデフォルトの設定ファイルをカスタマイズする必要はありません。apps
ノードにlibs
ノードのオーバーレイを作成し、apps
ノードでのみ必要なファイルを更新する必要があります。 -
以下のプロパティを追加します。
table 0-row-3 1-row-3 2-row-3 プロパティ名 タイプ 値 topicContentNode
文字列 DITA コンテンツを公開するノード名を指定します。 例えば、AEM Guidesが DITA コンテンツを公開するデフォルトのノードは jcr:content/contentnode
です。topicHeadNode
文字列 DITA コンテンツのメタデータ情報を保存するノード名を指定します。 例えば、AEM Guidesがメタデータ情報を格納するデフォルトのノードは jcr:content/headnode
です。
次のスクリーンショットは、AEM Guidesのデフォルトテンプレートノードに追加されたプロパティを示しています。
{width="800"}
次にサイトのテンプレート設定を使用して DITA コンテンツを公開すると、そのコンテンツは topicContentNode
および topicHeadNode
プロパティで指定したノードに公開されます。
ただし、既存のサイトの場合は、topicContentNode
ノードと topicHeadNode
ノードを手動で追加する必要があります。
次の手順を実行して、必要なノードを既存のサイトに追加します。
-
AEMにログインし、CRXDE Liteモードを開きます。
-
サイトノード内で
jcr:content
を見つけます。 -
サイトのテンプレート設定で指定した名前と同じ名前のノード
topicContentNode
およびtopicHeadNode
を追加します。
AEM サイト出力のカスタマイズ id166TG0B30WR
AEM Guidesでは、次の形式での出力の作成がサポートされています。
-
AEM サイト
-
PDF
-
HTML5
-
EPUB
-
DITA-OT によるカスタム出力
AEM Site 出力の場合、異なる出力タスクに異なるデザインテンプレートを割り当てることができます。 これらのデザインテンプレートは、異なるレイアウトで DITA コンテンツをレンダリングできます。 例えば、内部オーディエンスと外部オーディエンスに対して異なるデザインテンプレートを指定できます。
カスタマイズした DITA Open Toolkit \(DITA-OT\) プラグインをAEM Guidesで使用することもできます。 これらのカスタム DITA-OT プラグインをアップロードすると、特定の方法でPDF出力を生成できます。
出力を生成するためのデザインテンプレートのカスタマイズ customize_xml-add-on
AEM Guidesでは、事前定義済みの一連のデザインテンプレートを使用して、AEM Site 出力を生成します。 AEM Guidesのデザインテンプレートをカスタマイズして、企業のブランディングに合った出力を生成できます。 デザインテンプレートは、様々なスタイル \(CSS\)、スクリプト \(サーバー側とクライアント側の両方\)、リソース \(画像、ロゴ、その他のアセット\)、およびこれらすべてのリソースを結び付ける JCR ノードのコレクションです。 デザインテンプレートは、単一のサーバーサイドスクリプトと複数の JCR ノードのみで構成するか、スタイル、リソース、JCR ノードの複雑な組み合わせで構成することができます。 デザインテンプレートは、AEM サイト出力を生成する際にAEM Guides パブリッシングサブシステムで使用され、生成された出力の構造、ルックアンドフィールを制御します。
デザイン テンプレート リソースをサーバ上のどこに配置するかについては制限はありませんが、通常は機能に応じて論理的に編成されます。 例えば、デフォルトのテンプレートでは、すべてのJavaScriptと CSS ファイルがフォルダーに保存 /etc/designs/fmdita/clientlibs/siteoutput/default
れています。 これらのファイルが配置されている場所では、それらのファイルは JCR ノードのコレクションによってリンクされます。 これらの JCR ノードとファイルによって、デザインテンプレート全体が構成されます。
AEM Guidesに付属しているデフォルトのデザインテンプレートを使用すると、ランディング、トピックおよび検索ページのコンポーネントをカスタマイズできます。 デフォルトのデザインと対応する参照テンプレートのコピーを作成し、異なるコンポーネントを指定して目的の出力を生成できます。
次の手順を実行して、AEM Site 出力生成に使用する独自のデザインテンプレートを指定します。
-
AEMにログインし、CRXDE Liteモードを開きます。
-
デフォルトのデザインテンプレートノードに移動します。 デフォルトのデザインテンプレートのノードは次の場所にあります。
/libs/fmdita/config/templates/
{width="300"}
note note NOTE libs
フォルダーからapps
フォルダーに既定のデザイン テンプレートのコピーを作成し、apps
フォルダーで変更を行います。 また、デフォルトのテンプレートノードから参照されたテンプレートに変更を加える必要もあります。 参照されるテンプレートは、ノード/libs/fmdita/templates/default/cqtemplates
下に配置されます。 変更を加える前に、参照されているテンプレートのコピーをapps
フォルダーに作成します。 -
templates ノードの default コンポーネントをクリックして、そのプロパティにアクセスします。
次の表に、AEM Guidesのデザインテンプレートプロパティを示します。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 プロパティ 説明 landingPageTemplate
、searchPageTemplate
、topicPageTemplate
、shadowPageTemplate
これらの対応するページの cq:Template
ノード (ランディング、検索、トピック\)を指定してください。 デフォルトでは、これらのページのcq:Template
ノードは/libs/fmdita/templates/default/cqtemplates
ノードにあります。 このノードは、ランディングページ、検索ページ、トピックページの構造とプロパティを定義します。shadowPageTemplate
は、チャンクされたコンテンツの最適化に使用されます。 このプロパティの値を
に設定する必要があります。fmdita/templates/default/cqtemplates/shadowpage
メモtopicPageTemplate
の値を指定する必要があります。landingPageTemplate
とsearchPageTemplate
はオプションのプロパティです。 検索ページとランディングページを生成しない場合は、これらのプロパティを指定しないでください。title
デザインテンプレートのわかりやすい名前。 topicContentNode
トピックページ内の DITA コンテンツを格納するノードの場所。 パスは、トピックページを基準とした相対パスです。 topicHeadNode
DITA コンテンツから派生したヘッド値\(またはメタデータ\)を含むノードの場所。 パスはトピックページを基準とした相対パスです。 tocNode
目次を含むノードの場所。 パスは、ランディングページまたは宛先パスを基準とした相対パスです。 basePathProp
公開されたサイトのルートのパスを保存するプロパティ名。 indexPathProp
公開されたサイトのランディングページまたはインデックスページのパスを保存するプロパティ名。 pdfPathProp
トピック PDFの作成が有効な場合に、トピック PDFのパスを保存するためのプロパティ名です。 pdfTypeProp
PDFの生成のタイプを保存するプロパティ名。 現在、このプロパティには常に「トピック」が含まれています。 searchPathProp
テンプレートに検索ページが含まれている場合に、検索ページのパスを保存するためのプロパティ名。 siteTitleProp
公開するサイトのタイトルを保存するためのプロパティ名。 通常、このタイトルはパブリッシュするマップのタイトルと同じです。 sourcePathProp
現在のページのソース DITA トピックのパスを保存するためのプロパティ名。 tocPathProp
公開されたサイトの目次ルートのパスを保存するプロパティ名。
詳しくは、 最初のAdobe Experience Manager 6.3 の Web サイトの作成および 基本のAEMでの独自の Web サイトの開発を参照してください。
AEM サイト出力の生成にドキュメントタイトルを使用
AEM Site 出力を生成する場合、URL の生成方法は、コンテンツの検出性に重要な役割を果たします。 UUID ベースのファイル名を使用している場合、ファイルの UUID に基づいて URL を生成しても、検索しづらくなります。 管理者または公開者は、AEM サイト出力の URL の生成方法を制御できます。 AEM Guidesでは、UUID ベースのファイル名ではなくファイルのタイトルを使用して、AEM サイト出力の URL を生成できる設定を提供します。 デフォルトでは、UUID ベースのファイルシステムの場合、このオプションはオンになっています。 つまり、UUID ベースのファイルシステムに対してAEM サイト出力を生成する場合、ファイルのタイトルは、ファイルの UUID ではなく、URL の生成に使用されます。
AEM Site 出力を生成する場合、URL の生成方法は、コンテンツの検出性に重要な役割を果たします。 非 UUID ベースのファイルシステムの場合、AEM サイト出力は、ファイルのタイトルではなくファイル名を使用して生成されます。 管理者または公開者は、AEM サイト出力の URL の生成方法を制御できます。 AEM Guidesでは、AEM サイト出力の URL をファイル名ではなくファイルのタイトルを使用して生成するよう設定できます。 デフォルトでは、このオプションはオフになっています。 つまり、AEM サイト出力を生成する際に、ファイルのタイトルではなく、ファイル名を使用して URL が生成されます。 このオプションを有効にすると、ファイルのタイトルに基づいて URL を生成できます。
AEM Site 出力に URL の生成を設定するには、次の手順を実行します。
-
Adobe Experience Manager Web コンソール設定ページを開きます。
設定ページにアクセスするためのデフォルトの URL は次のとおりです。
code language-http http://<server name>:<port>/system/console/configMgr
-
com.adobe.fmdita.config.ConfigManager バンドルを検索してクリックします。
-
「AEM サイトページ名にタイトルを使用」オプションを選択します。
note note NOTE ファイル名を使用して出力を生成する場合は、このオプションの選択を解除します。 -
「保存」をクリックします。
トピックを作成し、AEM サイト出力を公開するためのファイル名のサニタイズルールを設定する id2164D0KD0XA
管理者は、ファイル名に使用できる有効な特殊文字のリストを定義できます。これらの特殊文字は、最終的にAEM サイト出力の URL を形成します。 以前のリリースでは、@
、$
、>
などの特殊文字を含むファイル名を定義できていました。 これらの特殊文字により、AEM サイトページの生成時に URL がエンコードされていました。
3.8 リリース以降、ファイル名で使用できる特殊文字のリストを定義する設定が追加されました。 デフォルトでは、有効なファイル名設定には「a-z A-Z 0-9 - _
」が含まれます。 つまり、ファイルを作成する際に、ファイルのタイトルに任意の特殊文字を含めることができますが、内部的には、ファイル名ではハイフン\(-
\)に置き換えられます。 例えば、ファイルのタイトルを Introduction 1 またはIntroduction@1にすることができ、これらの場合に生成される対応するファイル名は Introduction-1 になります。
有効な文字のリストを定義する場合、これらの文字「*/:[\]|#%{}?&<>"/+
」と a space
は常にハイフン \(-
\)に置き換えられることに注意してください。
ファイル名およびAEM サイト出力に有効な特殊文字を設定するには、次の手順を実行します。
-
Adobe Experience Manager Web コンソール設定ページを開きます。
設定ページにアクセスするためのデフォルトの URL は次のとおりです。
code language-http http://<server name>:<port>/system/console/configMgr
-
com.adobe.fmdita.common.SanitizeNodeNameImpl バンドルを検索してクリックします。
-
AEM Sitesに公開する際に使用できない文字セット プロパティで、プロパティが
'<>`@$
に設定されていることを確認します。 このリストにさらに特殊文字を追加できますが、必要な特殊文字が含まれている必要があります。note note NOTE ファイル名での 小文字を使用、無効な文字を処理するための 区切り文字、ファイル名で許可されている 最大文字数 など、他のプロパティも設定できます。 -
「保存」をクリックします。
-
com.adobe.fmdita.config.ConfigManager バンドルを検索してクリックします。
-
Regex for Valid Characters プロパティで、プロパティが
[-a-zA-Z0-9_]
に設定されていることを確認します。 このリストにさらに文字を追加できますが、これらの基本文字を含み、リストをハイフン \(-
\)で始める必要があります。note note NOTE このプロパティは、新しいファイルの作成に使用される有効な文字のリストを定義します。 -
「保存」をクリックします。
AEM Site のノード構造のフラット化の設定
AEM Site 出力を生成すると、トピック内のすべての要素のノードが内部に作成されます。 何千ものトピックを持つ DITA マップの場合、このノード構造は深くなりすぎることがあります。 このタイプの深くネストされたノード構造は、大規模なサイトの場合にパフォーマンスの問題が発生する可能性があります。 次のスナップショットは、AEM Site 出力の深くネストされたノード構造を示しています。
{width="300"}
上記のスナップショットでは、p
要素とその後に続くサブ要素ごとにノードが作成され、トピックで使用されるその他のすべての要素に対して同様の構造が作成されます。
AEM Guidesでは、AEM サイト出力のノード構造が内部でどのように作成されるかを設定できます。 指定した要素のノード構造を統合できます。つまり、メイン要素と見なされる要素を定義し、その中のすべてのサブ要素をメイン要素と結合できます。 例えば、p
要素を統合する場合、p
要素内に表示される要素は、メインの p
要素と結合されます。 p
要素内のサブ要素に対しては、別のメモは作成されません。 次のスナップショットは、要素でフラット化されたノード構造 p
示しています。
{width="300"}
AEM Site のノード構造を統合するには、次の手順を実行します。
-
ノード構造を統合する要素を指定します。
-
apps
ノードのlibs
ノードをオーバーレイし、elementmapping.xml ファイルを開きます。 -
ノード構造を統合する要素の定義に
<flatten>true</flatten>
プロパティを追加します。 例えば、p
要素のノード構造を統合する場合は、次に示すように、要素の定義に flatten 属性p
追加します。code language-xml <ditaelement> <name>p</name> <class>- topic/p</class> <componentpath>fmdita/components/dita/wrapper</componentpath> <type>COMPOSITE</type> <target>para</target> <flatten>true</flatten> <wrapelement>div</wrapelement> </ditaelement>
note note NOTE デフォルトでは、 p
要素に flatten ノードプロパティが設定されています。
-
-
configMgr でサイトノードのフラット化の設定を有効にします。
-
Adobe Experience Manager Web コンソール設定ページを開きます。
設定ページにアクセスするためのデフォルトの URL は次のとおりです。
code language-http http://<server name>:<port>/system/console/configMgr
-
com.adobe.dxml.flattening.FlatteningConfigurationService バンドルを検索してクリックします。
-
Property flattening.enabled オプションを選択します。
-
「保存」をクリックします。
-
これで、AEM Site 出力を生成すると、p
要素内のノードが統合され、p
要素自体に保存されます。 CRXDE の p
要素の新しいフラット化プロパティを参照してください。
{width="650"}
AEM サイトノート構造のフラット化の防止
AEM Site 出力で統合するノードを指定するのと同様に、この設定から除外する要素を指定することもできます。 例えば、body
の要素のノードを統合しても、body
内の table
要素を統合しない場合は、table
要素の定義内に exclude プロパティを追加できます。
table
要素をフラット化から除外するには、table
要素の定義に次のプロパティを追加します。
<preventancestorflattening>true|false</preventancestorflattening>
AEM Site 出力での削除済みページのバージョン管理の設定
「既存の出力ページ」設定で 削除および 作成 オプションを選択してAEM サイト出力を生成すると、削除するページ\(s\)のバージョンが作成されます。 削除前にバージョンの作成を停止するようにシステムを設定できます。
次の手順を実行して、削除するページ\(s\)のバージョンの作成を停止します。
-
Adobe Experience Manager Web コンソール設定ページを開きます。
設定ページにアクセスするためのデフォルトの URL は次のとおりです。
code language-http http://<server name>:<port>/system/console/configMgr
-
com.adobe.fmdita.config.ConfigManager バンドルを検索してクリックします。
-
「削除されたページのバージョンを作成しない」オプションを選択します。
note note NOTE このオプションを選択すると、ユーザーは、バージョンを作成せずに任意のページ\を直接削除できます。 このオプションを選択しない場合は、ページが削除される前にバージョンが作成されます。 -
「保存」をクリックします。
DITA-OT 経由での出力の公開でのメタデータの使用 id191LF0U0TY4
AEM Guidesには、DITA-OT を使用して出力を公開する際に、カスタムメタデータを渡す方法が用意されています。 管理者および公開者は、次のタスクを実行して、公開された出力にカスタムメタデータを設定して使用する必要があります。
-
管理者は、必要なメタデータをシステムに追加して、DITA マップの「プロパティ」 ページで使用できるようにします。
-
管理者は、カスタムメタデータをメタデータリストに追加して、DITA マップコンソールに表示されるようにします。
-
パブリッシャーとして、DITA マップを使用してカスタムメタデータを設定および追加し、必要な出力を生成します。
必要なメタデータをシステムに追加するには、次の手順を実行します。
-
Adobe Experience Managerに管理者としてログインします。
-
上部の「Adobe Experience Manager」リンクをクリックし、「ツール」を選択します。
-
ツールのリストから 0}Assets} を選択します。
-
メタデータスキーマ タイルをクリックします。
メタデータスキーマFormsページが表示されます。
-
リストから デフォルト フォームを選択します。
note note NOTE DITA マップの「プロパティ」 ページに表示されるプロパティは、このフォームから取得されます。 -
「編集」をクリックします。
-
公開済みの出力で使用するカスタムメタデータを追加します。 例えば、次の手順を使用してオーディエンスメタデータを追加します。
-
フォームを作成 コンポーネントリストから、1 行のテキスト コンポーネントをフォームにドラッグ&ドロップします。
-
新しいフィールドを選択して、フィールドの 設定 を開きます。
-
フィールドラベル に、メタデータ名「オーディエンス」を入力します。
-
プロパティにマッピング 設定で、を指定します。/jcr:content/metadata/< メタデータの名前>。 この例では、をに設定します。/jcr:content/metadata/audience です。
これらの手順を使用して、必要なメタデータパラメーターをすべて追加します。
-
-
「保存」をクリックします。
すべての DITA マップの「プロパティ」 ページに新しいパラメータが表示されます。
{width="650"}
次に、DITA マップコンソールでカスタムメタデータを使用できるようにする必要があります。 次の手順を実行して、DITA マップダッシュボードでカスタムメタデータを使用できるようにします。
-
AEMにログインし、CRXDE Liteモードを開きます。
-
次の場所にある metadataList ファイルにアクセスします。
/libs/fmdita/config/metadataList
note note NOTE metadataList ファイルには、マップダッシュボードの DITA マップの プロパティ ドロップダウンリストに表示されるプロパティのリストが含まれています。 デフォルトでは、このファイルには 4 つのプロパティ(docstate、dc:language、dc:description、dc:title)がリストされています。 -
メタデータスキーマのFormsページに追加したカスタムメタデータを追加します。 この例では、デフォルトリストの末尾にオーディエンスパラメーターを追加します。
-
「すべて保存」をクリックします。
これで、DITA マップコンソールの プロパティ ドロップダウンリストにカスタムメタデータが表示されます。
最後に、パブリッシャーとして、公開出力にカスタムメタデータを含める必要があります。 出力の生成時にカスタムメタデータを処理するには、次の手順を実行します。
-
Assets UI で、公開する DITA マップに移動します。
-
DITA マップファイルを選択し、そのプロパティページを開きます。
-
プロパティ ページで、カスタムメタデータの値を指定します。 この例では、オーディエンスパラメーターに External の値を指定しました。
{width="650"}
-
「保存して閉じる」をクリックします。
-
DITA マップファイルをクリックして、DITA マップコンソールを開きます。
-
「出力プリセット」タブで、出力の生成に使用する出力プリセットを選択します。
-
「編集」をクリックします。
-
プロパティ ドロップダウンリストから、公開プロセスに渡すプロパティを選択します。
{width="650"}
選択したプロパティやメタデータが公開プロセスに渡され、最終的な出力で使用できるようになります。
AEM コンポーネントを使用した DITA 要素マッピングのカスタマイズ id1679J600HEL
AEM Guides内の DITA エレメントは、対応するAEM コンポーネントにマッピングされます。 AEM Guidesは、公開やレビューなどのワークフローでこのマッピングを使用して、DITA 要素を対応するAEM コンポーネントに変換します。 マッピングは elementmapping.xml
ファイルで定義されます。このファイルには、CRXDE Liteモードからアクセスできます。 CRXDE Liteモードで次の URL にアクセスします。
/libs/fmdita/config/elementmapping.xml
libs
ノードでデフォルトの設定ファイルをカスタマイズする必要はありません。 apps
ノードに libs
ノードのオーバーレイを作成し、apps
ノードでのみ必要なファイルを更新する必要があります。定義済みの DITA エレメントマッピングを使用するか、カスタム AEM コンポーネントに DITA エレメントをマッピングできます。 カスタム AEM コンポーネントを使用するには、elementmapping.xml
ファイルの構造を理解している必要があります。
elementmapping.xml 構造
elementmapping.xml
の構造の概要を以下に説明します。
-
すべての DITA 要素は、最初に要素名に基づいて対応するコンポーネントマッピングを検索されます。 次に例を示します。
code language-xml <ditaelement> <name>**substeps**</name> <class>- topic/ol task/substeps</class> <componentpath>dita/components/ditaolist</componentpath> <type>COMPOSITE</type> <target>para</target> </ditaelement>
上記の例では、すべて
substeps
DITA エレメントがdita/components/ditaolist
コンポーネントを使用してレンダリングされます。 -
DITA エレメントが名前に基づく一致を見つけられない場合は、
class
に基づく一致が行われます。 次に例を示します。code language-xml <ditaelement> <name>topic</name> <class>**- topic/topic**</class> <componentpath>fmdita/components/dita/topic</componentpath> <type>COMPOSITE</type> <target>para</target> <attributemap> <attribute from="id" to="id" /> </attributemap> </ditaelement>
上記の例では、
task
要素にマッピングが定義されていない場合、task
要素は上記のコンポーネントにマッピングされます。task
れは、topic
コンポーネントから継承されるからです。 -
要素が対応するコンポーネントマッピングを持つ場合、その子要素のさらなる処理は
type
によって決定される。 次に例を示します。code language-xml <ditaelement> <name>title</name> <class>- topic/title</class> <componentpath>foundation/components/title</componentpath> <type>**STANDALONE**</type> <target>para</target> <textprop>jcr:title</textprop> </ditaelement>
type
は次の値を取ります。-
COMPOSITE:要素からコンポーネントへ 子要素のマッピングも継続。
-
STANDALONE:現在の要素の子要素が それ以上マッピングされない。
上記の例では、
<title>
要素に子要素がある場合、それらは他のコンポーネントにはマッピングされません。 要素のコンポーネントは<title>
<title>
要素内のすべての子要素のレンダリングを担当します。 -
-
1 つの DITA エレメントに複数のコンポーネントがマッピングされている場合は、そのエレメントに最適なコンポーネントが選択されます。 最適なマッチコンポーネントを選択するには、DITA エレメントのドメインと構造的特殊化が考慮されます。
ドメイン特殊化された DITA エレメントがあり、あるコンポーネントがドメイン特殊化にマップされている場合、そのコンポーネントは高い優先度を与えられます。
同様に、構造的特殊化された DITA エレメントがあり、あるコンポーネントが構造的特殊化用にマッピングされている場合、そのコンポーネントは高い優先度を与えられます。
-
要素マッピングで
<attributemap>
を使用して、属性値を対応するノードプロパティにマッピングできます。 -
textprop
を使用して、DITA 要素のテキストコンテンツをノードプロパティにシリアル化できます。 また、要素タグで複数回使用して、公開階層内の複数の場所にあるテキストコンテンツをシリアル化できます。 ターゲットプロパティの場所と名前をカスタマイズすることもできます。 次に例を示します。code language-xml <ditaelement> <name>title</name> <class>- topic/title</class> <componentpath>foundation/components/title</componentpath> <type>STANDALONE</type> <target>para</target> <textprop>**jcr:title**</textprop> </ditaelement>
上記の要素マッピングでは、要素のテキストコンテンツ
<title>
、出力ノードのjcr:title
という名前のプロパティの値として保存されることを指定しています。 -
特定
xmlprop
要素の XML 全体をノードプロパティにシリアル化するために使用できます。 その後、コンポーネントはこのノードプロパティを読み取り、カスタムレンダリングを実行できます。 次に例を示します。code language-xml <ditaelement> <name>svg-container</name> <class>+ topic/foreign svg-d/svg-container</class> <componentpath>fmdita/components/dita/svg</componentpath> <type>STANDALONE</type> <target>para</target> <xmlprop>**data**</xmlprop> </ditaelement>
上記の要素マッピングは、要素
<svg-container>
の XML マークアップ全体が、出力ノードのdata
という名前のプロパティの値として保存されることを指定しています。 -
出力生成プロセスでパス解決を処理するために、特別な属性マッピングがあります。 次に例を示します。
code language-xml <attributemap> <attribute from="href" to="fileReference" ispath="true" rel="source" /> <attribute from="height" to="height" /> <attribute from="width" to="width" /> </attributemap>
上記の
attributemap
では、DITA 要素のhref
属性がfileReference
という名前のノードプロパティにマッピングされます。ispath
がtrue
に設定されているので、出力生成プロセスはこのパスを解決して、ノードプロパティに設定fileReference
ます。この解決がどのように行われるかは、属性マッピングの
rel
属性の値に基づいて決定されます。-
rel=source
の場合、現在処理中の DITA ソースファイルに関してhref
の値が解決されます。href
の値が解決され、プロパティの値fileReference
配置されます。 -
rel=target
の場合、href
の値はルートの公開場所を基準に解決されます。href
の値が解決され、プロパティの値fileReference
配置されます。
パス属性に対して前処理または解決を実行しない場合は、
ispath
属性を指定する必要はありません。 値がそのままコピーされ、コンポーネントは必要な解決を実行できます。 -
DITA 要素スキーマ
ファイル内の DITA 要素スキーマの例 elementmapping.xml
次に示します。
<ditaelement>
<name>element_name</name>
<class>element_class</class>
<componentpath>fmdita/components/dita/component_name</componentpath>
<type>COMPOSITE|STANDALONE</type>
<attributeprop>propname_a</attributeprop>
<textprop>propname_t</textprop>
<xmlprop>propname_x</xmlprop>
<xpath>xpath expression string</xpath>
<target>head|para</target>
<wrapelement>div</wrapelement>
<wrapclass>class_name</wrapclass>
<attributemap>
<attribute from="attrname" to="propname" ispath="true|false" rel="source|target" />
</attributemap>
<skip>true|false</skip>
</ditaelement>
次の表に、DITA エレメントスキーマのエレメントを示します。
<ditaelement>
<class>
たとえば、DITA トピックの class 属性は
topic/topic
のようになります。<componentpath>
<type>
- COMPOSITE:子要素も処理
- STANDALONE:子要素の処理をスキップします
<attributeprop>
<note type="Caution">
の要素があり、この要素用にマッピングされるコンポーネントに <attributeprop>attr_t</ attributeprop>
が含まれる場合、ノードの属性と値は、対応するAEM ノードの attr_t
プロパティ \(attr_t->type="caution"
\)にシリアル化されます。<textprop>propname_t</textprop>
getTextContent()
出力を propname_t.
で定義されたプロパティに保存します メモ: これは最適化されたプロパティです。<xmlprop>propname_x </xmlprop>
propname_x.
で定義されたプロパティに保存します 注意: これは最適化されたプロパティです。<xpath>
<target>
使用可能な値:
- head:head ノードの下
- text:段落ノードの下
<wrapelement>
<wrapclass>
wrapclass.
の要素値<attributemap>
<attribute>
ノードを含むコンテナノード。補足事項
-
デフォルトの要素マッピングをオーバーライドする場合は、デフォルトの
elementmapping.xml
ファイルを変更しないことをお勧めします。 新しいマッピング XML ファイルを作成し、ファイルを別の場所(できれば、作成したカスタムアプリフォルダー内)に配置する必要があります。 -
elementmapping.xml
ファイルには、fmdita/components/dita/wrapper コンポーネントを参照するマッピングエントリが多数あります。 ラッパーは、サイトノードのプロパティを使用して比較的単純な DITA 構成をレンダリングし、関連するHTMLを生成する汎用コンポーネントです。wrapelement
プロパティを使用して囲むタグを生成し、子レンダリングを対応するコンポーネントに委任します。 これは、コンテナコンポーネントのみを必要とする場合に便利です。div
やp
などの特定のコンテナタグをレンダリングする新しいコンポーネントを作成する代わりに、wrapelement
プロパティとwrapclass
プロパティを持つラッパーコンポーネントを使用して、同じ効果を得ることができます。 -
大量のテキストを文字列 JCR プロパティに保存することはお勧めしません。 出力生成の最適化されたプロパティタイプ計算により、大きなテキストコンテンツが文字列タイプとして保存されなくなります。 代わりに、特定のしきい値を超えるコンテンツを保存する必要がある場合は、プロパティのタイプをバイナリに変更します。 デフォルトでは、このしきい値は 512 バイトに設定されていますが、バイナリしきい値として保存 設定を変更することで、Configuration Manager \(com.adobe.fmdita.config.ConfigManager\)で変更できます。
-
一部の\(すべてではない\)の要素マッピングを上書きする場合は、
elementmapping.xml
ファイル全体をレプリケートする必要はありません。 新しい XML マッピングファイルを作成し、上書きする要素のみを定義する必要があります。 -
カスタムの場所に XML ファイルを作成したら、
com.adobe.fmdita.config.ConfigManager
バンドルのOverride Element Mapping
設定を更新します。
DITA マップコンソールのカスタマイズ id188HC08M0CZ
AEM Guidesには、DITA マップコンソールの機能を柔軟に拡張する機能があります。 例えば、AEM Guidesで使用可能なものとは異なる一連のレポートがある場合、そのようなレポートをマップコンソールに追加できます。 マップコンソールをカスタマイズするには、必要な機能を実行するコードを含むAEM クライアントライブラリ \(または ClientLib \)を作成する必要があります。
AEM Guidesには、マップコンソールをカスタマイズするための apps.fmdita.dashboard-extn
カテゴリが用意されています。 マップコンソールが読み込まれると、apps.fmdita.dashboard-extn
カテゴリの下に作成された機能が実行されて読み込まれます。
出力生成時の画像レンディションの処理 id177BF0G0VY4
AEMには、アセットの処理に使用するデフォルトのワークフローとメディアハンドルのセットが付属しています。 AEMには、最も一般的な MIME タイプのアセット処理を処理するための事前定義済みワークフローがあります。 通常、アップロードする画像ごとに、AEMによって同じ画像の複数のレンディションがバイナリ形式で作成されます。 これらのレンディションは、サイズ、解像度、透かしの追加、その他の変更された特性が異なる場合があります。 AEMでのアセットの処理方法について詳しくは、AEM ドキュメントの メディアハンドラーとワークフローを使用したAssetsの処理を参照してください。
AEM Guidesでは、ドキュメントの出力を生成する際に使用する画像レンディションを設定できます。 例えば、デフォルトの画像レンディションの 1 つから選択するか、画像レンディションを作成し、それを使用してドキュメントを公開することができます。 ドキュメントを公開するための画像レンディションマッピングは、/libs/fmdita/config/ **renditionmap.xml**
ファイルに保存されます。 ファイルのスニペ renditionmap.xml
トを次に示します。
renditionmap.xml
ファイルのコピーを、すべてのカスタマイズ用に apps
フォルダーに作成することをお勧めします。<renditionmap>
<mapelement>
<mimetype>image/png</mimetype>
<rendition output="AEMSITE">cq5dam.web.1280.1280.jpeg</rendition>
<rendition output="PDF">original</rendition>
<rendition output="HTML5">cq5dam.web.1280.1280.jpeg</rendition>
<rendition output="EPUB">cq5dam.web.1280.1280.jpeg</rendition>
<rendition output="CUSTOM">cq5dam.web.1280.1280.jpeg</rendition>
</mapelement>
...
</renditionmap>
mimetype
要素は、ファイル形式の MIME タイプを指定します。 rendition output
要素は、出力形式のタイプと、指定した出力の公開に使用するレンディションの名前\(例:cq5dam.web.1280.1280.jpeg
\)を指定します。 サポートされるすべての出力形式(AEMSITE、PDF、HTML 5、EPUB、カスタム)で使用する画像レンディションを指定できます。
指定したレンディションが存在しない場合、AEM Guides公開プロセスは、指定された画像の web レンディションを最初に検索します。 Web レンディションも見つからない場合は、画像の元のレンディションが使用されます。
出力履歴の自動パージ期間の設定 id19AAI070V8Q
出力を生成すると、出力が出力ログと共に作成されます。 大きな DITA マップの場合、これらのログはリポジトリ内に大量の領域を取る可能性があります。 デフォルトでは、ログはリポジトリ内の次の場所に保存されます。
/var/dxml/metadata/outputHistory/
時間が経つと、すべてのログファイルの全体のサイズが GB に達する可能性があります。 AEM Guidesでは、これらのログファイルをリポジトリに保持する期間を設定できます。 指定した期間が経過すると、ログは出力生成履歴と共にリポジトリから削除されます。
履歴パージ機能を設定すると、リポジトリ内のすべての DITA マップの出力生成に影響します。 DITA マップの「出力」タブでは、履歴は指定した日数が経過した後、設定で指定した時間にパージされます。
次の手順を実行して、出力履歴とログをパージする日時を設定します。
-
Adobe Experience Manager Web コンソール設定ページを開きます。
設定ページにアクセスするためのデフォルトの URL は次のとおりです。
code language-http http://<server name>:<port>/system/console/configMgr
-
com.adobe.fmdita.config.ConfigManager バンドルを検索してクリックします。
-
「出力履歴のパージ期間」プロパティで、出力履歴と出力ログがパージされるまでの日数を指定します。 デフォルトでは 5 日に設定されています。 この機能を無効にする場合は、このプロパティを 0 に設定します。
-
「出力履歴のパージ時間」プロパティで、パージプロセスが開始される時間を指定します。 デフォルトでは 0:00 \(または 12:00 midnight\)に設定されています。 この時点では、毎日、「出力履歴のパージ期間 プロパティで指定した日数より前に生成された出力に対してパージプロセスが実行され す。
note note NOTE デフォルトでは、パージ機能は 5 日より前の出力では毎日午前 0 時に実行されます。 -
「保存」をクリックします。
最近生成された出力リストの制限の変更 id1679JH0H0O2
DITA マップの「出力」 タブに表示される出力の最大数を変更できます。 デフォルトでは、直近で生成された 25 個の出力のリストが表示されます。 リストに表示する出力数を変更するには、com.adobe.fmdita.config.ConfigManager
バンドルの 出力リスト制限 設定を更新します。
出力生成パフォーマンスの最適化 id176LB050VUI
AEM Guidesでは、同時に実行する出力生成プロセスの数を制御する、出力生成プロセスのプールサイズを設定できます。 デフォルトでは、プロセスプールのサイズは、システムで使用可能な処理コアの数に 1 を加えた数に設定されます。 順次公開する場合は、この値を 1 に変更できます。 この場合、最初の公開タスクが実行され、次の公開タスクが公開キューに保存されます。
出力生成処理プールのサイズを変更するには、com.adobe.fmdita.publish.manager.PublishThreadManagerImpl
バンドル内の 生成プールサイズ 設定を更新します。