Consideraciones sobre las soluciones de espacio aislado
Las soluciones de espacio aislado son una característica de Microsoft SharePoint 2010 que permite a los usuarios de la colección de sitios cargar sus propias soluciones de código personalizadas. Una solución de espacio aislado común es que los usuarios cargan sus propios elementos web.
Una aplicación de SharePoint de espacio aislado se ejecuta en un proceso seguro y supervisado que tiene acceso a una parte limitada de la granja de servidores web. Microsoft SharePoint 2010 usa una combinación de características, galerías de soluciones, supervisión de soluciones y un marco de validación para habilitar soluciones de espacio aislado.
Especificación del nivel de confianza del proyecto
Visual Studio admite soluciones de espacio aislado mediante una propiedad de proyecto booleana denominada Solución en espacio aislado. Esta propiedad se puede establecer en cualquier momento del proyecto o se puede especificar al crear el proyecto en el Asistente para la personalización de SharePoint.
Nota
El cambio de la propiedad Sandboxed Solution de un proyecto después de crearlo puede provocar errores de validación.
La solución se considera una solución con ámbito de granja de servidores si la propiedad Sandboxed Solution está establecida en false o selecciona la opción Implementar como solución de granja de servidores. Pero la solución se trata de forma diferente de una solución de granja de servidores si la propiedad Sandboxed Solution está establecida en true o selecciona la opción Implementar como solución en espacio aislado en el asistente.
Jerarquía de sitios de SharePoint
Para comprender cómo funcionan las soluciones de espacio aislado, le puede ayudar saber que los sitios de SharePoint son jerárquicos en el ámbito. El elemento superior se conoce como granja de servidores web y otros elementos están subordinados a este:
Granja web
Aplicación web A
Colección de sitios A1
Sitio A1a
Aplicación web B
Colección de sitios B1
Sitio B1a
Sitio B1b
Colección de sitios B2
Sitio B2a
Como puede observar, las granjas de servidores web pueden contener una o varias aplicaciones web, que a su vez pueden contener una o varias colecciones de sitios, que pueden tener subsitios, etc. Los cambios realizados en una colección de sitios afectan solo a esa colección de sitios y a ninguna otra. Pero los cambios realizados en el nivel de granja de servidores web afectan a todas las colecciones de sitios de la granja.
Windows SharePoint Services (WSS) 3.0 permite implementar soluciones solo en el nivel de granja de servidores, pero Microsoft SharePoint Foundation permite hacerlo en el nivel de granja (solución de granja) o en el nivel de colección de sitios (solución de espacio aislado).
¿Por qué soluciones de espacio aislado?
En WSS 3.0, las soluciones solo se podían implementar en el nivel de granja. Esto significaba que podían implementarse soluciones potencialmente perjudiciales o desestabilizadoras que afectaran a toda la granja web y a todas las demás colecciones de sitios y aplicaciones que se ejecutaban en esta. Pero mediante el uso de soluciones de espacio aislado, puede implementar las soluciones en una subárea de la granja: una colección de sitios específica. Para proporcionar protección adicional, el ensamblado de la solución no se carga en el proceso principal de IIS (w3wp.exe). En su lugar, se carga en un proceso independiente (SPUCWorkerProcess.exe). Este proceso se supervisa e implementa cuotas y limitaciones para proteger la granja de soluciones de espacio aislado que realizan actividades perjudiciales, como la ejecución de bucles estrechos que consumen ciclos de CPU.
Galería de soluciones de colección de sitios
Windows SharePoint Services 2010 tiene una característica conocida como "galería de soluciones de colección de sitios". Puede acceder a esta característica desde la página Administración central de SharePoint 2010 o abriendo el menú Acciones del sitio, eligiendo Configuración del sitio y, después, el vínculo Soluciones en Galerías en el sitio de SharePoint. Las galerías de soluciones son repositorios de soluciones que permiten a los administradores de colecciones de sitios administrar soluciones en sus colecciones de sitios.
La galería de soluciones es una biblioteca de documentos almacenada en la web raíz del sitio de SharePoint. La galería de soluciones reemplaza las plantillas de sitio y admite paquetes de solución. Cuando se carga un archivo de paquete de solución de SharePoint (.wsp), se procesa como una solución de espacio aislado.
Limitaciones de la solución de espacio aislado
Cuando se implementa una solución de espacio aislado, la matriz de la funcionalidad de SharePoint disponible para ella está limitada para ayudar a reducir las vulnerabilidades de seguridad que puede tener. Algunas de estas limitaciones incluyen las siguientes:
Las soluciones de espacio aislado tienen un subconjunto restringido de elementos de solución implementables disponibles. Las plantillas de proyecto de SharePoint potencialmente vulnerables, como las definiciones de sitio y los flujos de trabajo, no están disponibles.
SharePoint ejecuta código de solución de espacio aislado en un proceso (SPUCWorkerProcess.exe) independiente del proceso principal del grupo de aplicaciones IIS (w3wp.exe).
No se pueden agregar carpetas asignadas al proyecto.
Los tipos del ensamblado Microsoft.Office.Server de Microsoft SharePoint Server no se pueden usar en soluciones de espacio aislado. Además, en soluciones de espacio aislado solo se pueden usar tipos en el ensamblado Microsoft.SharePoint de Microsoft SharePoint Foundation.
Es importante tener en cuenta que especificar una solución de SharePoint como solución de espacio aislado no tiene ningún efecto en el servidor de SharePoint; solo determina cómo se implementa el proyecto de SharePoint en SharePoint desde Visual Studio y a qué ensamblados se enlaza. No afecta al archivo .wsp generado y el archivo .wsp no tiene datos que se correlacionan directamente con la propiedad Sandboxed Solution.
Funcionalidades y elementos en soluciones de espacio aislado
Las soluciones de espacio aislado admiten las funcionalidades y los elementos siguientes:
Tipos de contenido o campos
Acciones personalizadas
Flujos de trabajo declarativos
Receptores de eventos
Llamadas de características
Enumerar definiciones
Instancias de listas
Módulo o archivos
Navegación
Onet.xml
SPItemEventReceiver
SPListEventReceiver
SPWebEventReceiver
Compatibilidad con todos los elementos web que derivan de
System.Web.UI.WebControls.WebParts.WebPart
elementos web
Elementos de característica WebTemplate (en vez de Webtemp.xml)
Elementos web visuales
Las soluciones de espacio aislado no admiten las funcionalidades y los elementos siguientes:
Páginas de aplicación
Grupo de acciones personalizado
Características de ámbito de granja
Elemento
HideCustomAction
Características de ámbito de aplicación web
Flujos de trabajo con código