我在使用SharePoint时遇到的最大挑战之一是,它不能很好地适应典型的项目环境,典型的项目环境至少包含开发和生产环境。我遇到的最多的问题是,内容和列表是如此紧密地耦合在一起,以至于在不对生产环境执行内容冻结的情况下很难执行设计更改。例如,如果我有一个包含计算列的列表,并且想要添加一些新功能,我将不得不在生产服务器上执行内容冻结,从生产服务器创建一个列表模板(包括内容),将该列表恢复到开发环境,进行更改,然后反向执行列表模板过程。这同样适用于页面和SharePoint中的任何其他内容。似乎一旦部署了站点,最好直接在生产机器上工作,但由于显而易见的原因,这打破了大量的最佳实践。
你们中的一些其他SharePoint开发人员是如何处理这个限制的?
发布于 2008-10-24 17:39:01
实际上有两个(更多?)级别设置为SharePoint“开发”。您有部署到服务器的代码,例如web部件、内容类型、工作流操作等。这在部署和最佳实践方面工作得相对较好。
然后是您的示例,它更像是site实例的定制。当我们必须在Portal的Site Directory列表中自定义一个计算字段时,我们所做的是尝试并调整开发过程中的更改。然后编写要进行的自定义的详细说明,并让具有适当权限的单独人员使用这些说明在集成(暂存)服务器上进行更改。然后让同一个人在生产现场进行更改。
我不确定您的更改是否会受到这种方法的影响,但它值得考虑。
然后我们有另一个网站,这是由SharePoint designer大量定制的,我们工作的那个网站。
发布于 2008-10-24 17:44:55
您可以使用内容部署向导(http://www.codeplex.com/SPDeploymentWizard)快速迁移列表和库等内容。您还可以创建生产环境的备份/恢复拷贝,然后对其进行更改,然后在凌晨冻结内容(希望那时没有人会关心),将所有更改的数据从生产环境导入到您的拷贝中,然后通过生产环境恢复拷贝。至少冻结可以推迟,并且只有在导出->导入->恢复过程期间才是必要的。
在实践中,我只是手工修改我的产品。
发布于 2008-10-24 20:49:25
使用FeatureActivation代码将更改部署到列表的字段。在代码更新字段之后,您可以停用该功能并将其删除。这允许事先在QA环境中测试结果。
https://stackoverflow.com/questions/234432
复制相似问题