SharePoint 2010 子站点迁移到跟站点的流程。 注意文章中subsite 指的是站点集的链接,subsite是子站点的链接。
站点结构如 :
http://site/subsite (这里 subsite 就是 site 的子站点)
http://site/subsite (注意这里使用MANAGED PATH subsite 来创建SITE COLLECTION subsite)
问题:如何迁移?
如果是SITE COLLECTION的迁移可以使用
1. stsadm –o backup & restore……[stsadm –help restore 帮助] 来完成。
2. 数据库迁移也是可以运用的。
这里详细谈谈对于子站点的迁移,使用stsadm.exe –o export & stsadm.exe o import 来完成。
1. 导出 http://site/subsite subsite. 用 stsadm.exe –help export 帮助。
2. 创建site collection. (http://site/subsite) 这里建议用stsadm.exe –o createsite 来创建。
因为默认的DEFAULT UI创建的站点。如:PUBLISHING SITE使用的站点模板是BLANKINTERNET#0,而第一步很可能导出的模板是BLANKINETERNET#2,这样导入的过程是会跑出异常的。 查看SITE TEMPLATE 列表 http://bit.ly/9iNjQV.
注意:默认的站点集的根站点使用的模板和创建站点集用的模板相同。
3. 部署WSP。 WSP中包含SITE COLUMNS, CONTENT TYPES,SITE ASSETS 等一些基础架构。
4. 在保证使用模板一致的情况下,可以导入刚刚导出的站点了 subsite 用 stsadm.exe –help import 帮助
*5. 完成了吗? 当访问站点的时候,就会发现没法发布页面,当PUBLISH的时候会出现ERROR PAGE。
Invalid SPListItem.The SPListItem provided is not compatible with a Publishing Page.
at Microsoft.SharePoint.Publishing.PublishingPage.GetPublishingPage(SPListItem sourceListItem)
查看PublishingPage.GetPublishingPage方法 http://bit.ly/g43ZTM
分析:当前Publishing Page系统并非识别认为是Publishing Page.
快速的解决办法: 重新激活 SharePoint Server Publishing Feature (Web级别)
这里迁移工作还没算结束,检查工作即将开始。
1. 检查所有的CSS的引用是否正确。 很可能在原来子站点的多数引用是 “/” 需要变成 “/subsite”
2. 检查所用的JS引用。
3. 检查所有的XSL引用, 如DATAVIEW WEBPART, CBQ, Summary Link,etc.
4. 检查所有IMAGE的。
STSADM.EXE –O EXPORT AND IMPORT 迁移的不足。
据说http://bit.ly/hwP9H3SUBSITE的大小不要超过10MB,如果超过10MB需要 SAVE AS SITE TEMPLATE,来完成。
不过暂时还没有碰到这个问题,如果碰到立即更新此文。
当然还要具体问题具体分析了。 上面是总结的经验,希望能够帮助大家。