Instance de liste dans le modèle de complément SharePoint
L’approche que vous utilisez pour créer des instances de liste est différente dans le nouveau modèle de complément SharePoint qu’avec le code de confiance totale. Dans un scénario standard de code de confiance totale (FTC) /solution de batterie de serveurs, des instances de liste ont été créées avec du code déclaratif et déployées via des solutions SharePoint.
Dans un scénario de modèle de complément SharePoint, 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 aimerions fournir les instructions générales suivantes pour créer des instances de liste.
- Utilisez le modèle d’approvisionnement à 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 et la vidéo PnP O365 suivants montrent comment créer un complément SharePoint qui fournit une interface utilisateur qui permet aux utilisateurs finaux de créer des 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 liste instance.
La vidéo suivante décrit l’exemple de code.
Utilisez la méthode AddList dans le modèle CSOM SharePoint pour créer une liste instance via le modèle d’approvisionnement à distance. Code suivant extrait de l’ECM. DocumentLibraries (exemple de code PnP O365) illustre comment procéder.
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 liste instance avec l’API REST SharePoint. 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
});
Liens associés
- Informations de référence sur l’API REST listes et éléments de liste (article MSDN)
- Définitions de liste / Modèles de liste (recette de modèle de complément SharePoint)
- Modèles de document et de liste avec modèle d’application (Vidéo PnP O365)
- Articles d’aide dans https://aka.ms/OfficeDevPnPGuidance
- Références dans MSDN sur https://aka.ms/OfficeDevPnPMSDN
- Vidéos sur https://aka.ms/OfficeDevPnPVideos
Exemples PnP
- ECM. DocumentLibraries (exemple de code PnP O365)
- Exemples de code et contenu dans https://github.com/SharePoint/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.