SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
C&B213
Desarrollando soluciones en la nube
(Sandboxed Solutions)
Guillermo Bas
SharePoint Developer
MCTS – MCPD en SharePoint 2010
gbas@solidq.com - @guillebas
Objetivos de la sesión
Soluciones SandBoxed



α Entender el desarrollo SandBoxed


α Solución SandBoxed
 β   Desarrollar
 β   Desplegar
 β   Depurar
SharePoint 2010 (on-premise)
      Servidor de la
         granja


          WebApplication


               Colección de
                   sitios


                          Sitio




      Sitios           Bibliotecas   Listas
SharePoint Online

              Colección de
                  sitios



                  Sitio




     Sitios    Bibliotecas   Listas
Herramientas de plataforma
SharePoint Online
α Funcionalidad nativa a través del navegador

α SharePoint Designer 2010

α Visual Studio 2010
 β    Soluciones SandBoxed
     γ Código
     γ Declarativas

α Modelo de objetos de cliente
 β    Silverlight, Javascript
 β    .NET
Desarrollo SandBoxed
Características disponibles mediante Código
α Feature Receivers

α Event Receivers

α Navegación

α Web Parts

α Lógica de formularios de InfoPath

α Actividades de Workflow declarativo personalizadas
Desarrollo SandBoxed
Características declarativas
α   Workflows declarativos
α   Tipos de contenido (Content Types)
α   Columnas de sitio
α   Definiciones de lista
α   Listas
α   Acciones y extensiones personalizadas para la cinta de
    opciones (Ribbon)
α   Plantillas de sitio (Web templates)
α   Páginas de sitio
α   Page Layouts
α   Master Pages
Soluciones SandBoxed
α Desarrollo
 β    Subgrupo de Microsoft.SharePoint
     γ En el ámbito de SPSite, confianza parcial y políticas de seguridad
α Soporte para Visual Studio 2010
 β     Nuevo proyecto/Item
 β     Intellisense y compilación
 β     Debug con F5 (sólo on-premise)
 β     Empaquetado
α Despliegue
 β     Subir manualmente la solución a la galería de soluciones
 β     Soluciones desactivadas cuando exceden los recursos asignados
Elementos soportados
Tabla de elementos de SharePoint 2010 (VS2010) soportados
    Plantilla de elemento         Compatible con soluciones
                                  SandBoxed
    Visual Web Part               No
    Visual Web Part (SandBoxed)   Sí
    Web Part                      Sí
    Workflow secuencial           No
    Modelo BDC                    No
    Páginas de aplicación         No
    Event Receiver                Sí
    Modulo                        Sí
    Tipos de contenido            Sí
    Definición de lista           Sí
    Instancias de lista           Sí
    Elemento vacío                Sí
    User Control                  No
Modelo de objetos soportado
SandBoxed OM
α Carencias muy importantes
 β    SPUtility
 β    SPSecurity



α Listado de propiedades soportadas de primer y segundo
     nivel
     http://blogs.msdn.com/b/sharepointpictures/archive/2011
     /02/09/sandboxed-solutions-object-model-hierarchy.aspx
SandBoxed OM e Intellisense
¿Qué no se puede?
Características no soportadas



α Full Trust (Confianza plena)
 β   Características orientadas al ámbito de WebApplication y granja



α Acceso al sistema físico de archivos
 β   Global Assembly Cache (GAC)
 β   Acceso al web.config
 β   Instalar código/ficheros en el servidor
¿Qué no se puede?
Características no soportadas



α Timer Jobs

α Acceso de administrador más allá de la colección de sitios
 β   Ejecutar con permisos elevados
     (SPSecurity.RunningWithElevatedPrivileges)


α Acceso a datos y código externo
 β   Llamadas a web services desde código de servidor
 β   BCS
Visual Web Part
α Utiliza un control de usuario .ASCX y lo almacena en la
   carpeta Layouts

α Solución SandBoxed: Compilarlo dentro de la .dll

α Disponible como plantilla en SharePoint PowerTools
   http://visualstudiogallery.msdn.microsoft.com/8e602a8c-
   6714-4549-9e95-f3700344b0d9
Visual Web Part (SandBoxed)
Depuración de soluciones
α Comenzar por probar y depurar on-premise (F5)
 β   Esto no suele ser suficiente

α Depuración online
 β   Depuración mediante literales
 β   Depuración mediante html
 β   Depuración y log en listas de SharePoint
 β   Developer Dashboard
Depuración en SharePoint Online
Full Trust proxy
α Permite ejecutar acciones prohibidas
 β    Ej. SPUtility.SendEmail


α No es posible utilizarlo en SharePoint Online
 β    Su creación requiere modificaciones en el servidor



α Creando y llamando a una operación en un proxy Full Trust
     http://msdn.microsoft.com/es-es/library/gg622617.aspx
Alternativas al SandBoxed
Modelo de objetos de cliente
Plataformas soportadas

α .NET 3.5 (e inferior)

α Silverlight 2.0 (y superior)

α Javascript (+ frameworks)
Modelo de objetos de cliente
Características
α Más fáciles y eficientes que los servicios web de
      SharePoint

α Consistente con la restricción del espacio de nombres
      Microsoft.SharePoint

α Funcionalidad adicional que nos aporta:
  β    Permite llamadas a servicios web externos
  β    No cuenta para las cuotas de consumo de recursos
Workflows declarativos
α Soportados en SharePoint Online
 β    Los Workflows de Visual Studio no
α Prototipado en Visio 2010
 β    Exportación a SharePoint Designer
 β    Integración con formularios de InfoPath 2010
α Extensibles con Visual Studio 2010
 β    Acciones personalizadas para SharePoint Designer 2010
 β    Eventos
α Despliegue cómo WSP guardando como plantilla en
     SharePoint Designer 2010
Conclusión
Desarrollo en SharePoint Online sí, pero…

α Solo para escenarios muy concretos


α Debemos evaluar detenidamente las posibilidades


α Debemos evaluar el escenario de forma exhaustiva
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
             ésta es tu oportunidad.

      http://summit.solidq.com/madrid/

Más contenido relacionado

Similar a SharePoint en Línea : Desarrollando soluciones en la nube (Sandboxed Solutions)

Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Juan Pablo
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014Adrian Diaz Cervera
 
Programando sobre sharepoint_2010
Programando sobre sharepoint_2010Programando sobre sharepoint_2010
Programando sobre sharepoint_2010Fabian Imaz
 
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y ColaboraciónAplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y ColaboraciónJuan Carlos Gonzalez
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresAndrés Iturralde
 
Tipos de Sitios en SharePoint 2010
Tipos de Sitios en SharePoint 2010Tipos de Sitios en SharePoint 2010
Tipos de Sitios en SharePoint 2010SolidQ
 
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Andrés Iturralde
 
Introducción a SharePoint Framework
Introducción a SharePoint FrameworkIntroducción a SharePoint Framework
Introducción a SharePoint FrameworkHaaron Gonzalez
 
Extendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsExtendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsFabian Imaz
 
Introducción al Desarrollo para SharePoint con Visual Studio 2008
Introducción al Desarrollo para SharePoint con Visual Studio 2008Introducción al Desarrollo para SharePoint con Visual Studio 2008
Introducción al Desarrollo para SharePoint con Visual Studio 2008juliocasal
 
Construyendo Portales Corporativos Usando Oracle WebCemter Portal
Construyendo Portales Corporativos Usando Oracle WebCemter PortalConstruyendo Portales Corporativos Usando Oracle WebCemter Portal
Construyendo Portales Corporativos Usando Oracle WebCemter PortalRefundation
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian Diaz Cervera
 
Power BI para desarrolladores netcoreconf
Power BI para desarrolladores netcoreconfPower BI para desarrolladores netcoreconf
Power BI para desarrolladores netcoreconfAntonio Soto
 
Contenido en Sharepoint 2010 Comercial
Contenido en Sharepoint 2010 ComercialContenido en Sharepoint 2010 Comercial
Contenido en Sharepoint 2010 ComercialEva Ordoñez Perez
 
Introduccion a SSIS con BIML
Introduccion a SSIS con BIMLIntroduccion a SSIS con BIML
Introduccion a SSIS con BIMLGuillermo Caicedo
 

Similar a SharePoint en Línea : Desarrollando soluciones en la nube (Sandboxed Solutions) (20)

[Run Reloaded] Programando sobre Sharepoint 2010 (Fabián Imaz + Patricio Bela...
[Run Reloaded] Programando sobre Sharepoint 2010 (Fabián Imaz + Patricio Bela...[Run Reloaded] Programando sobre Sharepoint 2010 (Fabián Imaz + Patricio Bela...
[Run Reloaded] Programando sobre Sharepoint 2010 (Fabián Imaz + Patricio Bela...
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
Programando sobre sharepoint_2010
Programando sobre sharepoint_2010Programando sobre sharepoint_2010
Programando sobre sharepoint_2010
 
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y ColaboraciónAplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para Desarrolladores
 
Tipos de Sitios en SharePoint 2010
Tipos de Sitios en SharePoint 2010Tipos de Sitios en SharePoint 2010
Tipos de Sitios en SharePoint 2010
 
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
 
Introducción a SharePoint Framework
Introducción a SharePoint FrameworkIntroducción a SharePoint Framework
Introducción a SharePoint Framework
 
avanttic - webinar: WebCenter Portal (14-06-2017)
avanttic - webinar: WebCenter Portal (14-06-2017)avanttic - webinar: WebCenter Portal (14-06-2017)
avanttic - webinar: WebCenter Portal (14-06-2017)
 
Extendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsExtendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps sps
 
Introducción al Desarrollo para SharePoint con Visual Studio 2008
Introducción al Desarrollo para SharePoint con Visual Studio 2008Introducción al Desarrollo para SharePoint con Visual Studio 2008
Introducción al Desarrollo para SharePoint con Visual Studio 2008
 
Construyendo Portales Corporativos Usando Oracle WebCemter Portal
Construyendo Portales Corporativos Usando Oracle WebCemter PortalConstruyendo Portales Corporativos Usando Oracle WebCemter Portal
Construyendo Portales Corporativos Usando Oracle WebCemter Portal
 
Roadmap sap hana 2
Roadmap sap hana 2Roadmap sap hana 2
Roadmap sap hana 2
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
Power BI para desarrolladores netcoreconf
Power BI para desarrolladores netcoreconfPower BI para desarrolladores netcoreconf
Power BI para desarrolladores netcoreconf
 
Contenido en Sharepoint 2010 Comercial
Contenido en Sharepoint 2010 ComercialContenido en Sharepoint 2010 Comercial
Contenido en Sharepoint 2010 Comercial
 
Introduccion a SSIS con BIML
Introduccion a SSIS con BIMLIntroduccion a SSIS con BIML
Introduccion a SSIS con BIML
 
VSTS 2010
VSTS 2010VSTS 2010
VSTS 2010
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
 

Más de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 

Más de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

SharePoint en Línea : Desarrollando soluciones en la nube (Sandboxed Solutions)

  • 1. C&B213 Desarrollando soluciones en la nube (Sandboxed Solutions) Guillermo Bas SharePoint Developer MCTS – MCPD en SharePoint 2010 gbas@solidq.com - @guillebas
  • 2. Objetivos de la sesión Soluciones SandBoxed α Entender el desarrollo SandBoxed α Solución SandBoxed β Desarrollar β Desplegar β Depurar
  • 3. SharePoint 2010 (on-premise) Servidor de la granja WebApplication Colección de sitios Sitio Sitios Bibliotecas Listas
  • 4. SharePoint Online Colección de sitios Sitio Sitios Bibliotecas Listas
  • 5. Herramientas de plataforma SharePoint Online α Funcionalidad nativa a través del navegador α SharePoint Designer 2010 α Visual Studio 2010 β Soluciones SandBoxed γ Código γ Declarativas α Modelo de objetos de cliente β Silverlight, Javascript β .NET
  • 6. Desarrollo SandBoxed Características disponibles mediante Código α Feature Receivers α Event Receivers α Navegación α Web Parts α Lógica de formularios de InfoPath α Actividades de Workflow declarativo personalizadas
  • 7. Desarrollo SandBoxed Características declarativas α Workflows declarativos α Tipos de contenido (Content Types) α Columnas de sitio α Definiciones de lista α Listas α Acciones y extensiones personalizadas para la cinta de opciones (Ribbon) α Plantillas de sitio (Web templates) α Páginas de sitio α Page Layouts α Master Pages
  • 8. Soluciones SandBoxed α Desarrollo β Subgrupo de Microsoft.SharePoint γ En el ámbito de SPSite, confianza parcial y políticas de seguridad α Soporte para Visual Studio 2010 β Nuevo proyecto/Item β Intellisense y compilación β Debug con F5 (sólo on-premise) β Empaquetado α Despliegue β Subir manualmente la solución a la galería de soluciones β Soluciones desactivadas cuando exceden los recursos asignados
  • 9. Elementos soportados Tabla de elementos de SharePoint 2010 (VS2010) soportados Plantilla de elemento Compatible con soluciones SandBoxed Visual Web Part No Visual Web Part (SandBoxed) Sí Web Part Sí Workflow secuencial No Modelo BDC No Páginas de aplicación No Event Receiver Sí Modulo Sí Tipos de contenido Sí Definición de lista Sí Instancias de lista Sí Elemento vacío Sí User Control No
  • 10. Modelo de objetos soportado SandBoxed OM α Carencias muy importantes β SPUtility β SPSecurity α Listado de propiedades soportadas de primer y segundo nivel http://blogs.msdn.com/b/sharepointpictures/archive/2011 /02/09/sandboxed-solutions-object-model-hierarchy.aspx
  • 11. SandBoxed OM e Intellisense
  • 12. ¿Qué no se puede? Características no soportadas α Full Trust (Confianza plena) β Características orientadas al ámbito de WebApplication y granja α Acceso al sistema físico de archivos β Global Assembly Cache (GAC) β Acceso al web.config β Instalar código/ficheros en el servidor
  • 13. ¿Qué no se puede? Características no soportadas α Timer Jobs α Acceso de administrador más allá de la colección de sitios β Ejecutar con permisos elevados (SPSecurity.RunningWithElevatedPrivileges) α Acceso a datos y código externo β Llamadas a web services desde código de servidor β BCS
  • 14. Visual Web Part α Utiliza un control de usuario .ASCX y lo almacena en la carpeta Layouts α Solución SandBoxed: Compilarlo dentro de la .dll α Disponible como plantilla en SharePoint PowerTools http://visualstudiogallery.msdn.microsoft.com/8e602a8c- 6714-4549-9e95-f3700344b0d9
  • 15. Visual Web Part (SandBoxed)
  • 16. Depuración de soluciones α Comenzar por probar y depurar on-premise (F5) β Esto no suele ser suficiente α Depuración online β Depuración mediante literales β Depuración mediante html β Depuración y log en listas de SharePoint β Developer Dashboard
  • 18. Full Trust proxy α Permite ejecutar acciones prohibidas β Ej. SPUtility.SendEmail α No es posible utilizarlo en SharePoint Online β Su creación requiere modificaciones en el servidor α Creando y llamando a una operación en un proxy Full Trust http://msdn.microsoft.com/es-es/library/gg622617.aspx
  • 20. Modelo de objetos de cliente Plataformas soportadas α .NET 3.5 (e inferior) α Silverlight 2.0 (y superior) α Javascript (+ frameworks)
  • 21. Modelo de objetos de cliente Características α Más fáciles y eficientes que los servicios web de SharePoint α Consistente con la restricción del espacio de nombres Microsoft.SharePoint α Funcionalidad adicional que nos aporta: β Permite llamadas a servicios web externos β No cuenta para las cuotas de consumo de recursos
  • 22. Workflows declarativos α Soportados en SharePoint Online β Los Workflows de Visual Studio no α Prototipado en Visio 2010 β Exportación a SharePoint Designer β Integración con formularios de InfoPath 2010 α Extensibles con Visual Studio 2010 β Acciones personalizadas para SharePoint Designer 2010 β Eventos α Despliegue cómo WSP guardando como plantilla en SharePoint Designer 2010
  • 23. Conclusión Desarrollo en SharePoint Online sí, pero… α Solo para escenarios muy concretos α Debemos evaluar detenidamente las posibilidades α Debemos evaluar el escenario de forma exhaustiva
  • 24. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/