Desarrollo .NET sobre SharePoint

27
Desarrollo .NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia [email protected]

description

Desarrollo .NET sobre SharePoint. Jordi Rambla Consultor Rambla informàtica - Certia [email protected]. Agenda. Oportunidades de Desarrollo Desarrollo de Web Parts Sharepoint 2003 El Modelo de Objetos de SharePoint 2003 Los Web Services de SharePoint 2003. - PowerPoint PPT Presentation

Transcript of Desarrollo .NET sobre SharePoint

Page 1: Desarrollo .NET sobre SharePoint

Desarrollo .NET sobre SharePointJordi Rambla

Consultor

Rambla informàtica - Certia

[email protected]

Page 2: Desarrollo .NET sobre SharePoint

Agenda

Oportunidades de Desarrollo

Desarrollo de Web Parts Sharepoint 2003

El Modelo de Objetos de SharePoint 2003

Los Web Services de SharePoint 2003

Page 3: Desarrollo .NET sobre SharePoint

Desarrollo de Web-Part Desarrollo de Web-Part ‘Hola Mundo’‘Hola Mundo’

- Creación de Web Part- Creación de Web Part- Métodos Base de un Web Part- Métodos Base de un Web Part- HTML renderizado manualmente- HTML renderizado manualmente

Page 4: Desarrollo .NET sobre SharePoint

Desarrollo de Web Parts

Plantillas de proyecto WebPart con VS.NET (MSDN Downloads)

Derivar de clase base de SharePoint

Implementar uno o mas interfaces de SharePoint

MiNamespace.WebParts.MiWebPartMiNamespace.WebParts.MiWebPart

Microsoft.SharePoint.WebPartPages.WebPartMicrosoft.SharePoint.WebPartPages.WebPart

System.Web.UI.ControlSystem.Web.UI.Control

Tu assembly

Microsoft.SharePoint.dll

System.Web.dll

Page 5: Desarrollo .NET sobre SharePoint

Los ficheros de un Web Part

Tu Web-PartTu Web-Part

Assembly .NET encapsulando encapsulando

el código servidor el código servidor y renderización y renderización

del HTML del HTML

Un fichero DWP (basado en XML) que

guarda algunas Propiedades y valores que se necesitan para

cargar el assembly .NET

Un fichero ‘manifest’ (basado en XML) que guarda datos

a fusionar con el web.config

Fichero CABFichero CAB

STSADM.EXESTSADM.EXEUtilidad de instalación

Page 6: Desarrollo .NET sobre SharePoint

Desarrollo Básico - Simple

1. Definir Propiedades ‘custom‘ del WebPart

2. Generar un ‘montón’ de HTML en el método RenderWebPart

Page 7: Desarrollo .NET sobre SharePoint

Desarrollo Básico – Realista(Uso de WebControls internos)

1. Definir Propiedades ‘custom‘ del WebPart

2. Sobreescribir CreateChildControls

1. Instanciar web-controls y añadirlos a la colección de controles

3. Implementar el gestionador(es) del evento OnLoad

Page 8: Desarrollo .NET sobre SharePoint

Conexión de Web Parts

Los Web Parts se pueden conectar si implementan los interfaces para conexiones (estándar SharePoint)

Page 9: Desarrollo .NET sobre SharePoint

Interfaces Soportados

ICellProvider, ICellConsumer

IRowProvider, IRowConsumer

IListProvider, IListConsumer

IFilterProvider, IFilterConsumer

IParametersOutProvider, IParametersOutConsumer IParametersInProvider, IParametersInConsumer

Page 10: Desarrollo .NET sobre SharePoint

Web Parts conectadasWeb Parts conectadas

NorthWind Customer y OrdersNorthWind Customer y Orders

Page 11: Desarrollo .NET sobre SharePoint

Seguridad en páginas de Web Parts

Se permite a los usuarios modificar páginas directamente

No se permite ejecutar cualquier código:

No se permite ‘inline script’

‘Code behind’ si se permite

No se permite usar cualquier control de servidor

Lista de SafeControls en Web.Config

Da a los administradores control sobre qué clases pueden utilizarse

Code behind

Controles de Servidor

Web Parts

Page 12: Desarrollo .NET sobre SharePoint

Deployment (Inst. En Producción)

Assemblies, Recursos y su localización

Los Assemblies pueden instalarse en el GACo en el directorio ‘bin’ del WebSite

Los Recursos se instalan en /_wpresources o /wpresources respectivamente

DWPs se instalan en el directorio /wpcatalog

Page 13: Desarrollo .NET sobre SharePoint

Deployment (cont.)

GAC

Por defecto ‘Fully trusted’

Los Assemblies necesitan estar firmados con un strongname.

Disponible para todos los servidores virtuales de la máquina

Bin

Por defecto ‘Partial trust’

Disponible solo para un WebSite específico

Page 14: Desarrollo .NET sobre SharePoint

Deployment (cont.)

WPPacks son ficheros ‘cab’ que contienen;

Manifest

Assemblies

Recursos

DWPs

La creación de .cabs permite a los administradores usar la utilidad ‘stsadm.exe’ para el deployment

Page 15: Desarrollo .NET sobre SharePoint

Deployment (cont.)Mas allá, crear un .msi

Contiene el .cab

Usar el objeto SPGlobalAdmin del namespace Microsoft.SharePoint.Administration

AddWPPack

RemoveWPPack

EnumWPPacks

Deployment de políticas CAS usando el .msi

Page 16: Desarrollo .NET sobre SharePoint

Deployment de Web PartsDeployment de Web Parts

Ejemplo de uso de stsadm.exeEjemplo de uso de stsadm.exePolíticas en *.configPolíticas en *.config

Page 17: Desarrollo .NET sobre SharePoint

Oportunidad desarrollo:Acceso a SharePoint desde aplicaciones .NET

Dos opciones:

Modelo de objetos (assemblies) de SharePoint (p.e. acceder a SharePoint desde mi app. ASP.NET)

XML Web Services de SharePoint(p.e. acceder a SharePoint desde mi app. WinForms)

Page 18: Desarrollo .NET sobre SharePoint

- Acceso a SharePoint desde aplicaciones .NET - Assemblies vs. Web Services

Page 19: Desarrollo .NET sobre SharePoint

Modelo de Objetos .NET de SharePoint

Modelo de Objetos de ‘codigo gestionado’ en el servidor

Accessible desde ASP.NET o cualquier otro proceso en el servidor

Implementado en C#

Expone practicamente todos los datos guardados en SharePoint

Page 20: Desarrollo .NET sobre SharePoint

¿Que se puede hacer con este Modelo de Objetos?

Ejemplos:Añadir, editar, borrar, y devolver datos de las Listas de SharePoint

Crear nuevas listas y establecer metadatos de listas (e.j. los campos en una lista)

Establecer propiedades de web

Trabajar con documentos en una Biblioteca de documentos.

Realizar tareas administrativas como crear webs, añadir usuarios, crear roles, etc.

Page 21: Desarrollo .NET sobre SharePoint

SPVirtualServer

SPWebServer

SPGlobalConfig

SPSite

SPWeb

SPList

SPListItem

Page 22: Desarrollo .NET sobre SharePoint

Resumen OM

El modelo de objetos tiene tres objetos principales de alto nivel:

SPWeb (representa un site individual)

SPSite (representa una colección de sites, que es un conjunto de web sites)

SPGlobalAdmin (utilizado para administración de configuración global)

Para poder realizar acciones en los datos de un web, primero hay que obtener siempre un objeto SPWeb.

Page 23: Desarrollo .NET sobre SharePoint

Web Services de SharePoint

La capa de web services ‘publica’ la capa de OM.

Permite manipulación de Lists, Webs, Vistas, etc.

La Funcionalidad es similar al OM, pero algunos interfaces están optimizados para minimizar las transacciones.

Page 24: Desarrollo .NET sobre SharePoint

Ejemplos

GetListCollection

GetListItems

GetWebCollection

UpdateList

UpdateListItems

GetWebInfo

GetWebPart

GetSmartPageDocument

Otros…

Page 25: Desarrollo .NET sobre SharePoint

Uso de XML Web Services Uso de XML Web Services

Page 26: Desarrollo .NET sobre SharePoint

Recursos

SDK de Sharepoint Services

Artículos de MSDN

A Developer's Introduction to Web Parts

Microsoft Windows SharePoint Services and Code Access Security

Packaging and Deploying Web Parts

Debugging Web Parts

Libro

Sharepoint Products & technologies Resource kit

Page 27: Desarrollo .NET sobre SharePoint

Conclusiones desarrollo .NET sobre SharePoint 2003

SharePoint 2003 tiene muchas oportunidades para desarrolladores .NET permitiendo extender y crear soluciones propias basadas en SharePoint 2003.

Web Parts ‘Custom’ (Aplicaciones propias)

Acceso a elementos internos de SharePoint