270 likes | 414 Views
Desarrollo .NET sobre SharePoint. Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com. Agenda. Oportunidades de Desarrollo Desarrollo de Web Parts Sharepoint 2003 El Modelo de Objetos de SharePoint 2003 Los Web Services de SharePoint 2003.
E N D
Desarrollo .NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com
Agenda • Oportunidades de Desarrollo • Desarrollo de Web Parts Sharepoint 2003 • El Modelo de Objetos de SharePoint 2003 • Los Web Services de SharePoint 2003
Desarrollo de Web-Part ‘Hola Mundo’ - Creación de Web Part - Métodos Base de un Web Part - HTML renderizado manualmente
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 System.Web.dll System.Web.UI.Control Microsoft.SharePoint.dll Microsoft.SharePoint.WebPartPages.WebPart Tu assembly MiNamespace.WebParts.MiWebPart
Los ficheros de un Web Part Tu Web-Part Un fichero ‘manifest’ (basado en XML) que guarda datos a fusionar con el web.config Assembly .NETencapsulando el código servidor y renderización del HTML Un fichero DWP (basado en XML) que guarda algunas Propiedades y valores que se necesitan para cargar el assembly .NET Fichero CAB STSADM.EXE Utilidad de instalación
Desarrollo Básico - Simple • Definir Propiedades ‘custom‘ del WebPart • Generar un ‘montón’ de HTML en el método RenderWebPart
Desarrollo Básico – Realista(Uso de WebControls internos) • Definir Propiedades ‘custom‘ del WebPart • Sobreescribir CreateChildControls • Instanciar web-controls y añadirlos a la colección de controles • Implementar el gestionador(es) del evento OnLoad
Conexión de Web Parts • Los Web Parts se pueden conectar si implementan los interfaces para conexiones (estándar SharePoint)
Interfaces Soportados • ICellProvider, ICellConsumer • IRowProvider, IRowConsumer • IListProvider, IListConsumer • IFilterProvider, IFilterConsumer • IParametersOutProvider, IParametersOutConsumer • IParametersInProvider, IParametersInConsumer
Web Parts conectadas NorthWind Customer y Orders
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
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
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
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
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
Deployment de Web Parts Ejemplo de uso de stsadm.exe Políticas en *.config
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)
- Acceso a SharePoint desde aplicaciones .NET - Assemblies vs. Web Services
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
¿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.
SPGlobalConfig SPWebServer SPVirtualServer SPSite SPWeb SPList SPListItem
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.
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.
Ejemplos • GetListCollection • GetListItems • GetWebCollection • UpdateList • UpdateListItems • GetWebInfo • GetWebPart • GetSmartPageDocument • Otros…
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
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