JSA出力のDXA 1.2間欠問題


1

私はSDL Tridion 2013 SP1でDXA 1.2を使用しています。

コンテンツ管理側で問題が発生しています。ページを公開すると、一部のコンポーネントテンプレートのJSON出力にRenderedContentが表示されています。もう一度ページを再発行すると、RenderedContentの出力がJSONに表示されません。しかし、これは断続的に起こっています。

私はDD4T.Templates.Base.Builder.ComponentPresentationBuilderこのクラスから断続的に起こって、この問題の可能性を理解したいと思います:

log.Error("exception while deserializing into CP", e); 
// the component presentation could not be deserialized, this probably not a Dynamic Delivery template 
// just store the output as 'RenderedContent' on the CP 
cp.RenderedContent = renderedContent; 

私はでコンテンツ管理側のコンパイル済みのソリューションを持っていませんこの問題でさらにデバッグするこの時点。 CMEサーバーでこのクラスのログの場所を知りたいですか?

  0

Whoa、1.2は古代です!より新しいバージョンで整理されたバグである可能性があります。コードベースを少なくとも1.6に更新する必要があります。 10 10月. 172017-10-10 16:00:40

  0

ログの場所は、CMが実行されているWindowsサーバー上のイベントビューアです。 10 10月. 172017-10-10 16:02:33

  0

これはデシリアライズが原因であることを理解していますが、この問題が断続的に発生する原因は何ですか?私はDXA 1.7も見ていますが、1.7はSDL Tridion 2013 SP1をサポートしていますか? 10 10月. 172017-10-10 16:42:32

  0

No.1.6は、Tridion 2013 10 10月. 172017-10-10 18:07:37

  0

@ JeyをサポートしているDXAの最新の(そして最後の)バージョンです。完全なスタックトレースを見ることなく、非直列化で何が起こっているのかを言うのは難しいです。断続的な動作は、テンプレート、イベントシステム、カスタムリゾルバなどでカスタムロジック(たとえば、不適切な静的変数を設定する)によって説明できます。トレースを見るまでは、理論化しようとするのは無意味です。イベントビューアのログを取得したら、質問を更新してください。もう一度見てみましょう。 10 10月. 172017-10-10 20:22:41

  0

JSONを生成するDD4Tテンプレートビルディングブロックで問題が発生しているため、使用しているDXAのバージョンに問題があるかどうかはわかりません。 **あなたの質問を編集**して、実際にイベントビューアのログからスタックトレースでそれを更新するとよいでしょう。 11 10月. 172017-10-11 06:57:36

1

なぜこのようなことが起こっているのかの主な質問は、コメントに記載されている情報が十分でないため、私はまだ答えられません。一度あなたがあなたの質問を編集し、私たちはその部分に焦点を当てることができますを編集します。

私が答えることができるのは、そのコードからのログステートメントを見つけるための第2の質問です。テンプレートビルディングブロックは、レンダリングエンジン(プレビュー時にはCM、公開時にはパブリッシャから)によって実行されます。あなたは、発行時にこの問題が発生すると言いますが、興味深いのは、CMEでプレビューしているときとTemplate Builderでテンプレートを実行しているときのことです。そのようにすることで、「デバッグ」をより簡単に、より速く行うことができます。

Windowsイベントログにデフォルトのログでレンダリングエンジンを、あなたが好きなら、ファイルにログを記録するために、パブリッシャを設定https://docs.sdl.com/LiveContent/content/en-US/SDL%20Tridion%20full%20documentation-v1/GUID-3286A065-0EE6-410A-A08A-356C270495B5

を参照してくださいしかし、あなたは問題がまた、プレビュー時に起こっている見つけた場合、あなたができることができますページテンプレートまたはコンポーネントテンプレートを開いてテンプレートビルダーで実行するだけで、テンプレートビルダーを使用してデバッグするのが最適です(https://docs.sdl.com/LiveContent/content/en-US/SDL%20Tridion%20full%20documentation-v1/GUID-FA117659-2A64-4D50-8C0A-6A213B282175を参照)。テンプレートビルダの下にはログメッセージが直接表示され、テンプレートビルダでログレベルをデバッグに変更することもできます。