0

新しいプロジェクトで EpiServer CMS 5R2 を使用しています。私は、私たちが制御できない既存のバックエンド ストアにリンクする CustomPageProvider を作成する任務を負っています。ただし、サンプル プロバイダー (XmlPageProvider) を見ると、たとえば (examples.xml ドキュメントから) EpiServer が必要とするメタ情報をプロバイダーが管理しているように見えます。

<page id="10011" parent="10010" pagetypeid="3" versionid="1" security="Everyone:Read;Administrators:Create,Edit">
  <property name="PageGUID">35a988fe-2bc1-4e45-a41f-3a009a660551</property>
  <property name="PageTypeID">3</property>
  <property name="PageWorkStatus">4</property>
  <property name="PageFolderID">118</property>
  <property name="PageTypeName">[Public] Standard page</property>
  <property name="PageMasterLanguageBranch">en</property>
  <property name="PageLanguageBranch">en</property>
  <!---- SNIP! ---->
  <property name="Heading">A subpage</property>
  <property name="MainBody"><p>an external subpage</p></property>
  <property name="SecondaryBody"><p>second body</p></property>
  <property name="MetaAuthor">John Doe</property>
</page>

EpiServer がこれを処理してくれることを望んでいるので、私はこれについて少し心配しています。これは大量の Web サイトであり、この情報を維持するためにサービスに余分なデータ ストアを含める必要がなければいいのですが、控えめに言ってもキャッシュ可能性の問題があります。

だから、質問:

  1. カスタム ページ プロバイダーは、その仕事に適したツールですか?

  2. もしそうなら、この責任を EpiServer に戻す方法はありますか?

  3. そうでない場合は、このデータを保存するための最善の方法についてアドバイスをいただけますか? 以上のことから、データ ソースから何が得られるかを説明します。

とても有難い!

ロバート・スティーブンソン・レゲット

4

4 に答える 4

1

EpiServer CMSフォーラムでの私の質問からこれを得ました: http ://world.episerver.com/Forum/Pages/thread.aspx?id = 27574&pageIndex = 1

RE:カスタムページプロバイダー投稿者:JohanBjörnfot、2009年2月3日13:43:28

バックエンドストレージにメタ情報を保存する必要はありません。PageProviderBaseには、PageDataオブジェクトの初期化に役立つInitializePageData(メタデータプロパティを設定)やSetPropertyValues(メタプロパティやカスタムプロパティを設定)などのヘルパーメソッドがあります。

だからあなたの質問への答え:

  1. PageProviderはあなたの目的にぴったり合うようです。

  2. InitializePageDataを使用してメタデータを処理します(InitializePageDataは、メタプロパティのデフォルト値を設定します(ステータスを公開など)。ただし、ステータス(公開など)など、デフォルト以外のメタデータプロパティ値を設定する場合は、後でSetPropertyValuesを呼び出すことで設定できます。

  3. 追加のデータをバッキングストレージの外部に保存する必要がある場合は、いくつかのオプションがあります(dbのカスタムテーブル、ファイルベースなど)。どちらを使用するかは、環境、保存するデータの種類などによって異なります。

于 2009-02-03T15:07:23.867 に答える
1

それでも、ページGUID、ID、およびURLの管理に対処する必要があります。これは、外部データストアでは扱いにくい場合があります。MappedPageProviderを検索します-それはあなたのためにすべての面倒を見ます。

于 2009-09-05T01:45:19.583 に答える
1

カスタム ページ プロバイダーを使用するには、多くのお客様が持っていないエンタープライズ ライセンスも必要です。その問題について顧客に確認することを忘れないように...

于 2009-03-12T13:31:04.777 に答える
1

ページプロバイダーは、外部データソースからデータをパイプする優れた方法であり、あなたの場合には適切であるかのように聞こえます.

とはいえ、ここでは注意が必要です。かなり多くの配管を配置する必要があり、大規模なデータ ソースのパフォーマンスにはかなりの注意を払う必要があるからです。

EPiServer がいつ、どのようにページ データを要求するかを正確に理解することが重要です。つまり、いつページ キャッシュを使用し、いつデータ ソースにアクセスしようとするかを理解することが重要です。最終的には、特にデータ ソースへのリンクが比較的遅い場合は、効率的に検索できる形式で、ページに関する非常に多くの情報をキャッシュする必要があります。

これについてはかなり包括的な議論があります: EPiServer page providers and performance .

于 2009-09-20T21:59:00.697 に答える