Sharepoint部署新列到列表

时间:2012-07-10 16:25:27

标签: list deployment sharepoint-2010

我是SharePoint 2010的新手,我在2007年有过一些经验,但只调试并修复了一些小错误。

假设我在VS2010中为SP 2010创建了一个新的解决方案,我添加了一个功能来创建一些列表定义以及这些列表定义模板的一些列表实例。这些都是通过Schema.xml =>声明的。

我成功部署并在我的新列表中添加了一些项目。

现在我想在我的列表中添加一些额外的列(字段),我将如何部署它们?

我不想在代码中创建它们,我希望有一个最新的解决方案,每个新开发人员都可以通过简单的部署来创建一个正常运行的Dev环境。

在这种情况下进行部署的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您为列表定义了schema.xml文件,那么您确实希望使用列表定义中的集合添加新列。您还希望确保列表由内容类型定义,以便重用。因此,在schema.xml文件中,它看起来像这样:

<List xmlns:ows="Microsoft SharePoint" Title="Test List" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/Test-List" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
  <MetaData>
    <ContentTypes>
      <ContentType ID="0x010068a2e063a1a74913a37ecdb61ab2c721" Name="Test" Group="Custom Content Types" Description="Test Description" Inherits="TRUE" Version="0">
        <FieldRefs>
          <FieldRef ID="{c2f80e7d-666e-4273-8b58-d5c8a13a9d6a}" Name="Col1" ShowInNewForm="TRUE" Required="TRUE" ShowInEditForm="TRUE"/>
          <FieldRef ID="{a84d620a-d42d-455c-8ef8-7e9f1d443250}" Name="Col2" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE"/>
          <!-- Your new field refs here here -->
        </FieldRefs>
      </ContentType>
    </ContentTypes>
    <Fields>
      <Field ID="{c2f80e7d-666e-4273-8b58-d5c8a13a9d6a}" Type="Text" AllowDeletion="FALSE" Description="Key" AllowDuplicateValues="FALSE" EnforceUniqueValues="TRUE" Indexed="TRUE" Name="Col1" DisplayName="Col1" Group="Custom Columns" />
      <Field ID="{a84d620a-d42d-455c-8ef8-7e9f1d443250}" Type="Text" AllowDeletion="FALSE" Name="Col2" DisplayName="Col2" Group="Custom Columns" />
      <!-- Your new fields here -->
    </Fields>
    ...
  </MetaData>
</List>

不要忘记更改您的视图!