Download - Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia [email protected]
![Page 1: Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/1.jpg)
Desarrollo .NET sobre SharePointJordi Rambla
Consultor
Rambla informàtica - Certia
![Page 2: Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/2.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/3.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/4.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/5.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/6.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/7.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/8.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/9.jpg)
Interfaces Soportados
ICellProvider, ICellConsumer
IRowProvider, IRowConsumer
IListProvider, IListConsumer
IFilterProvider, IFilterConsumer
IParametersOutProvider, IParametersOutConsumer IParametersInProvider, IParametersInConsumer
![Page 10: Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/10.jpg)
Web Parts conectadasWeb Parts conectadas
NorthWind Customer y OrdersNorthWind Customer y Orders
![Page 11: Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/11.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/12.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/13.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/14.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/15.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/16.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/17.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/18.jpg)
- Acceso a SharePoint desde aplicaciones .NET - Assemblies vs. Web Services
![Page 19: Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/19.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/20.jpg)
¿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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/21.jpg)
SPVirtualServer
SPWebServer
SPGlobalConfig
SPSite
SPWeb
SPList
SPListItem
![Page 22: Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/22.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/23.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/24.jpg)
Ejemplos
GetListCollection
GetListItems
GetWebCollection
UpdateList
UpdateListItems
GetWebInfo
GetWebPart
GetSmartPageDocument
Otros…
![Page 25: Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/25.jpg)
Uso de XML Web Services Uso de XML Web Services
![Page 26: Desarrollo.NET sobre SharePoint Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/26.jpg)
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 Jordi Rambla Consultor Rambla informàtica - Certia jordi@ramblainf.com](https://reader036.vdocumento.com/reader036/viewer/2022062322/5665b4811a28abb57c920dc6/html5/thumbnails/27.jpg)
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