用VS向SharePoint中部署添加List 并指定应用的Content Type

在SharePoint Project中添加相应的Item,完全用界面的形式向EricSunArticlesList中添加好对应的Column,之后用Feature将List添加到SharePoint中

代码如下:

外层Elements.xml

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <!-- Do not change the value of the Name attribute below. If it does not match the folder name of the List project item, an error will occur when the project is run. -->
    <ListTemplate
        Name="EricSunArticlesList"
        Type="10000"
        BaseType="0"
        OnQuickLaunch="TRUE"
        SecurityBits="11"
        Sequence="410"
        DisplayName="EricSunArticlesList"
        Description="My List Definition"
        Image="/_layouts/images/itgen.png"/>
</Elements>

以及对应的Schema

<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Title="EricSunArticlesList" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/EricSunArticlesList" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/" EnableContentTypes="TRUE">
  <MetaData>
    <ContentTypes>
      <ContentType ID="0x0100E936A3148A534940B2935752F0BD896C" Name="EricSunArticleContentType" Group="Custom Content Types" Description="My Content Type" Inherits="TRUE" Version="0">
        <FieldRefs>
          <FieldRef ID="{7eccc4a3-a2f3-4557-93a1-279e436777c1}" DisplayName="Article Attachments" Required="FALSE" Hidden="FALSE" Name="EricSunArticleAttachments" />
          <FieldRef ID="{49228b08-1a7a-424f-91c2-041bda4b6e91}" DisplayName="Article Author" Required="FALSE" Name="EricSunArticleAuthor" />
          <FieldRef ID="{c5281ad2-6370-4262-8e94-bce02b4f7221}" DisplayName="Article Content" Required="FALSE" Name="EricSunArticleContent" NumLines="6" />
          <FieldRef ID="{baba6eeb-83e3-4104-b07b-56a258ccb361}" DisplayName="Article Summary" Required="FALSE" Name="EricSunArticleSummary" />
          <FieldRef ID="{4010a1fb-4b31-4779-af01-77e5c14f8a11}" DisplayName="Category String" Required="FALSE" Hidden="FALSE" Name="EricSunCategoryString" ReadOnly="TRUE" />
          <FieldRef ID="{4e497534-ca46-4e24-8cde-71ab0ba1dcc1}" DisplayName="Expiration Date" Required="FALSE" Name="EricSunExpirationDate" Format="DateOnly" />
          <FieldRef ID="{664de09d-8d56-400b-a061-49c32b5d4681}" DisplayName="Published Date" Required="FALSE" Name="EricSunPublishedDate" Format="DateOnly" />
          <FieldRef ID="{22a4abe4-f666-4aeb-8948-9ae2fe90fb31}" DisplayName="Status" Required="FALSE" Name="EricSunStatus" />
          <FieldRef ID="{be6756f5-7879-4bcc-a271-076f6d8ccda1}" DisplayName="Categories" Required="TRUE" Name="EricSunCategories" />
        </FieldRefs>
      </ContentType>
    </ContentTypes>
    <Fields>
      <Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Type="Text" Name="Title" DisplayName="$Resources:core,Title;" Required="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Title" MaxLength="255" />
      <Field ID="{7eccc4a3-a2f3-4557-93a1-279e436777c1}" Name="EricSunArticleAttachments" DisplayName="Article Attachments" Type="Note" Required="FALSE" Viewable="FALSE" Hidden="FALSE" RichText="FALSE" UnlimitedLengthInDocumentLibrary="TRUE" Group="Eric Sun Site Columns"></Field>
      <Field ID="{49228b08-1a7a-424f-91c2-041bda4b6e91}" Name="EricSunArticleAuthor" DisplayName="Article Author" Type="Text" Required="FALSE" Group="Eric Sun Site Columns"></Field>
      <Field ID="{c5281ad2-6370-4262-8e94-bce02b4f7221}" Name="EricSunArticleContent" DisplayName="Article Content" NumLines="6" Type="HTML" RichText="TRUE" RichTextMode="ThemeHtml" Required="FALSE" Group="Eric Sun Site Columns"></Field>
      <Field ID="{baba6eeb-83e3-4104-b07b-56a258ccb361}" Name="EricSunArticleSummary" DisplayName="Article Summary" Type="Text" Required="FALSE" MaxLength="256" Group="Eric Sun Site Columns"></Field>
      <Field ID="{4010a1fb-4b31-4779-af01-77e5c14f8a11}" Name="EricSunCategoryString" DisplayName="Category String" Type="Text" Required="FALSE" Viewable="FALSE" Hidden="FALSE" Group="Eric Sun Site Columns" ReadOnly="TRUE"></Field>
      <Field ID="{4e497534-ca46-4e24-8cde-71ab0ba1dcc1}" Name="EricSunExpirationDate" DisplayName="Expiration Date" Type="DateTime" Required="FALSE" Format="DateOnly" Group="Eric Sun Site Columns"></Field>
      <Field ID="{664de09d-8d56-400b-a061-49c32b5d4681}" Name="EricSunPublishedDate" DisplayName="Published Date" Type="DateTime" Format="DateOnly" Required="FALSE" Group="Eric Sun Site Columns"></Field>
      <Field ID="{22a4abe4-f666-4aeb-8948-9ae2fe90fb31}" Name="EricSunStatus" DisplayName="Status" Type="Choice" Required="FALSE" Group="Eric Sun Site Columns">
        <CHOICES>
          <CHOICE>Work in Progress</CHOICE>
          <CHOICE>Pending Approval</CHOICE>
          <CHOICE>Published</CHOICE>
          <CHOICE>UnPublished</CHOICE>
          <CHOICE>Expired</CHOICE>
          <CHOICE>Archived</CHOICE>
        </CHOICES>
        <Default>Work in Progress</Default>
      </Field>
      <Field ID="{be6756f5-7879-4bcc-a271-076f6d8ccda1}" Name="EricSunCategories" DisplayName="Categories" Type="LookupMulti" Mult="TRUE" Required="TRUE" List="Lists/EricSunCategoriesList" ShowField="Title" UnlimitedLengthInDocumentLibrary="FALSE" Group="Eric Sun Site Columns"></Field>
    </Fields>
    <Views>
      <View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">
        <Toolbar Type="Standard" />
        <XslLink Default="TRUE">main.xsl</XslLink>
        <RowLimit Paged="TRUE">30</RowLimit>
        <ViewFields>
          <FieldRef Name="LinkTitleNoMenu"></FieldRef>
        </ViewFields>
        <Query>
          <OrderBy>
            <FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
          </OrderBy>
        </Query>
        <ParameterBindings>
          <ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />
          <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
          <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_ONET_HOME)" />
        </ParameterBindings>
      </View>
      <View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx">
        <Toolbar Type="Standard" />
        <XslLink Default="TRUE">main.xsl</XslLink>
        <RowLimit Paged="TRUE">30</RowLimit>
        <ViewFields>
          <FieldRef Name="Attachments"></FieldRef>
          <FieldRef Name="LinkTitle"></FieldRef>
          <FieldRef Name="EricSunArticleAttachments" />
          <FieldRef Name="EricSunArticleAuthor" />
          <FieldRef Name="EricSunArticleContent" />
          <FieldRef Name="EricSunArticleSummary" />
          <FieldRef Name="EricSunCategoryString" />
          <FieldRef Name="EricSunExpirationDate" />
          <FieldRef Name="EricSunPublishedDate" />
          <FieldRef Name="EricSunStatus" />
          <FieldRef Name="EricSunCategories" />
        </ViewFields>
        <Query>
          <OrderBy>
            <FieldRef Name="ID"></FieldRef>
          </OrderBy>
        </Query>
        <ParameterBindings>
          <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
          <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />
        </ParameterBindings>
      </View>
    </Views>
    <Forms>
      <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
      <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
      <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
    </Forms>
  </MetaData>
</List>

 

通过添加Row 的方式可以添加默认的Item

即:里层Elements.xml

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ListInstance Title="EricSunArticlesList" OnQuickLaunch="TRUE" TemplateType="10000" Url="Lists/EricSunArticlesList" Description="My List Instance">
    <Data>
      <Rows>
        <Row>
          <Field Name="Title"><![CDATA[Article1]]></Field>
          <Field Name="EricSunArticleContent"><![CDATA[1 VEXILLUM Custus Morbi.]]></Field>
          <Field Name="EricSunPublishedDate">2013-02-03 00:00:00</Field>
          <Field Name="EricSunExpirationDate">2023-02-04 00:00:00</Field>
          <Field Name="EricSunStatus">Published</Field>
          <Field Name="EricSunArticleAttachments"></Field>
          <Field Name="EricSunCategories">;#1;#EricSunCategory1;#</Field>
          <Field Name="EricSunArticleAuthor">EricSun</Field>
          <Field Name="EricSunCategoryString">EricSunCategory1</Field>
          <Field Name="EricSunArticleSummary">1 VEXILLUM Custus Morbi cursus sapien est progressionis ipsius sumptus-plus</Field>
        </Row>
        <Row>
          <Field Name="Title"><![CDATA[Article2]]></Field>
          <Field Name="EricSunArticleContent"><![CDATA[1 VEXILLUM Custus Morbi.]]></Field>
          <Field Name="EricSunPublishedDate">2013-02-03 00:00:00</Field>
          <Field Name="EricSunExpirationDate">2023-02-04 00:00:00</Field>
          <Field Name="EricSunStatus">Published</Field>
          <Field Name="EricSunArticleAttachments"></Field>
          <Field Name="EricSunCategories">;#1;#EricSunCategory2;#</Field>
          <Field Name="EricSunArticleAuthor">EricSun</Field>
          <Field Name="EricSunCategoryString">EricSunCategory1</Field>
          <Field Name="EricSunArticleSummary">1 VEXILLUM Custus Morbi cursus sapien est progressionis ipsius sumptus-plus</Field>
        </Row>
      </Rows>
    </Data>
  </ListInstance>
</Elements>

 


*********************************************************************************************************

 

这里再添加另外一个的List(应用Item的Content Type):EricSunCategoriesList;并用Feature将此List添加到SharePoint中

外层Elements.xml

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <!-- Do not change the value of the Name attribute below. If it does not match the folder name of the List project item, an error will occur when the project is run. -->
    <ListTemplate
        Name="EricSunCategoriesList"
        Type="10001"
        BaseType="0"
        OnQuickLaunch="TRUE"
        SecurityBits="11"
        Sequence="410"
        DisplayName="EricSunCategoriesList"
        Description="My List Definition"
        Image="/_layouts/images/itgen.png"/>
</Elements>

Schema.xml

<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Title="EricSunCategoriesList" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/EricSunCategoriesList" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
  <MetaData>
    <ContentTypes>
      <ContentTypeRef ID="0x01">
        <Folder TargetName="Item" />
      </ContentTypeRef>
      <ContentTypeRef ID="0x0120" />
    </ContentTypes>
    <Fields>
      <Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Type="Text" Name="Title" DisplayName="$Resources:core,Title;" Required="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Title" MaxLength="255" /> 
    </Fields>
    <Views>
      <View BaseViewID="0" Type="HTML" MobileView="TRUE" TabularView="FALSE">
        <Toolbar Type="Standard" />
        <XslLink Default="TRUE">main.xsl</XslLink>
        <RowLimit Paged="TRUE">30</RowLimit>
        <ViewFields>
          <FieldRef Name="LinkTitleNoMenu"></FieldRef>
        </ViewFields>
        <Query>
          <OrderBy>
            <FieldRef Name="Modified" Ascending="FALSE"></FieldRef>
          </OrderBy>
        </Query>
        <ParameterBindings>
          <ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />
          <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
          <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_ONET_HOME)" />
        </ParameterBindings>
      </View>
      <View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;" DefaultView="TRUE" MobileView="TRUE" MobileDefaultView="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/generic.png" Url="AllItems.aspx">
        <Toolbar Type="Standard" />
        <XslLink Default="TRUE">main.xsl</XslLink>
        <RowLimit Paged="TRUE">30</RowLimit>
        <ViewFields>
          <FieldRef Name="Attachments"></FieldRef>
          <FieldRef Name="LinkTitle"></FieldRef>
        </ViewFields>
        <Query>
          <OrderBy>
            <FieldRef Name="ID"></FieldRef>
          </OrderBy>
        </Query>
        <ParameterBindings>
          <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
          <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />
        </ParameterBindings>
      </View>
    </Views>
    <Forms>
      <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
      <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
      <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
    </Forms>
  </MetaData>
</List>

里层Elements.xml,用于向List中添加默认值

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ListInstance Title="EricSunCategoriesList"
                OnQuickLaunch="TRUE"
                TemplateType="10001"
                Url="Lists/EricSunCategoriesList"
                Description="My List Instance">
    <Data>
      <Rows>
        <Row>
          <Field Name="Title">EricSunCategory1</Field>
        </Row>
        <Row>
          <Field Name="Title">EricSunCategory2</Field>
        </Row>
      </Rows>
    </Data>
  </ListInstance>
</Elements>

 

http://msdn.microsoft.com/en-us/library/gg276355(v=office.14).aspx 

 

posted @ 2013-03-04 16:16  Eric Sun  阅读(810)  评论(0编辑  收藏  举报