zoukankan      html  css  js  c++  java
  • 深入浅出SharePoint——包含关联字段列表模板使用问题

    测试环境:

    SharePoint2007和SharePoint2010。

    应用场景

    列表Province:用来存储省份信息。主要包含省份地段。

    列表Region:用来存储地区信息。主要包含省份和辖属的地信息,其中省份字段信息来源来自列表Province的Title(即省份)字段。

    一句话,两个列表是相关联的。

    问题描述

    我们在跟客户提供解决方案的时候,常常现在DEV环境开发和测试完毕后,然后迁移到PROD环境。为了提高迁移的效率,我们常常把列表存储为模板来达到重复使用和快速建站的目的。而在上述应用场景中,使用包含关联字段的列表模板创建列表,我们常常发现关联的字段的关联关系失效,常常需要删除并重新创建。

    如下图所示:Get information from显示为空。真杯具!

    原理剖析

    1、*.stp模板文件是一个包含名称manifest.xml文件的cab包。

    我们使用7-zip工具解压缩地区列表模板文件Region.stp后得到manifest.xml。使用记事本(Notepad)查看代码,发现Lookup字段使用目标SharePoint网站上要查阅的列表的GUID来定义List属性的,因为每次创建新的列表的时候会自动分配的唯一GUID。

    2、列表使用唯一的GUID来标示。

    解决办法

    1、从站点A导出ProvinceA.stp和RegionA.stp。

    2、先导入ProvinceA.stp到站点B,并使用ProvinceA.stp在站点B上创建新的列表Province。

    3、导出站点B上列表Province的模板ProvinceB.stp,解压查看其GUID。

    4、修改站点A中导出的列表模板RegionA.stp中Lookup字段定义的列表Province的GUID,设置其值为站点B中创建的Province列表的GUID。

    5、使用makecab命令生成新的Region.stp,用来导入站点B中的list模板库来使用。

    6、大功告成的,如心所料!

    下文:后续我会专门整理个工具来处理SharePoint bug的工具集。

  • 相关阅读:
    走向灵活软件之路——面向对象的六大原则
    StartUML破解
    非常实用的Android Studio快捷键
    Android Studio更新失败
    《Effect Java》学习笔记1———创建和销毁对象
    使用spring单元调试出错initializationError
    Spring注入的不同方式
    DNS域名解析的过程
    浏览器的缓存机制
    Http建立连接的方式
  • 原文地址:https://www.cnblogs.com/mingle/p/1947902.html
Copyright © 2011-2022 走看看