Instance de liste dans le modèle de complément SharePoint

L’approche que vous prenez pour créer des instances de liste est différente dans le nouveau modèle de SharePoint par rapport au code de confiance totale. Dans un scénario classique de code de confiance totale /solution de batterie de serveurs, les instances de liste ont été créées avec du code déclaratif et déployées via SharePoint Solutions.

Dans un SharePoint de modèle de module de mise en service à distance, le modèle d’approvisionnement à distance est utilisé pour créer des instances de liste.

Conseils généraux

En règle générale, nous voulons fournir les instructions générales suivantes pour créer des instances de liste.

  • Utilisez le modèle de mise en service à distance pour créer des instances de liste.
  • N’utilisez pas de code déclaratif (elements.xml) pour créer des instances de liste.

Prise en main

L’exemple de code PnP O365 et la vidéo suivants montrent comment créer un add-in SharePoint qui fournit une interface utilisateur qui permet aux utilisateurs finaux de créer de nouvelles bibliothèques de documents. Il montre également comment créer une bibliothèque de documents avec des configurations spécifiques qui représentent collectivement un modèle. Dans cet exemple, vous trouverez le code qui crée une instance de liste.

La vidéo suivante montre l’exemple de code.

Utilisez la méthode AddList dans le SharePoint CSOM pour créer une instance de liste via le modèle de mise en service à distance. Code suivant provenant de l’ECM. DocumentLibraries (exemple de code PnP O365) montre comment le faire.

private void CreateLibrary(ClientContext ctx, Library library, string associateContentTypeID)
{
    if (!ctx.Web.ListExists(library.Title))
    {
      // Create List Instance
        ctx.Web.AddList(ListTemplateType.DocumentLibrary, library.Title, false);
        List _list = ctx.Web.GetListByTitle(library.Title);

      //Set Description
        if(!string.IsNullOrEmpty(library.Description))
        {
        _list.Description = library.Description;
        }

      //Turn on versioning
        if(library.VerisioningEnabled) {
          _list.EnableVersioning = true;
        }

    //Turn on Content Types
        _list.ContentTypesEnabled = true;
        _list.Update();

      //Add Content Type to List
        ctx.Web.AddContentTypeToListById(library.Title, associateContentTypeID, true);

        //Remove the default Document Content Type
        _list.RemoveContentTypeByName(ContentTypeManager.DEFAULT_DOCUMENT_CT_NAME);

        ctx.Web.Context.ExecuteQuery();
    }
}

L’exemple de code suivant montre comment créer une instance de liste avec l SharePoint API REST. Cet exemple provient de la référence de l’API REST Listes et éléments de liste (article MSDN)

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web/lists
    ?@target='<host web url>'",
  method: "POST",
  body: "{ '__metadata': { 'type': 'SP.List' }, 'AllowContentTypes': true, 'BaseTemplate': 100,
    'ContentTypesEnabled': true, 'Description': 'My list description', 'Title': 'Test title' }",
  headers: { "content-type": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Exemples PnP

S’applique à

  • Office 365 multi-locataire (MT).
  • Office 365 dédiés (D) partiellement
  • SharePoint 2013 en local : partiellement

Les modèles pour les versions dédiées et en local sont identiques au complément SharePoint technique du modèle, mais il existe des différences sur les technologies qui peuvent être utilisées.