SharePoint Latin Rotating Header Image

Administrador SharePoint

No te puedes perder el SharePoint Saturday Bogota 2014 mañana Sabado 24 de Mayo

 


Amigos, mañana sábado 24 de Mayo estaré participando en el SharePoint Saturday Bogota 2014 como expositor, estaré presentando virtualmente así que para los que no puedan asistir pueden seguir el evento virtualmente usando Lync. Colegas y profesionales de la industria de distintas partes del mundo de habla hispana estarán compartiendo experiencias y tópicos relevantes entorno a nuestro producto de software favorito “SharePoint” y “Office 365″.


Yo estaré presentando información sobre planeación de intranet y las consideraciones que hay que tomar para definir los fundamentos arquitectónicos que soporten el crecimiento orgánico de una intranet empresarial. Con el tiempo me he topado en repetidas ocasiones que por falta la debida planeación de los componentes y servicios que se estarán ofreciendo a las personas mediante nuestra intranet se termina contando con un repositorio  de información plano sin relevancia y además difícil de aprender. Con mi presentación estaré aportando ideas entorno a la arquitectura de la información y que artefactos SharePoint conviene planear desde un principio para un apropiado y controlado crecimiento de la información y de los servicios expuestos a las personas que trabajan en la empresa. Algunos tópicos que estaré cubriendo son:


  • Mapa de Ruta de una Implementación SharePoint
  • Tipos de Intranets (Intranet orientada a personas, intranet orientada a departamentos, intranet orientada a servicios)
  • Arquitectura de la información
  • Tipos de contenido
  • Columnas de sitio
  • Términos y metadatos
  • Plantillas de sitios
  • Navegación y estructura
  • Soluciones de marca empresarial

Entre otros temas. Mas información aquí:



 

Controle los límites de almacenamiento de su granja SharePoint y evite sorpresas

Si usted quiere evitar que el almacenamiento de disco de su servidor SQL de su implementación SharePoint no se llene totalmente y por lo tanto no le hablen durante vacaciones decembrinas, asegúrese de contar con un plan de capacidad que le permita asegurar que pase lo que pase, el crecimiento de las bases de datos de contenido no impactara o sobrepasara las capacidades de almacenamiento de su servidor.

Cuando diseñamos una implementación SharePoint es muy importante identificar el aproximado de almacenamiento en GB o TB que se va a requerir. La economía cambia y por lo tanto las empresas cambian constantemente por ende es obvio que es un poco complicado de estimar sin embargo usted puede definir límites de almacenamiento de sus bases de datos de contenido y con base en ello tener un mejor control sobre el crecimiento de las mismas y por ende controlar mejor la capacidad de almacenamiento disponibles.

¿Como?

Defina quotas de almacenamiento.

Una quota es un control de configuración que podemos establecer a nivel colección de sitios donde puede especificar el tamaño máximo de almacenamiento para una colección de sitios determinada. Especificando el tamaño máximo de almacenamiento y el número de colecciones de sitios que nuestras bases de datos de contenido pueden tener es que podemos asegurar que nuestro sistema no excederá los límites disponibles. Justamente por excederse es que se llenan los discos duros y de pronto el servicio en general  se puede ver afectado al grado de que es inoperable o está fuera de línea.

En la herramienta central de administración usted encontrara dos opciones disponibles para configurar lo mencionado anteriormente:

Manage content databases

En esta opción usted puede crear nuevas bases de datos de contenido o editar las existentes para especificar el estado o controles de configuración útiles para monitoreo de los límites y la disponibilidad de su base de datos.

Note como tenemos el número actual de colecciones de sitio, el número máximo de colecciones de sitios que podemos almacenar y el número de nivel de advertencia con el cual como administradores de SharePoint y también los administradores de la colección de sitios podrán ser notificados cuando estamos llegando a los límites de almacenamiento y con base en ello tomar alguna acción. 

Entonces si somos capacidad de definir quotas de almacenamiento y el máximo número de colecciones de sitio que podemos almacenar en una determinada base de datos de contenido podremos ser más proactivos respecto a cómo el sistema crece de forma orgánica y organizadamente.

Specify quota templates

Retomando lo mencionado anteriormente sobre las quotas veamos que en esta opción tenemos disponible un formulario para crear nuestras propias plantillas de quotas que posteriormente podrán ser asignadas a nuestras colecciones de sitios que a su vez existirán sobre nuestras bases de datos de contenido las cuales tienen un límite máximo.

Una propuesta de plantillas de quota puede ser esta planteada por Chris Mullendore un Premier Field Engineer de Microsoft en su post llamado “Why I love charge back model”:

  • MySite: 100MB
  • Free: <500 MB
  • Small: 501 – 1,000MB
  • Medium: 1,001 – 5,000MB
  • Large: 5,001 – 25,000MB
  • Isolated: 25,001 – 100,000MB
  • Dedicated: >100,000 (multiple site collections or a single dedicated corporate service such as Enterprise Records Management)







Normal
0




false
false
false

EN-US
X-NONE
X-NONE


















































































































































































































































































































































































































Veamos entonces como registrar una nueva quota en SharePoint:





Resumen



Defina cuantas bases de datos de contenido convienen tener en su granja SharePoint. Cada base de datos establezca un límite máximo de 200 GB a nivel SQL Server. A nivel SharePoint defina cuantas colecciones de sitios puede almacenar y muy importante el nivel de advertencia para que usted sepa reaccionar con anticipación cuando una base de datos de contenido se está quedando sin espacio. También defina quotas que le permitan contabilizar cuantas colecciones de sitio podría tener en una base de datos de contenido de acuerdo a su número máximo de almacenamiento de colecciones de sitio. Por ejemplo, si tengo una base de datos de contenido de 200 GB y tengo una quota “Large” de 25 GB, esto quiere decir que esa base de datos de contenido solo puede almacenar 8 colecciones de sitio basado en la quota antes mencionada, pero ¿si puede ver a lo que me refiero?



Con estos controles usted puede estar siempre al tanto de los límites y capacidades del servicio, tome el tiempo de hacer un plan de capacidad de su granja SharePoint y sobre todo evite las sorpresas que lo tengan que sacar de las reconfortantes vacaciones de diciembre.
Saludos y feliz año nuevo, le deseo todo el éxito del mundo en sus proyectos personales y profesionales.


 


 


 

Recuperando datos desde una bases de datos de contenido SharePoint existente en SQL Server

En SharePoint 2010 y 2013 los administradores SharePoint tenemos la posibilidad de recuperar información desde una base de datos de contenido SharePoint que no necesariamente este montada sobre nuestra granja sino más bien solamente restaurada en SQL Server permitiéndonos realizar nuestra recuperación en menos tiempo y sin tanta configuración. Explico, en pasadas versiones para poder recuperar información desde un respaldo de una base de datos de contenido SharePoint normalmente teníamos que montar la base de datos restaurada sobre nuestra granja SharePoint, usando tanto comandos stsadm como la herramienta central de administración. Con SharePoint 2010 y 2013 no necesariamente es el caso, podemos hacerlo como antes o simplemente usar la herramienta central de administración para explotar el contenido de una base de datos SharePoint montada simplemente en un servidor SQL Server reduciendo con esto los tiempos de nuestros acuerdos de servicio ‘SLAs” y claro, ser más proactivos en la recuperación de datos.


Veamos entonces como lograrlo.


Accedemos a la herramienta central de administración y damos clic sobre el menú de respaldos y restauración para posteriormente seleccionar la opcion de recuperación de datos desde una base de datos no adjuntada.


unattached01


Especificamos el nombre e instancia de nuestro servidor SQL Server o bien el SQL Alias si es el caso donde se encuentra adjuntada nuestro respaldo de la base de datos de contenido SharePoint, especificamos el nombre de la base de datos a la cual nos queremos conectar para obtener los objetos SharePoint que requerimos recuperar. Seleccionamos el tipo de recuperación que queremos hacer, por ejemplo, podemos recuperar una colección de sitios, un sitio web o una lista.


unattached02


Usamos el explorador para buscar en este caso la colección de sitios que nos interesa recuperar directamente sobre la base de datos de contenido adjuntada en SQL Server. Como podemos ver, SharePoint es capaz de presentar todas las colecciones de sitio existentes, así mismo, SharePoint es capaz de explorar sitios web dentro de las colecciones e incluso listas y librerías.


unattached03


Una vez que elegimos el objeto a recuperar especificamos una ruta compartida y un nombre de un archivo físico donde será respaldado el contenido proveniente de la base de datos en cuestión. Posteriormente damos iniciar al proceso de respaldo.


unattached04


También, podemos monitorear el proceso en ejecución.


unattached05


unattached06


Al terminar validamos el archivo de respaldo generado.


unattached07


Y para finalizar simplemente ejecutamos un comando PowerShell para realizar el proceso de restauración del respaldo en cuestión sobre una colección de sitios existente en nuestra granja. El comando para restaurar una colección de sitios respaldada es:


Restore-SPSite http://intranet/teams/sp -Path \\d21-da\Scripts\backup\sp.bak


Validamos entonces la restauración y removemos el respaldo de la base de datos adjuntada en SQL Server. Esta es una técnica que permite recuperar información de una respaldo, asegúrate de definir un tiempo de respaldo SQL valido para que con ello puedas ser capaz de definir lo que llamamos el tiempo aceptable de perdida de datos. Por ejemplo, si tus respaldos SQL Server se ejecutan al final del dia, esto quiere decir que solamente puedes recuperar información de un día anterior y que tu potencial perdida de datos es de horas.

Que significa trabajar como un profesional SharePoint en estos días

Con la evolución en software, hardware e internet se ha tenido un avance significativo en la forma en la que las empresas hoy en día se comunican y trabajan. Específicamente hablando de corporativos o empresas con presencia a nivel nacional el uso de herramientas informáticas para apoyar a los trabajadores del conocimiento ha disparado nuevos enfoques de solución para consolidar, replicar, encontrar y relacionar información de forma totalmente independiente a la región o geografía donde esta se genera.


El uso de sitios web internos como una alternativa para ofrecer contenido y mejorar con ello la forma en que las personas acceden a la información relevante, ofrece importantes alternativas de comunicación que fortalecen la colaboración organizacional entre personas que pueden estar físicamente juntos o geográficamente dispersos. Adicionalmente, incluir los conceptos de la web 2.0 en estos sitios internos también estimula a los trabajadores del conocimiento a consumir la información de formas que antes simplemente no era tan fácil de lograr, permitiendo con ello otorgar poder al usuario para actuar ante las necesidades y retos del entorno.


Es aquí donde la plataforma SharePoint es un agente del cambio, donde profesionales técnicos y profesionales de la información pueden mejorar la forma en que las empresas trabajan, se organizan, colaboran y reaccionan con flexibilidad a los cambios del entorno mediante el uso de una base de funcionalidad pre construida capaz de personalizarse de acuerdo a como los procesos interactúan y la información de la empresa fluye.


Que hace un Administrador SharePoint


Un administrador SharePoint es una persona con un alto nivel de conocimiento técnico en productos de hardware y software que apoya la infraestructura informática de una empresa. Un administrador SharePoint gestiona la operación óptima de múltiples ambientes de servidores tanto físicos como virtuales que ejecutan los servicios dedicados a la plataforma SharePoint, también asiste a la organización con el establecimiento de la configuración inicial requerida. Un administrador SharePoint:


  1. Debe de tener la habilidad de instalar, actualizar, configurar y operar múltiples ambientes SharePoint
  2. Es el contacto principal para manejar asuntos relacionados con disponibilidad, confiabilidad, desempeño, recuperación, monitoreo y seguridad de SharePoint
  3. Colabora con equipos de desarrollo en el establecimiento de estrategias óptimas para hospedar de forma confiable soluciones de colaboración
  4. Administra respaldos y es capaz de recuperar tanto los datos como el servicio ante un desastre
  5. Entiende y conoce los componentes de hardware y software de una plataforma SharePoint como SQL Server, Windows Server y IIS
  6. Sabe cómo organizar las aplicaciones de servicios de una granja de servidores SharePoint de acuerdo al tipo de necesidad que se requiere
  7. Se interesa por conocer herramientas y componentes de terceros para mantener las granjas SharePoint y/o para ofrecer soluciones especificas
  8. Documenta procesos de configuración y es capaz de ejecutar RCA (Root Cause Analysis)
  9. Busca reducir el riesgo de realizar operaciones de configuración manual mediante automatización o generación de archivos de comandos (scripts) consistentes
  10. Maneja plataformas de virtualización
  11. Realiza diagnósticos y revisión de bitácoras de eventos

Seguramente hay puntos o tópicos que no estoy mencionado pero en mi opinión un administrador SharePoint es la base para mantener la operación de un servicio que el área de TI ofrece para toda la organización. Sin él es difícil garantizar que las cosas estarán funcionando y disponibles todo el tiempo.


Que hace un Desarrollador SharePoint


Un desarrollador SharePoint es un artesano de soluciones de negocio ya que en la mayoría de los casos personaliza los componentes y servicios de la plataforma SharePoint para alinear la funcionalidad entorno a algún proceso u operación de negocio. Un desarrollador SharePoint está expuesto contantemente a procesos y modalidades de operación que le permite conocer cómo operan las personas con los procesos de una empresa. Un desarrollador SharePoint:


  1. Desarrolla, personaliza e implementa soluciones de software basadas en SharePoint
  2. Desarrolla código usando las mejores prácticas recomendadas
  3. Desarrolla soluciones personalizadas usando el Modelo de Objetos de Servidor y Cliente (CSOM)
  4. Conoce como operan las tecnologías web como HTML, CSS, XML, XSLT, JavaScript, JQuery, SOAP, REST y también sabe trabajar con ASP.NET y C#
  5. Sabe empaquetar las personalizaciones en archivos WSP para fortalecer el despliegue en producción, tanto soluciones para granjas como soluciones para sandbox
  6. Conoce la funcionalidad pre construida en SharePoint (Bibliotecas, Listas, WebParts, Paginas, Servicios) y explota sus características antes de pensar en desarrollar o programar
  7. Sabe instalar SharePoint en un entorno para desarrollo
  8. Sabe automatizar SharePoint mediante PowerShell
  9. Capaz de aprender nuevas tecnologías y componentes de terceros para mejorar la productividad
  10. Sabe estimar el diseño y desarrollo de soluciones de colaboración
  11. Sabe crear y consumir servicios SOAP y REST
  12. Conoce las capacidades disponibles de las distintas aplicaciones de servicio de SharePoint para diseñar soluciones de negocio, tecnologías como Visio Services, Excel Services, Form Services, Reporting Services, Manage Metadata, etc.
  13. Sabe manipular el aspecto visual de un portal SharePoint

Seguramente hay puntos o tópicos que no estoy mencionado pero en mi opinión un desarrollador SharePoint es un especialista muy singular, le da un valor adicional al producto que en muchos de los casos sobrepasa las expectativas de negocio.


Conclusión


Ser un profesional SharePoint en estos días significa ser flexible y abierto, muchos podrán cuestionar el grado de creatividad e innovación tecnológica disponible, pero en mi muy particular punto de vista, la innovación no se da en la tecnología, sino en el valor de negocio que con la tecnología podemos lograr en un tiempo record, es ahí donde un profesional SharePoint puede destacar usando las tecnologías y toda la línea de productos Office y SharePoint como plataforma de programación.


Anuncio


Sigue la conversación aqui: https://www.facebook.com/MySharepointPractice


El ritual de instalación de los paquetes de idioma en SharePoint 2010

Cuando instalas el SharePoint 2010 usando los discos de instalación oficial, probablemente los binarios no cuentan con el Service Pack 1 o las CU que van surgiendo con el tiempo. Sin embargo hoy en día ya existe el disco de instalación de SharePoint con el Service Pack 1 integrado en el centro de descarga Microsoft de MSDN. Si de pura casualidad te toca instalar los paquetes de idioma sobre una granja que ya tienen SharePoint 2010 Service Pack 1 instalado entonces tienes que hacer la siguiente operación para asegurar la correcta configuración de los paquetes de idioma.


Lo primero es tener los paquetes de idioma para SharePoint Foundation y SharePoint Server, ¿estamos de acuerdo? Lo segundo es tener el service pack 1 de cada uno de los paquetes de idioma, tanto para SharePoint Foundation y SharePoint Server.


Que hay que descargar por cada idioma:


  • SharePoint Foundation 2010 (Idioma) Language Pack
  • SharePoint Foundation 2010 (Idioma) Language Pack Service Pack 1
  • SharePoint Server (Idioma) Language Pack
  • SharePoint Server (Idioma) Language Pack Service Pack 1

La teoría nos dice que hay que ejecutar de manera escalonada todos estos instaladores. Primero Foundation Language Pack, después Foundation Language Pack Service Pack 1, después Server Language Pack y después Server Service Pack 1 Language Pack y así sucesivamente por cada idioma.


Le llamamos Slipstream a la idea de consolidar en solo instalador el language pack original junto con su service pack, para solamente hacer una instalación permitiéndonos reducir el tiempo en el proceso mientras que aseguramos la aplicación de los correspondientes service packs.


Consideremos la siguiente estructura de carpetas:


image


Asegúrate de descargar sobre cada carpeta los instaladores correspondientes del idioma, tanto el language pack como el service pack del language pack correspondientemente. Para hacer Slipstream ejecutaremos varios comandos en alguna ventana de comandos, por ejemplo, el primer comando extrae del instaldor del language pack los archivos y los deposita dentro de la carpeta install, creando una nueva carpeta llamada Updates que por default existe en la estructura del paquete de idioma, posteriormente sobre la carpeta Updates depositamos los archivos del service pack del language pack correspondiente mediante el mismo comando de extracción, hacemos lo siguiente:


cd\
cd splp
cd Foundation
cd Spanish
SharePointLanguagePack.exe /extract:C:\SPLP\Foundation\Spanish\Install
spflanguagepack2010sp1-kb2460059-x64-fullfile-es-es.exe /extract:C:\SPLP\Foundation\Spanish\Install\Updates


cd\
cd splp
cd Foundation
cd Chinese
SharePointLanguagePack.exe /extract:C:\SPLP\Foundation\Chinese\Install
spflanguagepack2010sp1-kb2460059-x64-fullfile-zh-cn.exe /extract:C:\SPLP\Foundation\Chinese\Install\Updates


cd\
cd splp
cd Foundation
cd Portuguese
SharePointLanguagePack.exe /extract:C:\SPLP\Foundation\Portuguese\Install
spflanguagepack2010sp1-kb2460059-x64-fullfile-pt-br.exe /extract:C:\SPLP\Foundation\Portuguese\Install\Updates


cd\
cd splp
cd Server
cd Spanish
ServerLanguagePack.exe /extract:C:\SPLP\Server\Spanish\Install
serverlanguagepack2010sp1-kb2460056-x64-fullfile-es-es.exe /extract:C:\SPLP\Server\Spanish\Install\Updates


cd\
cd splp
cd Server
cd Chinese
ServerLanguagePack.exe /extract:C:\SPLP\Server\Chinese\Install
serverlanguagepack2010sp1-kb2460056-x64-fullfile-zh-cn.exe /extract:C:\SPLP\Server\Chinese\Install\Updates


cd\
cd splp
cd Server
cd Portuguese
ServerLanguagePack.exe /extract:C:\SPLP\Server\Portuguese\Install
serverlanguagepack2010sp1-kb2460056-x64-fullfile-pt-br.exe /extract:C:\SPLP\Server\Portuguese\Install\Updates


Una vez que tenemos todos los paquetes de idioma con sus correspondientes service packs integrados procedemos a instalar de la siguiente manera de esta forma a mí me ha funcionado usando el instalador de la carpeta Install para foundation y server:


C:\SPLP\Foundation\Spanish\Install\setup.exe
C:\SPLP\Server\Spanish\Install\setup.exe
Ejecutar el configuration wizard de SharePoint


C:\SPLP\Foundation\Chinese\Install\setup.exe
C:\SPLP\Server\Chinese\Install\setup.exe
Ejecutar el configuration wizard de SharePoint


C:\SPLP\Foundation\Portuguese\Install\setup.exe
C:\SPLP\Server\portuguese\Install\setup.exe
Ejecutar el configuration wizard de SharePoint


Espero que te sea util este procedimiento ya que cuando tenemos más de un servidor Web Front End en una granja SharePoint, aplicar los paquetes de idioma y su correspondiente service pack 1 se vuelve una tarea exponencialmente aburrida.


Saludos.

Documentando Granjas SharePoint con SharePoint Documentation Toolkit

Hoy quiero comentar sobre una herramienta que todo consultor o empresa que ofrece servicios SharePoint debería de tener. Sucede que con cada nuevo cliente y/o proyecto tenemos que conocer la granja donde potencialmente estaremos soportando o instalando nuestros desarrollos, en ese sentido hay que ser muy cuidadosos de no impactar configuración existente y sobre todo de tener el conocimiento de la configuración para asegurar que los movimientos que haremos no impacten a otros y si así fuese el caso, saber cómo estaba configurado antes. En el pasado he tenido la experiencia de conocer una empresa que se metió en graves problemas por no haber sido lo suficientemente cuidadosos de documentar la configuración de la granja de producción antes de implementar algunos paquetes de solución con desarrollo personalizado en la granja de cliente, termino siendo un desastre.


Así mismo, empresas que han invertido millones en su plataforma de colaboración basada en SharePoint también deben de mantenerse al día y conocer la configuración que se tiene implementada. Recuerden que cuando tenemos un entorno productivo y somos una empresa grande es muy probable que tengamos más de una granja, más de un ambiente, con múltiples servidores probablemente balanceados que deberán todos contar con el mismo nivel de configuración y de paquetes de actualización, desde la perspectiva SharePoint todos sabemos que nuestros Web Front Ends deben de estar idénticos en cuanto a configuración se refiere y claro esto se vuelve un reto mantenerlos al día.


Es aquí donde SharePoint Documentation Toolkit  de Acceletario, LTD entra a la escena. SPDocKit es una herramienta de documentación que asiste a los administradores y consultores SharePoint en conocer, comparar y rastrear los cambios de configuración de granjas SharePoint 2007 y 2010 en tan solo 3 clics, permitiendo sin duda un conocimiento mucho más detallado de la configuración en minutos.


Características:


  • Genera documentación de granjas SharePoint: Simplemente instalando y/o ejecutando en cualquieras de los servidores de una granja SharePoint 2010 o 2007 puedes generar un documento de Word o PFD al vuelo tras revisar los aspectos de configuración que tú mismo seleccionas para depositarlos en tablas y textos dentro del documento. Es muy extensa toda la configuración que se puede documentar y sin duda presenta una radiografía con la que puedes entender en qué estado de configuración está tu granja.
  • Explora la configuración de tus granjas: La interface visual de Documentation Toolkit ofrece una vista de árbol con la cual puedes explorar mediante nodos y vistas los distintos elementos de configuración que tienes en tu granja permitiendo consultar en el momento y totalmente en línea la información.
  • Documenta contraseñas y llaves de producto: Existe distintas modalidades de uso de este producto y uno de ellos nos permite contar con un acceso total a la información de nuestra implementación. Entre ellas contraseñas y claves de producto, podemos configurar una base de datos SQL para almacenar el estado de las configuraciones y mantener con el tiempo esa información.
  • Comparación de la configuración entre granjas: Valida los cambios de configuración que pueden existir en los servidores entre granjas SharePoint. La opción de comparación te muestra las diferencias.

Aqui un video de demostracion:



Sin capacidad de almacenamiento suficiente durante proceso de Exportacion/Importacion en SharePoint

En esta semana nos encontramos con un escenario muy particular relacionado con comandos Import/Export SPWeb en SharePoint 2010. Al correr Export-SPWeb o Import-SPWeb el proceso en algún punto marcaba error y la razón fue porque la unidad C: llegaba a su capacidad máxima de almacenamiento.

Es increíble, ya que es bien sabido que debemos contar con volúmenes de disco duro adicionales para guardar los LOGS de SharePoint y en el caso de la base de datos los LOGS y MDFs de SQL. Además, la unidad C: solo es para guardar los archivos del sistema y debemos tener libre el doble equivalente de memoria RAM en capacidad de almacenamiento en disco duro. En otras palabras, si tengo 8GB de RAM, siempre debería tener por lo menos 16GB de espacio almacenamiento libre en C:

Entonces si tengo el almacenamiento de mi servidor de aplicaciones debidamente configurado con diversos volúmenes e incluso con cierto nivel de RAID, ¿porque se llena el disco duro al ejecutar comandos Import-SPWeb y Export-SPWeb?

Resulta que estos comandos son la alternativa disponible para mover sitios web de SharePoint entre colecciones de sitio, son capaces de mover permisos, contenido, versiones, workflows, etc. En estos tiempos donde muchas empresas carecen de gobernabilidad y planeación de un servicio SharePoint es común ver sitios web de SharePoint realmente grandes con una jerarquía de sitios muy profunda y desde la perspectiva de almacenamiento realmente enormes y esto tiene una implicación importante a considerar cuando trabajamos con Import-SPweb y Export-SPWeb.  En realidad y de forma interna estos comandos hacen uso de una funcionalidad pre-construida en SharePoint llamada Content Deployment.

Content Deployment ofrece una alternativa para mover contenido de un lugar a otro y cuenta con todo un proceso para realizarlo. Este proceso es invocado tanto por los comandos Import-SPWeb, Export-SPWeb, Content Deployment del Central Administracion, los respaldos granulares y el modelo de objetos de SharePoint entre otros. En primer instancia este proceso requiere de varios atributos como tipo de exportación (full o incremental), sitios o contenido que será incluido, rutas y paths de archivos donde se exporta el contenido y los logs de los procesos, entre otras opciones de configuración. El caso es que en algún punto, este proceso construye un archivo XML que describe todas las instrucciones detalladas de exportación o importación que proceso deberá seguir y por consiguiente si el sitio a exportar es muy grande, este archivo y algunos otros temporales que genera lo será también. Y bueno, ¿En dónde crees que estos archivos tras bambalinas se almacenan de forma temporal? Pues en el TEMP del usuario firmado y ¿En dónde se almacena el TEMP del usuario firmado? Pues en el disco duro C: y he ahí la razón.

Una alternativa de solución a esto es modificar la variable de entorno TEMP para que su ruta de almacenamiento apunte a una unidad que si tenga la capacidad de almacenamiento necesaria para soportar nuestros procesos de importación y exportación.

clip_image001

También si estás trabajando con PowerShell puedes usar $env:temp para obtener la ruta del TEMP y modificarla usando set-item -path env:temp -value "F:\TEMP".

Cosas de la vida! Saludos

UPDATE: Existe el switch NoFileCompression que podemos utilizar para evitar que de forma temporal se generen los archivos adicionales que se comentaron durante el post. Por default, NoFileCompression es False y esto genera en la carpeta TEMP los archivos temporales previos a los que genera el proceso. Este switch lo deberas especificar tanto en Export-SPWeb como Import-SPWeb.

Instalando Granja de Servidores SharePoint 2010 Small Farm (3-Tier)

Para un programador SharePoint es importante conocer la arquitectura de la plataforma y en ese sentido realizar un proceso de instalación de una granja SharePoint es un deber. En esta ocasión quiero compartir como lograr en una topología llamada Small Farm (Three Tier).


clip_image001


Básicamente tenemos un software (Network Load Balancing) para balancear y distribuir la carga entre dos servidores Web Front End (litwarewfe1 y litwarewfe2) y tendremos un solo servidor de aplicaciones (litwareapp) con la mayoría de las aplicaciones de servicio y la herramienta central de administración configurada, todo el contenido y la configuración será almacenada sobre un solo servidor de base de datos SQL Server (litwaredb).


Network Load Balancing en Windows Server 2008 R2 para WFE de SharePoint 2010



Configurando Granja de Servidores SharePoint 2010



Configurando Granja de Servidores SharePoint 2010 con PowerShell


Configurando User Policy en SharePoint 2010

Como parte de los procesos internos de diagnóstico de amenazas y riesgos de seguridad que cualquier área de IT anualmente realiza, se tienen herramientas automatizadas para evaluar aplicaciones y su nivel de vulnerabilidad. Se nos ha solicitado dar permisos de acceso a una cuenta de usuario temporal para realizar una prueba de la superficie de seguridad de SharePoint. Y la pregunta que surge es en donde le daremos permisos a esta cuenta temporal para acceder a evaluar. Uno pensaría que en el Top Level Site Collection en algún grupo de seguridad podríamos asignarle permisos de acceso a dicha cuen

ta, sin embargo, que pasa cuando tenemos gran cantidad de site collections, ¿tendríamos que acceder a dar permisos de acceso en cada una?

Una alternativa aceptable para lograr dar permisos globales y de forma temporal a esta cuenta es la opción de User Policy que existe en las propiedades de un Web Application dentro del Central Administration.

Seleccionamos Manage Web applications y de la lista elegimos la aplicación web donde aplicaremos la política, después damos clic sobre User Policy.

image 

Dentro de User Policy seleccionamos Add User y especificamos sobre qué zona dentro del Web Application estaremos otorgando permisos. En este caso utilizare All Zones, sin embargo podríamos ser lo suficientemente estrictos como para especificar en cuál de las zonas disponibles esta política de acceso tendría efecto.

image

A dar clic en Next capturamos la cuenta de usuario temporal y el nivel de permisos que tendrá sobre la zona previamente especificada. Lo interesante aquí es que para la cuenta en cuestión podemos elegir el nivel de permiso y para no dejar rastro de la cuenta o proceso automatizado de evaluación sobre los cambios o accesos realizados seleccionemos la opción de que la cuente se muestre como System Account.

image

El resultado es el control de los permisos que las cuentas tienen sobre nuestras aplicaciones web de SharePoint. En cualquier momento un administrador puede acceder y remover los permisos.

image

Con esto durante damos una alternativa de solución para el escenario de acceso temporal para pruebas de seguridad realizadas por el área de IT como parte de sus procesos regulatorios internos.

¿Cuál es la primer lección de un administrador SharePoint 2010?

Por ahí un compañero me comentó que tenía el siguiente error cada que intentaba agregar una solución SharePoint 2010 en su granja de desarrollo.

El error era:

Insufficient SQL database permissions for user ‘Name: DOMAIN\spadmin SID: S-1-5-21-1455513522-927615373-1062434389-54912302 ImpersonationLevel: None’ in database ‘DEV_SharePoint_Config’ on SQL Server instance ‘SPMACHINE’. Additional error information from SQL Server is included below.

The EXECUTE permission was denied on the object ‘proc_putObject’, database ‘DEV_SharePoint_Config’, schema ‘dbo’.

Y bueno, al averiguar cómo estaba haciendo el deploy me dí cuenta que estaba trabajando con stsadm.exe –o addsolution sobre SharePoint 2010, este comando se sigue soportando y sin duda alguna es de mucha utilidad para aquellos administradores que gestionaban granjas de SharePoint 2007.

Se supone que en SharePoint 2010 la manera más adecuada de realizar este tipo de operaciones es usando Power Shell ya que el Snap In de SharePoint se encarga de otorgar los permisos necesarios a la cuenta en cuestión para ejecutar comandos sobre los objetos de base de datos requeridos, como por ejemplo el rol “SharePoint_Shell_Access” sobre la base de datos de configuración de la granja como se especifica aqui http://technet.microsoft.com/en-us/library/ee806878.aspx.

Ante este escenario tenemos varias opciones.

Opción 1: Hacer el deploy usando SharePoint 2010 Management Shell

Aquí se indica como hacer deploy usando Power Shell. http://technet.microsoft.com/en-us/library/cc262995.aspx#Importing el cual al cargar el Snap In de SharePoint sobre la consola de Power Shell de forma automática establece los permisos requeridos para ejecutar operaciones de configuración.

Opción 2: Asignar el rol requerido en SQL Server

1. Acceder a SQL Server Management Studio

2. Expandir el árbol para buscar la carpeta de Security y después Logins

3. Acceder a las Properties de la cuenta con la cual estamos haciendo el deploy

4. Elegir User Mappings

5. Elegir la base de datos de configuración de la granja SharePonit_Config

6. Elegir de los roles que se tienen en la base de datos el de SharePoint Shell Access y dar clic en Ok.

image

7. Ejecutar el deploy usando la consola de Windows y ejecutando el comando stsadm.exe –o addsolution –filename “path del wsp”

Opción 3: ejecutar el comando stsadm.exe usando la consola SharePoint 2010 Management Shell

La primer lección que un administrador SharePoint 2010 debe aprender es siempre utilizar SharePoint 2010 Management Shell como su principal herramienta de adminsitración SharePoint. :)

image

HG
SharePoint Developer! :)