- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个假设性的问题(至少现在是这样):
假设我基于一些自定义内容类型创建列表。我在该列表中添加了约1000个项目(正在生产中)。然后客户来了,他说他需要修改该自定义内容类型。
如果我修改自定义内容类型,列出该怎么办?它会自动更新(我怀疑)吗?那已经创建的列表项呢?
你们当中有人有经验吗?
最佳答案
因此,与内容类型有关的几个问题:
首先,内容类型有两种:网站内容类型和列表内容类型。网站内容类型是驻留在库中的"template"。在列表中使用站点内容类型时,该内容类型将实例化为给定列表上的列表内容类型。
其次,可以通过多种方式创建和修改您的内容类型,这将决定数据库中数据以三种方式中的哪一种方式。
如果您已经使用GUI或通过使用API的自定义代码创建了内容类型,则您的站点内容类型和列表内容类型都在数据库中处于“仅数据库”状态。这意味着它正在数据库中寻找内容类型的定义。
如果您已在CAML中将内容类型创建为功能,则您的站点内容类型在数据库中被重影(或未定制,因为我们应该在v3中将其称为)。从根本上讲,这意味着数据库在12单元格中的功能XML中查找构成内容类型的站点列。因此,这意味着您可以更新功能,并且在更新内容类型中可以使用新的网站列,对吗?
不幸的是,不是:还记得我们还有列表内容类型吗?令人讨厌的是,这些列表内容类型是使用代码实例化的,因此它们处于“仅数据库”状态。这意味着您所做的更改只会显示在您的网站内容类型中,而不会显示在使用该内容类型的现有列表中!
有几种方法可以解决此问题,解决方案取决于您的需求和所进行的更改(删除字段,添加字段,更改字段)。
例如,即使内容类型随时间而变化,您通常还是希望保留现有的项目元数据。如果通过代码推送列表内容类型中的更改,则将丢失存储在已更改/已删除字段中的数据。一种解决方案是在旧内容类型的基础上添加一个全新的内容类型,但要更改字段。您将添加新的内容类型(通过代码或使用功能XML),并使用功能接收器或类似功能将新的内容类型传播到所有使用旧内容类型的列表,然后将旧内容类型标记为隐藏。这样就可以保留旧的元数据,而不能使用除新的元数据以外的其他项添加新的项。
如果您可以直接访问生产环境,并且您的客户治理计划允许,则最好使用在此问题的其他答案中提到的方法。但是,与SharePoint中的其他工件一样,建议以结构化的方式部署内容类型。以非结构化的方式添加新的内容类型将影响搜索的相关性(托管属性),并且还可能影响网站的一般分类法(网站列未重复使用等),因此即使可以将这些更改直接添加到网站中生产现场,我不推荐!
这使我得出了我将推荐的 final方法,至少对于将来的内容类型来说是这样:建议使用功能接收器从头开始以编程方式创建您的内容类型!这样,您将始终了解内容类型的真实状态(仅数据库),并且可以采用结构化的方法来管理将来的更改!您可以通过谷歌搜索“以编程方式创建“内容类型” SharePoint”找到几种方法
为了完整性:我提到了三种模式。您的内容类型可以使用的最后一种模式是“UnGhosted”。这意味着您的内容类型是使用功能XML创建的,但已与12个配置单元中的原始XML源断开连接。
我的 friend 索伦·尼尔森(SørenNielsen)在内容类型上有一些要点
在Audit your Content Type Hierarchy中。在MSDN文章Updating Content Types中可以简短地提到上述一些问题。
Gary Lapointe还具有STSADM扩展名,可解决内容类型的某些问题,请参见Propagate Content Type Changes。
对不起,但主题很复杂,需要详尽的解释以避免任何误解。
关于Sharepoint:更新内容类型时,基于内容类型的列表会如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/446451/
我必须使用 powershell 将 csv 文件字段上传到 Sharepoint 2010 列表中。我在 Windows XP 机器上工作。 当我尝试添加 pssnapin 时 Add-PSSnap
我需要以编程方式与来自 SharePoint 外部的 SharePoint 文件夹、文件和列表进行交互。大多数教程侧重于在 SharePoint 本身内工作,或者至少在安装 SharePoint 的同
我正在将用户写入 SharePoint 列表。 我读过 SharePoint 用户字段中有一个这样的字符串:userId;#userLoginName 在写入用户字段时,我尝试以相同的方式进行格式化,
是否可以在“提供商托管应用程序”中使用 SharePoint 左侧导航栏。 SharePoint 网站“PlaceHolderLeftNavBar”上显示的导航。有没有像某些 ajax 调用或 RES
我正在编写一个使用客户端对象模型访问 SharePoint 站点的应用程序,并且我在代理服务器后面。 我打电话... ClientContext.ExecuteQuery() 并收到以下错误消息...
我在远程计算机上有一个 SharePoint 2013 服务器。 我安装了这个:https://www.microsoft.com/en-us/download/details.aspx?id=355
我对强大的应用程序还很陌生,并试图为我的以下场景确定最佳行动方案。我想根据每个新的月度文件确定哪些用户提交了列表 A,哪些用户没有提交。 我在我创建的 Sharepoint 上有一个列表(列表 A),
我有两个共享点列表。 List1 - 这包含所有用户并且主键为 UserIdList2 - 这包含所有类(class),主键为 CourseId 现在我想定义第三个列表,它将其主键作为复合键。List
sharepoint 公告列表中的过期项目会怎样?我可以得到所有项目包括过期项目吗? 最佳答案 它们本身没有任何变化 - 它们只是使用带过滤器的 View 从显示中过滤掉。 这是使用的过滤器:- 你可
我有一个由其他人编程的页面布局 PeopleSearchResults.aspx。 它包含以下标签 SharePoint refine people search results control .
嗨,我想知道我可以使用哪种布局来获取右上角的搜索框。我使用(欢迎页面)空白Web部件页面)作为页面布局,但是它缺少右上角的搜索框。 还有另一个问题:如何在“创建页面”页面的列表中添加自己的布局。谢谢。
我正在拼命寻找一种工具,允许我将旧版本的文档从 SharePoint 2003 复制到 SharePoint 2007 站点。 你知道有什么简单的(最好是免费的)工具可以做到这一点吗? 最佳答案 这对
我可以在现成的SharePoint Web部件(RSS Viewer和Data View Web部件)中使用几个不同的.NET XSLT函数。 ... More...
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我需要使用默认共享点过滤器 Web 部件传递的值。我看不到自定义共享点 Web 部件如何建立连接并获取数据。这可能吗? 已更新 提供者 WebPart 是默认的 SharePoint 列表过滤器 We
有一个关于同一主题的类似问题,但我正在添加这个问题并且之前的讨论已经解决。 这是原始问题的链接:Auto number column in SharePoint list 我现在试图找出在 MOSS
我们正在开发一个使用集成身份验证的 Intranet 门户,但站点的一些部分将暴露给不在域中的用户。对于这些用户,我们计划使用匿名访问。但是,我们整个应用程序的显示逻辑是基于登录到门户的用户,因此我们
市场上是否有任何工具可以有效分析 SharePoint 列表中的数据?我有一个客户希望分析和报告存储在 SharePoint 中的员工绩效数据。 最佳答案 Does SSRS give you any
我使用以下方法将文档上传到 sharepoint 文档库。 但是,在执行查询时 - 收到以下错误: 消息 = “远程服务器返回错误:(400) 错误请求。” 文件失败超过 1mb,所以我通过 shar
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我是一名优秀的程序员,十分优秀!