問題タブ [tridion-content-delivery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2010 - VS サービス リファレンスからの OData Web サービス クエリ
次のようなリクエストを送信したい:
私が使用しているコードは次のとおりです。
私の問題は、このコードが次のようなリクエストを送信していることです:
このリクエストの問題は、必要なページだけでなく、そこにあるすべてのページが返されることです。
私はLINQを使うことができました:
しかし、問題は、すべてのページがまだネットワーク経由で送信されることです。
tridion - Content Porter から別の名前のパブリケーションへ
パブリケーションから別の環境で別の名前のパブリケーションにコンテンツをエクスポートすると、ターゲット パブリケーションのプロパティも同じになり、ターゲット パブリケーションの親を変更できません。助けが必要...
tridion - 閉じたタイプのコンポーネントには、対応する IsMultimedia 設定可能なプロパティがありません
Visual Studio で SDL Tridion 2011 SP1 の CD OData Web サービスへのサービス参照を生成しましたが、すべて正常に動作しているように見えますが、特定のコンポーネントを次のようなコードで要求すると、次のようになります。
例外をスローしています:
誰もがこれをホットフィックス知っていますか?
tridion - Tridion コンポーネント リンクが動的コンポーネント プレゼンテーションで解決されない
私は現在、Tridion 2009 SP1 に機能を実装しています。この機能では、ユーザーはフィルターを利用して、ブローカーに一致基準を照会し、コンポーネント プレゼンテーションをページに返します。返される各アイテムには、コンポーネント リンクが含まれています。
もともと動的 CP は HTML フラグメントとしてブローカー DB に保存されていましたが、この方法で CP を保存すると、Tridion がコンテンツからコンポーネント リンクを削除し、HTML に空白スペースを残すことが発見されました。
次に、動的 CP が ascx コントロールとしてファイルストアに保存されるように設定を切り替えました。この設定を使用すると<tridion:ComponentLink ... />
、ascx ファイルに正常に保存されます。
ただし、結果を画面に表示すると、コンポーネント リンクが解決されず<tridion:ComponentLink ... />
、結果のソースに が残ります。
現在、このGetComponentPresentation
メソッドを使用して CP コンテンツを返しています。CP コンテンツは List に追加されてから、Repeater にバインドされて表示されます。
要約されたコードは以下のとおりです。
このリストは、通常の方法でリピーターにバインドされています。
コンポーネントリンクを強制的に解決する方法と、GetComponentPresentation
関数がこれを行わない理由を知っている人はいますか?
私が別の方法でやるべきことはありますか、それとも私がこれを実装している方法では不可能ですか?
tridion
web.configにtagprefixが正しく登録されていることを確認しました。
私はTridionにかなり慣れていないので、どんな助けも大歓迎です!
アップデート
私のシナリオにとって最も適切な解決策のように思われるため、Will の提案を実装しようとしましたが、以下のコードで Will の提案を使用しようとすると、(かなり当たり障りのない) エラーが発生します。
実際には (一見) ランダムに発生する 2 つのエラーがありますが、常にcpa.GetContent(...)
呼び出し時に発生します。エラーは次のとおりです。
コードを実行するたびにエラーが変化する理由がわかりません。コードを変更しなくてもエラーは変わります。
ここで何が欠けているか知っている人はいますか?Brokerストレージなどへの接続の問題かと思っていたのですが、ComponentPresentationFactory
クラスを使っていたらその部分が動いていたことを思い出しました。
それが役立つ場合は、ascx としてファイル ストアに保存されている DCP に次の HTML が含まれています。
更新 2
Ryan のおかげで、DCP (ASCX) ファイルが wwwroot フォルダー内のアプリケーションのフォルダー内で公開されていないことがわかりました。これにより、<tridion:ComponentLink ... />
タグがソースに直接出力されるという問題が解決されました。現在レンダリング中ですが、リンクはまだ解決されていません。<a ... />
タグが出力されていません。これは、アセンブラーがうまく機能する場所です。これを機能させることができれば。
より多くのロギングとチェックを実装し、jar ファイルが見つからないか、バージョンが正しくない可能性があることを示唆するエラーに関する詳細情報を入手しました。
興味深いことに、ComponentPresentationFactory
クラスを使用すると (内部リンクを解決せずに) 動作しますが、アセンブラーを使用するとすぐに上記のエラーがスローされます。
また、Alvin の提案に従って Page をコンストラクターに追加しようとしましたが、出力は同じです。
.net - .Net プロジェクトでの Broker API の構成と使用
ブローカー API を .Net アプリから使用するように設定するためのドキュメントを教えてもらえますか? livecontent に関するドキュメントを確認しましたが、.net プロジェクトから使用するブローカー API のセットアップと構成について具体的な記述は見当たりません。ドキュメントはすべてサーバーに関連しています。
OData サービスがどのように設定されているかを確認して、これをまとめようとしましたが、以下に示すエラーが引き続き発生します。では、ステップを逃しましたが、どのステップですか? CD_*_CONF.xml 構成ファイルの一部を更新する必要がありますか?
もう1つ質問です。それは私ですか、それとも Tridion のドキュメントはやや不完全ですか? 製品の主要な API の 1 つを使用するための基本的な手順は、妥当な要求のように思えます。このドキュメントが存在する場合は事前にお詫びしますが、見逃していました。
私が得ているエラー
クラス com.tridion.storage.StorageManagerFactory を初期化できませんでした
また
ClassNotFoundException: com.tridion.broker.querying.Query
アップデート
迅速な返答に感謝致します。「サーバーの役割を.netとしてインストールする...」の記事を見ました。手順に従っているようですが、アプリで JAR ファイルが見つかりません。この場合、cd_broker.jar は .net プロジェクトの root/bin/lib ディレクトリにあります。
Java.Lang.ClassNotFoundException: com.tridion.broker.querying.Query
更新 2
Tridion 2011 SP1 を使用しています。
tridion - コンテンツ配信サービスは、「目的の結果を取得できません」と報告します。
Webブラウザを使用してTridionコンテンツ配信Webサービスをテストする場合、「http://webservice/odata.svc/」を呼び出すことで利用可能なコレクションのリストを正常に取得できますが、コレクションの1つにアクセスしようとすると、例;
私は得る;
または特定のアイテム
私は得る:
ログに次のように表示されます(タイムスタンプなどを削除して、もう少し読みやすくしました)。
このメッセージは私のストレージ構成を示していますが、Webサービスをサポートするためにどのようにセットアップする必要があるかについての明確なガイダンスをドキュメントで見つけることができませんでした。
ストレージはどのように構成する必要がありますか?サービスとWebサイトに別々のデプロイヤーがあると予想するのは正常ですか?他にどのような問題を検討する必要がありますか?
.net - .NETを使用してDeployerをカスタマイズできますか?
いくつかの理由でデプロイヤーをカスタマイズする必要があります。デプロイヤーのカスタマイズにJavaを使用している記事しか表示されません。
.NETプロジェクトを使用してデプロイヤーをカスタマイズできますか?考えを共有し、可能であれば解決策を教えてください。
asp.net - C#2.0を使用してTridion 2009ブローカーのLINK_INFOテーブルからデータを取得しようとすると、サーバーのパフォーマンスが低下します
実際、私はページにGoogleマークアップを実装しようとしました。これにより、ユーザーコントロールはページヘッダーセクションで以下のタイプのHTMLをレンダリングします。
上記のhtmlでは、ブローカーLINK_INFOテーブルからHTMLのこの部分「/ae/english/index.aspx、/au/english/index.aspxなど」を見つけることができます。この実装は、LIVEブローカーデータベースを使用してLIVE Webサイトにアクセスするまで、正常に機能しました。 LIVEでこの機能を有効にすると、ブローカーデータベースのヒットが原因でサーバーのパフォーマンスが低下し、ウェブサイトの1日あたりのヒット数が150万であるため、LINK_INFOテーブルがロックされているようです。上記の機能は次のように機能します。
- Webサイトのページが読み込まれるたびに、プロキシが呼び出され、プロキシがWebサービスを呼び出し、WebサービスがSQLプロシージャを呼び出します。SQLプロシージャはLINK_INFOテーブルに移動し、SQLプロシージャに渡されたPageIDに基づいて結果のリストを取得します。
- 次に、SQLプロシージャが返されたxmlの結果がコントロールに渡され、XSLTがそれを使用して、完全なHTMLの上にレンダリングされます。
何かがおかしいようです。ブローカーデータベースに触れることなく、上記の機能を実現する他の方法がある可能性があることを提案してください。ページEVENTを作成するか、Deployerをカスタマイズすると役立ちますか?
提案してください!!
注:Tridion2009を使用しています
編集:ブローカーSQLの手順は次のとおりです。
tridion - 複数の Web サイトからの連絡先の同期に関する問題
オーディエンス マネージャーのプロファイル同期サービスで問題が発生しています。
2 つのステップでサブスクリプションを行うシナリオがあります。
- 一意の ID であるユーザーの電子メール アドレスを取得し、レコードを tridion_submgmt に保存します。その後、プロファイル同期サービスは、この一意の電子メール ID を使用してこのレコードを tridion_email DB に保存します。
- ユーザーの生年月日とモバイル番号を取得しており、同じレコードを更新したいと考えています。
これらの 2 つのステップは、次々に実行されます。
また、異なるアドレス帳と 1 つの同期ターゲット設定を持つ 87 の Web サイトがあります。
同期の問題に直面しています。レコードが更新されることもありますが、ステップ 2 でレコードが更新されないこともあります。
何か提案はありますか?
tridion - Tridion 2011 SP1 : コンテンツの展開中の問題
ファイルシステムにコンテンツを展開するために、修正プログラムと .net Web アプリケーション httpupload.aspx なしで Tridion 2011 sp1 を使用しています。監視した結果、次の 2 つの問題があることがわかりました。
1) 発行キューで正常に発行されたページが、ファイル システムでアップロード/更新されない場合があります。
2) 次のエラーで失敗したページのトランスポート パッケージは作成されません。
FailedPhase の展開: 展開処理フェーズに失敗しました。クラス com.tridion.storage.StorageManagerFactory を初期化できませんでした。クラス com.tridion.storage.StorageManagerFactory を初期化できませんでした。
また、デプロイヤーのログ ファイルとトランスポーターのログ ファイルには、失敗したアイテムのトランザクション ID への参照がありません。
誰でもこれで私を助けることができますか?