Question

Exigence: WebTemplate avec des bibliothèques de documents personnalisées avec des types de contenu personnalisés à utiliser dans SharePoint 2013 en ligne

a créé le modèle Web et le type de contenu, les deux fonctionnent bien dans Online SharePoint. Mais je suis confronté à deux problèmes majeurs avec la définition de la liste

1) Impossible d'inclure le type de contenu personnalisé comme contenutyperef dans le schéma de définition de liste. 2) Impossible de comprendre comment inclure la définition de la liste sur WNEET.XML de la liste Web, j'essaie d'ajouter l'ID de fonctionnalité à la création d'un nouveau site à l'aide du modèle, la bibliothèque de documents est manquante.

code:

ONET.XML

<?xml version="1.0" encoding="utf-8"?>
<Project Title="$Resources:onet_TeamWebSite;" Revision="3" ListDir="$Resources:core,lists_Folder;" xmlns:ows="Microsoft SharePoint" UIVersion="15" HideSiteContentsLink="true">
  <NavBars>
  </NavBars>
  <ListTemplates>
  </ListTemplates>
<Configurations>
    <Configuration ID="0" Name="Default" MasterUrl="_catalogs/masterpage/seattle.master">
      <Lists>
        <List FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" Type="101" Title="$Resources:core,shareddocuments_Title_15;" Url="$Resources:core,shareddocuments_Folder;" OnQuickLaunch="TRUE" QuickLaunchHeading="TRUE" />
      </Lists>
      <SiteFeatures>
        <Feature ID="8b312a79-d117-44ef-81b2-453a71ccfea5" /> // Feature including the list definition
      </SiteFeatures>
      <WebFeatures>
      </WebFeatures>
    </Configuration>
  </Configurations>
  <ServerEmailFooter>$Resources:ServerEmailFooter;</ServerEmailFooter>
</Project>

Partie de la liste de la définition de la liste Schema.xml

<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Title="Resources" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/Resources" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/" EnableContentTypes="TRUE">
  <MetaData>
    <ContentTypes>
      <ContentType ID="0x010100992CB78E42804317A18A5E40907EA235" Name="Custom Content Type" Group="Custom Content Type" Description="Custom Content Type" Inherits="TRUE" Version="0">
        <FieldRefs>
          <FieldRef ID="{796E4A07-6AD2-4AC4-8788-2536EA0B0224}" Name="Organization/Author" Required="TRUE" />
          <FieldRef ID="{782D2071-7531-4F34-92E2-2418090A3ED9}" Name="Publication Date" Required="TRUE" />
          <FieldRef ID="{ceee0e58-7e36-47c9-9e20-3d3d0d7ba0d4}" Name="Partners" Required="TRUE" />
        </FieldRefs>
      </ContentType>
    </ContentTypes>
    <Fields>
      </Fields>
    <Views>

dans le contenu des types de contenu, j'ai également essayé d'utiliser du contenttyperef mais qui ne fonctionne pas non plus

Elément de type de contenu.xml

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <Field ID="{796E4A07-6AD2-4AC4-8788-2536EA0B0224}" Type="Text" Name="Organization/Author" DisplayName="Organization/Author" ShowInNewForm="FALSE" ShowInFileDlg="FALSE"></Field>
  <Field ID="{782D2071-7531-4F34-92E2-2418090A3ED9}" Type="DateTime" Name="Publication Date" DisplayName="Publication Date" Required="FALSE" EnforceUniqueValues="FALSE" ShowInNewForm="FALSE" ShowInFileDlg="FALSE"></Field>
  <Field ID="{ceee0e58-7e36-47c9-9e20-3d3d0d7ba0d4}" Type="Choice" Name="Partners" DisplayName="Partners" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE" Format="Dropdown" FillInChoice="FALSE">  
    <CHOICES>
      <CHOICE>Yes</CHOICE>
      <CHOICE>No</CHOICE>
    </CHOICES>
  </Field>

  <!-- Parent ContentType: Document (0x0101) -->
  <ContentType ID="0x010100992CB78E42804317A18A5E40907EA235" Name="Custom Content Type" Group="Custom Content Type" Description="Custom Content Type" Inherits="TRUE" Version="0">
    <FieldRefs>
      <FieldRef ID="{796E4A07-6AD2-4AC4-8788-2536EA0B0224}" Name="Organization/Author" Required="TRUE" />
      <FieldRef ID="{782D2071-7531-4F34-92E2-2418090A3ED9}" Name="Publication Date" Required="TRUE" />
      <FieldRef ID="{ceee0e58-7e36-47c9-9e20-3d3d0d7ba0d4}" Name="Partners" Required="TRUE" />
    </FieldRefs>
  </ContentType>
</Elements>

Quelqu'un peut-il suggérer ce que je fais mal?

Peu de choses, toutes les trois choses (WebTemplate, Type de contenu et la définition de la liste) sont incluses dans la même fonctionnalité qui est scopée sur le site, car je le déploierai sur SharePoint Online, qui est une architecture de sandboxed.

Était-ce utile?

La solution

J'aimerais vous suggérer de restructurer votre code un peu si je peux. Mettez le modèle Web dans sa propre solution. Obtenez cela en premier lieu.

Créez ensuite une deuxième solution qui inclut le type de contenu et la liste. Sa fonctionnalité doit être scopée sur le Web et non sur le site. Je ne vois aucun problème avec votre schéma et VS2012 dans n'importe quel cas dispose d'un assistant de concepteur de liste, et si vous avez utilisé que vous devriez être correct.

La raison pour laquelle je suggère 2 solutions est que des modèles Web compliquent le flux de travail de développement. Le redéploiement consiste à supprimer et à recréer tout le site. Il n'est pas nécessaire de le faire si vous ne travaillez que sur la liste. Avec votre liste dans une solution séparée, vos redéploiements seront beaucoup plus rapides.

Si vous avez besoin de tout dans une solution, vous pouvez les remettre à nouveau ensemble une fois que tout fonctionne, mais vous devez disposer de deux fonctionnalités: votre modèle Web doit être sur une fonctionnalité Site-SploDed et votre liste doit être dans un site Web. Fonction non comprimée. Les champs et le type de contenu, je pense, pourraient être ok dans l'une ou l'autre portée, mais je les ai toujours faites sur le Web.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top