ヘッダーをスキップ
Oracle® WebCenter Content Dynamic Converter管理者ガイド
11gリリース1 (11.1.1)
B66698-01
  ドキュメント・ライブラリへ移動
ライブラリ
目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 実装の考慮事項

この章では、Dynamic Converterを操作する際のより実際的な問題をいくつか取り上げます。次の項目について説明します。

10.1 マルチバイト文字のメタデータ・フィールド

クラシックHTML変換テンプレートでは、Dynamic Converterがマルチバイト環境(日本語、韓国語またはその他のローマ字以外の文字)で使用されていても、コンテンツID、セキュリティ・グループ、コンテンツ・タイプおよびアカウント名には、マルチバイト文字を使用しないことをお薦めします。このコンテンツ・メタデータ情報はコンテンツ・アイテムのURLに含まれており、現行のWebテクノロジでの制限により、WebサーバーとWebブラウザでマルチバイト文字URLを正しく処理できない場合があります。(たとえば、リンクが壊れている場合、Dynamic Converterではコンテンツ・アイテムを検索することができません。)

コンテンツID、セキュリティ・グループ、コンテンツ・タイプまたはアカウントにマルチバイト文字を使用する場合、Content Server環境全体(サーバーとクライアント)が、マルチバイト言語をサポートするオペレーティング・システム(たとえば、Microsoft Windowsの日本語または韓国語バージョン)で実行されていることを確認する必要があります。


注意:

新しいDynamic ConverterのHTMLテンプレート・エディタでは、変換中のテンプレートやコンテンツ・アイテムでのマルチバイトのコンテンツIDの使用はサポートされません。

10.2 UNIXでのPDFファイルの変換

UNIXでのPDFファイルの変換は遅く、3分(変換プロセスのデフォルトのタイムアウト値)後にタイムアウトする可能性があります。

変換タイムアウトの値を増やすには、次のようにします。

  1. 「Dynamic Converterの管理」ページを開きます(「「Dynamic Converterの管理」ページ」を参照)。

  2. 「構成設定」をクリックします。

    「Dynamic Converterの構成」ページが表示されます(「「Dynamic Converterの構成」ページ」を参照)。

  3. 「タイムアウト」フィールドに新しい値を入力します(デフォルトの3分から増やします)。

  4. 「更新」をクリックして、変更を有効にします。

変更した設定はただちに有効になるため、Content Serverを再起動する必要はありません。

10.3 UNIX上の埋込み画像

ソース・ドキュメントのなかには、埋込みOLEオブジェクトが含まれているものがあります。埋込みOLEオブジェクトには通常、Windowsメタファイルのフォームにスナップショット画像が添付されています。WindowsとUNIXのどちらでも、Dynamic Converterはメタファイル・スナップショットを使用して、OLEオブジェクトを変換できます。メタファイルが使用できない場合、Dynamic Converterは、変換のためにOLEテクノロジに復帰します。その場合、変換はWindowsでは成功しますが、UNIXでは失敗します。

10.4 ベクターおよびラスター画像形式の使用

ベクター画像を変換する場合、Dynamic Converterは実行中のXサーバーにアクセスする必要があります。これは、Dynamic Converterがピクセルの描画をXサーバー・システムに依存しているためです。

ベクター画像形式では、線と塗りを描画します。一般的な形式は、WMF、EMF、CorelDRAW、Adobe Illustrator、Excelのグラフ、WordのオートシェイプおよびPowerPointのプレゼンテーションです。一方、ラスター画像には、イメージのピクセル情報が含まれます。一般的なファイル形式は、BMP、JPEGおよびGIFです。

ベクター画像とラスター画像の違いを見分ける1つの方法は、イメージを拡大することです。ベクター画像は線を描画するため、線の配置が再計算され、イメージはそのままきれいに表示されます。しかし、ラスター画像は、サイズを変更すると画素化されます。

UNIXでの画像とフォントのレンダリングを設定する方法は、『Dynamic Converterインストレーション・ガイド』を参照してください。

10.5 UNIXでのベクター画像とスプレッドシート・テキストの変換

ベクター画像を変換し、スプレッドシートの複数の列にまたがるテキストを正しく測定するために、Dynamic Converterでは、UNIXで実行されているXサーバーにアクセスする必要があります。

UNIXでの画像とフォントのレンダリングを設定する方法は、『Dynamic Converterインストレーション・ガイド』を参照してください。

10.6 URLリライト

Dynamic Converterでは、dcUrl('url', reserved_type) Idoc Script拡張関数ですべてのハイパーリンクおよびイメージ・ソース・リンク(src)を囲みます。このスクリプト関数のデフォルト実装では、単なるパススルーを実行しますが、外部統合テクノロジ(CISなど)では、dcUrlFilterのフィルタ・プラグインを定義することにより、この動作を変更できます。

Dynamic Converterは、リンクURLを評価し、dcUrlFilterフィルタがある場合はそれを適用し、その後、URL値を戻します。dcUrlFilterフィルタが定義されていない場合は、元のURLは変わりません。内部ブックマークへのリンクは、常に変わりません。

予約タイプ

reserved_type関数の引数は、1001、1002などの数値で、Dynamic Converterコア・エンジンでURLが書き込まれる場所を示します。この値は、URLのタイプを識別するために使用できます。たとえば、ギャラリ画像、ドキュメント内リンクなどです。予約タイプ値とそれらの意味は次のとおりです。

説明
1001 リンク(異なる分割)
1002 前の要素(異なる分割)
1003 前のページ(TOCフレーム)
1004 前のページ
1005 次のページ(TOCフレーム)
1006 次のページ
1007 次の要素(異なる分割)
1008 前のページ(TOCフレーム)
1009 前のページ
1010 次のページ(TOCフレーム)
1011 次のページ
1018 イメージ・リンク
1019 イメージ・リンク
1020 イメージ・リンク
1021 イメージ・リンク
1022 背景画像(非ソース由来)
1023 背景画像(ソース由来)

10.7 テンプレートおよびレイアウト・ファイル内の相対URL

イメージ・タグ<IMG SRC="image.gif">について考えます。Dynamic Converterの大部分の実装では、たいてい出力ファイルがテンプレート・ファイルとは異なる場所に格納されます。この状況で開発者がテンプレートを使用すると、作成される出力ファイルにはimage.gifへの参照が付き、ブラウザではこのファイルのパスが出力ファイルと同じとみなされます。問題は、image.gifが、テンプレート・ファイルのあるディレクトリに戻る可能性があることです。これは、相対URLを使用してテンプレートで参照されるすべてのものについての問題です。この問題には、いくつかの解決策が考えられます。

解決策1: 参照が正しいことの確認

すべてのテンプレートが参照するファイルを開発者が正確に知っている場合、正しいファイル(image.gifなど)を出力ディレクトリに移動または配置することができます。この解決策では、開発者がテンプレートのコンテンツに関する正確な知識を持っていることが必要であり、ファイルの同じセットが多くの出力場所に伝播される可能性があります。

解決策2: 絶対URLの使用

開発者は、どの参照ファイルに対しても絶対URLが含まれるようにテンプレートを設計できます。例のテンプレートは、次のようなものになります。

<HTML>
<BODY>
<P><IMG SRC="http://www.company.com/templates/image.gif"></P>
{## INSERT ELEMENT=Sections.1.Body}
</BODY>
</HTML>

かわりに<$HTTPWEBROOT$>を使用すると、特定のドメインに関係する出力ファイルの問題はなくなります。

解決策3: 別のファイルでのパス文の作成

開発者は、次の例のように、パスを指定する別のIdoc Scriptファイルを作成できます。

<@dynamichtml Image_Dir@><$HttpWebRoot$>groups/public/documents/graphic/<@end@>

開発者は次に、Idocリソースおよび参照に、組み込まれたIdoc Scriptファイルのパス文を次のようにロードできます。

<img src="<$include Image_Dir$>logo.gif">

指定されたパスに一致するセキュリティ・グループおよびドキュメント・タイプ(この例では、セキュリティ・グループはPublic、ドキュメント・タイプはGraphic)で画像(または関連ファイル)がチェックインされていれば、パスは解決されてページが正しく表示されます。

10.8 ブラウザのキャッシュ

テンプレートの作成およびデバッグのプロセスでは、同じソース・ファイルを、多少異なるテンプレートでDynamic Converterを介して繰返し実行することになります。出力ファイルにどのように名前を付けるかによって、同じファイル名のセットが繰返し作成される場合があります。このような状況では(特に、出力をWebサーバーからではなく、ファイル・システムから直接読み取る場合)、ブラウザには新しい結果ではなく、キャッシュされた古い結果が表示される傾向があります。

出力が正しくないと思われる場合は、テンプレートまたはソフトウェアの問題と判断する前に、すべてのフレームで「リフレッシュ」をクリックしてください。


ヒント:

テンプレートの作成およびテスト中に、ブラウザでキャッシュを空にして無効にする方が簡単な場合があります。

10.9 イメージのサイズ設定ルール

最終的にエクスポートされるイメージのサイズに影響を与える要素が多数あります。それらの要素がどのように作用するかのルールの優先順位は、次のとおりです。

  1. テンプレートで{## graphic}マクロによって指定されたイメージは、特定のデック上で画像に使用可能な領域から差し引かれます。一般に、イメージはドキュメントの画像に使用できる領域の全体量を消費するため、デックごとにイメージが必要なテンプレートには注意する必要があります。

  2. SCCOPT_EX_GRAPHICBUFFERSIZEオプション。必要に応じてイメージのサイズを縮小する場合にのみ使用します。イメージの縦横比は維持されます。

  3. SCCOPT_GRAPHIC_SIZELIMITオプション。必要に応じてイメージのサイズを縮小する場合にのみ使用します。イメージの縦横比は維持されます。

  4. SCCOPT_GRAPHIC_WIDTHLIMITオプションとSCCOPT_GRAPHIC_HEIGHTLIMITオプション。これらは、必要に応じてイメージのサイズを縮小する場合にのみ使用します。縦横比は、両方が指定されている場合でも維持されます。

  5. テンプレートの{## INSERT}文の'Width='パラメータと'height='パラメータ。指定した寸法に一致するように、イメージを縮小または拡大します。イメージの縦横比は、両方のパラメータを指定した場合、変更されます。これらのパラメータを一方のみ指定した場合、またはどちらも指定しなかった場合、縦横比は変わりません。

  6. ソース・ファイルとDPI設定の情報に基づいた元のイメージの寸法(該当する場合)。

10.10 CSSの考慮事項

この項で説明するスタイルは、スクリプト・テンプレート(第7章「スクリプト・テンプレート」を参照)関連のみです。クラシックHTML変換テンプレート(第5章「HTML変換テンプレート」を参照)のスタイルは別途記載します。

Cascading Style Sheet (CSS)の最も強力な機能の1つは、様々な方法で提案されたスタイルをオーバーライドする機能です。Dynamic Converterでは、ユーザーが作成されたスタイル・シートをオーバーライドできるようにCSSサポートが設計されています。つまり、ユーザーは、多数の作成者のドキュメントを融合し、より見た目が統一されたコレクションにすることができます。このオーバーライドを機能させるには、まずスタイル名を理解する必要があります。

さらに、Dynamic Converterからの出力は多くのHTMLファイルに配置されることにも留意する必要があります。特に、<LINK REL=STYLESHEET HREF="{## INSERT ELEMENT=Pragma.cssFile}">文が必ず適切な場所に置かれるように、注意が必要です。

10.11 Dynamic Converterで使用されるスタイル名

スタイル名は、ソース・ドキュメントでの元のスタイル名から取られます。スタイル名には、CSS標準で認められる継承制限があります。標準で使用が認められる文字は、a?z、A?Z、0?9およびダッシュ(-)のみです。ソース・ドキュメントのスタイル名には、必ずしもこの制限がありません。実際には、Unicode文字が含まれていることさえあります。このため、元のスタイル名は、この標準に従うために変更が必要になる場合があります。不正なスタイル名を回避するために、Dynamic Converterでは、すべてのソース・スタイル名で次の置換が行われます。

この置換の最も一般的な例の1つに、スタイル名の空白が「-0020」で置き換えられるというものがあります。スタイル名における文字置換のより包括的な例として、ソース・スタイル名My Special H1-Style!について考慮します(名前に空白と感嘆符が含まれています)。これはMy-0020Special-0020H1--Style-0021に変換されます。

このシステムは明らかに見た目の美しさに欠けますが、ブラウザが重複または無効なスタイル名を取得した場合に、ドキュメントの外観についての問題を回避できます。開発者にとって、これらのスタイル名を解析または作成するために必要なコードが簡単であることも評価できます。

さらに、Dynamic Converterでは、スタイルの特別なリスト・バージョンが作成されます。これらは、元になっているスタイルと同じ名前で、最後に--Listが付いています。これらのスタイルは、ブロックレベルのCSSが含まれていないという点で、元のスタイルとは異なります。

10.12 Dynamic Converterのスタイルのオーバーライド

スタイル名がわかれば、Dynamic Converterで作成されるCSSファイルのオーバーライドは簡単です。CSSオーバーライド・ファイルへの別のリンクがあるテンプレートで、CSSファイル・リンクをたどります。Dynamic ConverterのCSSファイルへのリンクの詳細は、「Pragma.CSSFileと{## LINK}」を参照してください。このオーバーライド・ファイルには、Dynamic ConverterのCSSファイルで使用されているものと同じ名前のスタイルが含まれている必要があります。

多くのファイル形式では、以前に定義された他のスタイルに基づいたスタイルが許可されていることに留意してください。Dynamic Converterでは、スタイルをネストすることでこれをサポートします。このようにして、ネストされた各スタイルでは、周囲のスタイルで定義されているアイテムが継承されます。また、それらをオーバーライドすることもあります。

10.13 Pragma.CSSFileと{## LINK}

HTMLのCSSフレーバが使用されると、作成される各HTMLファイルの一番上には、{## INSERT Element=Pragma.CSSFile}文が1つ出現します。そのため、## LINK文が、追加のHTMLファイルの作成をトリガーするために使用される場合があることに留意する必要があります。結果として、## Link文のある各テンプレートには、通常、生成されたCSSファイルへの<Link>タグが含まれます。

しかし、## LINK文を使用すると、CSSファイルを参照する必要のある{##}文のないテンプレートへのリンクが可能です。その場合、CSSファイルへの<Link>は、安全に省略できます。たとえば、2つの##文しかないテンプレートについて考えた場合、どちらも##リンク(おそらくは個別の2つのフレームに結果を配置するためのもの)です。このテンプレート・ファイルには、CSSファイルへの<Link>は不要です。

Dynamic Converterによって生成されるHTMLファイルの数には関係なく、CSSファイルは1つしか生成されません。繰り返しますが、CSSファイルへの<Link>は、必ずドキュメントの<HEAD>セクションに出現し、結果として作成される各HTMLファイルには<HEAD>セクションが1つしかありません。

10.14 整形式のHTML

Dynamic Converterの出力は、整形式であることを確認するためにテストされています。しかし、Dynamic Converterによって使用されるテンプレートも整形式でなければ、無意味です。整形式のテンプレートの作成を支援するために、整形式でないドキュメントが作成される原因となる一般的な問題を次に示します。

10.15 位置フレームのサポート

Dynamic Converter 7.7以上では、オブジェクトの位置付けにDHTMLを使用します。ただし、サポートされているオブジェクトの位置付けのタイプは、パラグラフ・アンカー・オブジェクトページ・アンカー・オブジェクトの2つのみです。この位置フレームの初期サポートについて、いくつかの重要な注意事項を次に示します。

10.16 テンプレート作成のヒント

各デックの領域の量が制限される場合、Dynamic Converterで作成される各デックにおける使用可能なデータの量を最大化することが重要です。各デックで無駄に消費される領域の量を減らすには、次の方法があります。