Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El enfoque usado para crear instancias de lista es distinto en el nuevo modelo de complementos de SharePoint, en comparación con el código de plena confianza. En un típico código de plena confianza (FTC) o escenario de solución de granja, las instancias de lista se han creado con código declarativo e se han implementado con soluciones de SharePoint.
En un escenario de modelo de complemento de SharePoint, el modelo de aprovisionamiento remoto se usa para crear instancias de lista.
Directrices importantes
Como regla general, nos gustaría proporcionar las siguientes directrices generales para crear instancias de lista.
- Use el modelo de aprovisionamiento remoto para crear instancias de lista.
- No use el código declarativo (elements.xml) para crear instancias de lista.
Introducción
En el siguiente ejemplo de código PnP de Office 365 y vídeo se explica cómo crear un complemento de SharePoint que ofrece una interfaz de usuario que permite a los usuarios finales la creación de nuevas bibliotecas de documentos. También se muestra cómo crear una biblioteca de documentos con una configuración específica que representa de manera colectiva una plantilla. En este ejemplo, encontrará el código que crea una instancia de lista.
El siguiente vídeo le guiará por el ejemplo de código.
Use el método AddList en CSOM de SharePoint para crear una instancia de lista con el modelo de aprovisionamiento remoto. En el siguiente código de ECM.DocumentLibraries (ejemplo de código PnP de Office 365) se muestra cómo hacerlo.
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();
}
}
En el ejemplo siguiente se muestra cómo crear una instancia de lista con la API de REST de SharePoint. Este ejemplo procede del Referencia de API de REST de listas y elementos de lista (artículo de 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
});
Vínculos relacionados
- Referencia de API de REST de listas y elementos de lista (artículo MSDN)
- Definiciones de lista y plantillas de lista (fórmula de modelo de complemento de SharePoint)
- Plantillas de lista y documentos con el modelo de aplicación (vídeo PnP de Office 365)
- Artículos de orientación en https://aka.ms/OfficeDevPnPGuidance
- Referencias en MSDN en https://aka.ms/OfficeDevPnPMSDN
- Vídeos en https://aka.ms/OfficeDevPnPVideos
Ejemplos de PnP
- ECM.DocumentLibraries (ejemplo de código PnP de Office 365)
- Ejemplos y contenido en https://github.com/SharePoint/PnP
Se aplica a
- Office 365 multiempresa (MT)
- Office 365 dedicado (D) parcial
- SharePoint 2013 local parcial
Los modelos para Office 365 dedicado y local son idénticos a las técnicas del modelo de complemento de SharePoint, pero existen algunas diferencias en las posibles tecnologías que se pueden usar.