我在下面的链接中看到了这篇文章,我想知道你是否可以帮助我解决我的一些问题
http://msdn.microsoft.com/en-us/library/ee330223(v=office.12).aspx
在我们当前的项目中,我们没有开发但我们必须维护,我们面临一些问题,看起来像其他公司第一次开发内容类型,他们做得很好,使用 xml 定义,创建列表模板并且列表实例也做得很好并且有条理。
但是,在某个时间点,在内容类型和列表已经在生产中运行之后,必须进行一些更改(向现有内容类型添加新字段,更改显示名称或组名的翻译,更改所需的属性,showinnewform,showineditform, ETC)
在互联网上,我发现很多人都遇到了非托管内容类型的问题,这意味着内容类型与其 XML 定义分离,据我所知,当有人使用 UI 修改子内容类型或列表时会发生这种情况。
我正在尝试收集部署后管理内容类型的最佳实践列表:
1.如何在现有内容类型中添加新字段?
为此,我们使用了 UpgradeActions 和 AddFieldRef
2.如何从内容类型中删除现有字段?
为此,我们还不需要它,但我看到还存在可以在 UpgradeActions 中使用的 RemoveFieldRef 元素
3.如何对内容类型中的字段进行重新排序?
我们通过自定义升级操作中的代码来执行此操作。
4.如何更改现有字段的翻译?
我们通过自定义升级操作中的代码来执行此操作。
5.如何更改 ShowInDisplayForm、ShowInNewForm、Hidden、Required 等属性。
我们通过自定义升级操作中的代码来执行此操作。
我想知道我上面的特别点 3,4 和 5 是否可以称为最佳实践,或者我是否遗漏了什么或做错了什么?为什么?几周前我们遇到了很多问题,当通过代码进行更改并且下推更改不起作用时,没有推送更改(我们没有在列表中看到更改)。在阅读了几个小时后,我发现这可能是因为列表内容类型 LINK 与其父内容类型定义不同。
我发现可以使用 SQL 来重新建立此链接,但它当然不受支持。
http://www.olavaukan.com/2010/10/content-types-can-be-unghosted-too/
也许有人可以指导我正确的方向?