List视图中的Managed ="0"是什么意思?

War*_*tus 8 tridion

我编写了一个Data Extender类和编辑器扩展,可以在浏览CME(文件夹和结构组)中的列表时正确显示项目的其他几列.我必须注册我的类来处理GetList,GetListSearch,GetListUserFavorites和GetListCheckedOutItems等命令.

我已经注意到的是,即使说的列表,模式被加载在CME下拉列表中的代码被执行(创建一个新的组件时一样,你会得到架构的下拉列表) .所以,即使在那种情况下不需要我的附加数据列,代码仍然被执行并且它减慢了速度.

看来这是在这些情况下调用的GetList命令.所以,我不能只根据命令跳过处理.所以,我开始查看类接收列表的XML,并且我注意到为下拉列表运行代码时Managed="0",XML中有一个.例如:

  • 对于结构组列表: <tcm:ListItems Managed="64" ID="tcm:103-546-4">
  • 对于文件夹列表: <tcm:ListItems Managed="16" ID="tcm:103-411-2">
  • 但是对于Schema列表: <tcm:ListItems ID="tcm:0-103-1" Managed="0">
  • 对于显示类别的关键字值的下拉列表: <tcm:ListItems Managed="0" ID="tcm:103-506-512">

那么,我可以使用此Managed ="0"作为标志来指示正在处理的列表不会显示我的其他列,我可以退出处理吗​​?

And*_*huk 8

Managedvalue表示可以在其中创建的项目OrganizationItem:

  • 64表示您可以创建页面
  • 16表示您可以创建组件
  • 10,例如意味着你可以创建文件夹(2)+模式(8)
  • 518 - 文件夹(2)+结构组(4)+类别(512)

非组织项的值为0.

值取决于项目本身(例如,您不能在文件夹中创建页面),以及您在发布和组织项目上的安全设置


lna*_*aie 7

不幸的是,CME现在无法提供那种粒度级别,以允许您在数据扩展器中告知特定WCF API调用的来源.我们的WCF API尚未识别上下文.它可能在将来发生变化.

信任管理="0"不是一个好主意.原因是模型列表是每个过滤器缓存的客户端.在当前设计中,过滤器具有CM相关数据,并且与发出请求的上下文无关.通常,客户端用户界面尽可能重用缓存的模型数据.例如,可以在CME仪表板中使用相同的模型列表,并将下拉控件放置在某个项目视图中,但使用不同的xml列表定义:第一个列表定义中列出的列数多于后者.它们基本上是相同数据的不同视图.

因此,您可能想要为您的问题考虑不同的解决方案.现在......这些附加列背后的数据来自哪里?是Tridion CM还是第三方提供商?有时,Web服务器缓存可以提供一种可接受的方式来改善响应时间.但那是你应该评估和决定的那种设计.