代码之家  ›  专栏  ›  技术社区  ›  Rob Stevenson-Leggett

EpiServer CMS 5 R2:自定义页面提供程序-正确的选择?

  •  0
  • Rob Stevenson-Leggett  · 技术社区  · 16 年前

    我正在一个新项目中使用EpiServer CMS 5R2。我的任务是创建一个CustomPageProvider链接到我们无法控制的现有后端存储。但是,从示例提供程序(XmlPageProvider)来看,该提供程序似乎负责维护EpiServer所需的元信息,例如(来自examples.xml文档):

    <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>
    

    因此,问题是:

    1. 自定义页面提供程序是作业的正确工具吗?

    2. 如果是这样的话,有没有办法把这个责任推回到epserver上?

    3. 如果没有,你能给我一些关于如何最好地存储这些数据的建议吗?因为它超越了我们的数据源。

    非常感谢!

    4 回复  |  直到 15 年前
        1
  •  1
  •   Rob Stevenson-Leggett    16 年前

    从我在EpiServer CMS论坛上提出的问题中得出以下结论: http://world.episerver.com/Forum/Pages/thread.aspx?id=27574&pageIndex=1

    回复:自定义页面提供程序发布人: Johan BjÃúrnfot于2009年2月3日, 13:43:28

    您不必存储任何元数据 后端存储中的信息。 PageProviderBase,例如。 InitializePageData(设置元数据) 属性)和SetPropertyValue (设置元项目和/或自定义项目) 页面数据对象。

    因此,您的问题的答案如下:

    1. 听起来PageProvider很适合您的目的。

    2. 使用InitializePageData处理元数据(将设置InitializePageData 元属性的默认值 e、 g.发布状态等)。 但是,如果要设置其他圆顶 默认值,例如状态(发布 你可以打电话来

    3. 如果需要将其他数据存储在备份存储器之外 有多个选项可供选择(自定义) 表(以数据库、基于文件等为单位)。哪一个 要使用的一个取决于您的 环境,要存储的数据类型 等

        2
  •  1
  •   daniel daniel    15 年前

        3
  •  1
  •   Allan Thraen    15 年前

    您仍然需要管理页面GUID、id和URL,这对于外部数据存储来说可能很棘手。查找MappedPageProvider-它会为您处理所有这些。

        4
  •  1
  •   Jakob Runhem Jakob Runhem    15 年前

    页面提供程序是从外部数据源导入数据的一种很好的方式,尽管它们在您的情况下可能是合适的。

    也就是说,我在这里会很小心,因为有很多管道需要安装,并且必须对大型数据源的性能非常小心。

    准确理解EPiServer何时以及如何请求页面数据非常重要,即它何时使用页面缓存以及何时尝试访问数据源。最终,您必须以可以高效搜索的格式缓存大量页面信息,特别是当指向数据源的链接相对较慢时。

    这里有一个相当全面的讨论: EPiServer page providers and performance .