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
});
Liens connexes
- Référence de l’API REST des listes et des éléments de liste (article MSDN)
- Définitions de liste/modèles de liste (SharePoint modèle de modèle de module de développement)
- Modèles de document et de liste avec modèle d’application (vidéo PnP O365)
- Articles de référence sur la page https://aka.ms/OfficeDevPnPGuidance
- Références dans MSDN sur la page https://aka.ms/OfficeDevPnPMSDN
- Vidéos sur la page 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.