miércoles, 28 de marzo de 2012

Migrando la mayoría de plantillas de 40 fantásticos de SharePoint 2007 a 2010

Microsoft no migró oficialmente las plantillas de sitios de SharePoint 2007 a 2010, sino TechSolutions a manera de contribución a la comunidad de usuarios de SharePoint puso a su disposición las plantillas para SharePoint 2010, pero sin indicar directamente que son las versiones actualizadas de 2007 y es por ello que escribo este artículo para que sirva de guía para realizar la migración de estos componentes, ya que solo instalarlas no hará que el proceso de migración valide que son las mismas.

El proceso será el siguiente:

1) Sacar un inventario de las personalizaciones instaladas en la granja de SharePoint 2007 (Para ello es necesario SP2 Instalado de WSS 3.0 y Office Server 2007, recomendado SP3) con preupgradecheck (operation).

2) Realizar la copia de la base de datos de contenido a migrar desde 2007 (normalmente tiene el nombre WSS_Content_[GUID])

3) Restaurar en el servidor de SQL Server donde esta instalado SharePoint 2010.

4) Donde esta instalado el Central Administration de SharePoint 2010, ejecutar en la ventana de SharePoint 2010 Shell o PowerShell para SharePoint 2010 el comando: test-spContentDatabase –Name WSS_Content_[GUID] –WebApplication [http://url addres].  Este listado mostrará las dependencias no instaladas en el servidor SharePoint 2010, coteje versus el reporte de preupgradecheck e identifique cada dependencia.

5) En el servidor de SharePoint 2007 dirijase al directorio Features dentro de directorio template del 12 hive (c:\program files\common files\microsoft shared\web server extentions\12) y ubique las “features” relacionadas con el reporte de test-spContentDatabase.

6) Copie las carpetas “reportadas” a 14 hive de la instalación de SharePoint 2010 (c:\program files\common files\microsoft shared\web server extentions\14).

7) Luego ejecute en la ventana de SharePoint 2010 Shell o PowerShell para SharePoint 2010 el comando: install-spfeature –path [Folder Copied in features directory].

8) Si marca un error que tiene dependencia de un assembly que no esta instalado ejecute los siguientes pasos:

8.1) Regrese al servidor SharePoint 2007 y vamos a extaer los ensamblados instalados allí para poderlos copiar. xcopy c:\windows\assembly\*.* C:\GACCopy\ /s /r

8.2) En el Servidor SharePoint 2010 instalar el esamblado utilizando el gacutil.exe –i [ruta del esamblado] posiblemente va a tener que instalar el SDK para el Windows Server que este instalado SharePoint 2010.

8.3) Reinicie el Servidor

8.4) Ejecute nuevamente el comando install-spfeature –path [Folder Copied in features directory] –force.

9) Ejecute de nuevo la línea de comando: test-spContentDatabase –Name WSS_Content_[GUID] –WebApplication [http://url addres], revise que ha eliminado de la lista esa dependencia faltante y continúe así para cada una de ellas.

10) Cuando depure la lista de los errores (no así de las advertencias), puede ejecutar una prueba con la línea de comando:

mount-spContentDatabase –Name WSS_Content_[GUID] –WebApplication [http://url addres]

o bien puede ejecutar el casi obsoleto stsadm de la siguiente forma:

stsadm -o addcontentdb -url [http://url addres]-databasename WSS_Content_[GUID]

Buena suerte!

Updgrade4Fun!,

Juan Manuel Herrera Ocheita

martes, 27 de marzo de 2012

Creando un archivo csv con la plantilla utilizada en todos los sitios con una sola línea en PowerShell para SharePoint 2010

Es muy útil en el proceso de migración listar las plantillas utilizadas en cada sitio para ubicar posibles errores de plantillas que no están instaladas o que no serán migradas.

Podemos utilizar el poder de PowerShell para SharePoint 2010 para en una sola línea generar un archivo csv que luego podemos filtrar en excel.  Veamos la línea de comando:

get-spsite http://yousitecolleccion_ulr | get-spweb -limit all | select -property title , url ,webtemplate  | export-csv plantillas.csv

Desglosemos y expliquemos que esta haciendo:

1) Instanciamos en memoria la colección de sitios

get-spsite http://yousitecolleccion_ulr

2) Del objeto instanciado en memoria solicitamos todos sus sitios web

| get-spweb -limit all

3) De cada sitio web queremos consultar las propiedades title, url y webtemplate

| select -property title , url ,webtemplate

4) Escriba el resultado en un archivo separados por comas y comillas

| select -property title , url ,webtemplate

Luego en Excel podemos abrir el archivo y seleccionar autofiltro y filtar la columna que deseemos, como se muestra a continuación:

image

Eso es todo, PowerShell4Fun!,

Juan Manuel Herrera Ocheita

domingo, 11 de marzo de 2012

3 pasos sencillos para habilitar la búsqueda federada en SharePoint 2010

Los 3 pasos para habilitar la búsqueda federada en SharePoint 2010 son:

1. Descargue la definición de la localidad federada

2. Importe el archivo

3. Agregue el elemento Web de resultados federados.

 

En detalle:

1. Para descargar la definición de localidad federada diríjase a la galería de Microsoft “Federated Search Connector Gallery for Enterprise Search” .  Por ejemplo seleccione Google News si es para SharePoint 2010 haga clic sobre el archivo GoogleNews.OSDX si es 2007 seleccione el archivo con extensión fld.

image

2. Luego en el Central Administration de SharePoint 2010 vaya al servicio de aplicación de Búsqueda y seleccione la opción Federate Locations que se encuentra en la parte inferior izquierda de la página.

image

Luego seleccione la opción Import Location.

image

Luego haga clic sobre el botón Browse y seleccione el archivo osdx que descargo y luego presione el botón Ok.

image

3.  Vaya al centro de búsqueda, busque cualquier palabra para que lo lleve a la página de resultados, Edite la página y presione la opción de Insertar Elemento Web.

image

Luego vaya a las propiedades del elemento Web y Seleccione Google News en la sección Propiedades de Ubicación, y presione el botón de Aceptar.  Finalice el modo de edición de la página y vea el resultado final.

image

Podemos agregar tantas ubicaciones federadas necesitemos, siempre y cuando tengamos el archivo OSDX.  Es una manera de integrar la búsqueda de nuestro contenido del portal con fuentes externas que están disponibles en la nube.

Recursos:

http://msdn.microsoft.com/es-es/library/ff960988.aspx

SharePoint4Fun!,

Juan Manuel Herrera O.

Asegurando nuestra granja de SharePoint 2010

Cuando pensamos en seguridad dentro de la empresa para los productos de Microsoft debemos hablar de los productos para servidores Microsoft Forefront.  Hoy en día Microsoft dispone de toda la gama de infraestructura necesaria para proteger los servidores Windows Server esta son: Firewall para protección de la red interna, Antivirus para los archivos de sistema y Antivirus para el contenido de los portales.

En este artículo echaremos un vistazo a los productos Forefront disponibles para proteger nuestra granja de Servidores SharePoint 2010 y mencionaremos los otros productos que podrían estar en un escenario real dentro de las organizaciones.

Escenario:

El portal deberá exponerse de cara al internet para una extranet es decir usuarios internos que accederán el portal desde el internet.  Para ello realizaremos el siguiente diseño de arquitectura:

image

En este diseño los usuarios acceden desde una conexión al internet el portal Web de SharePoint no sin antes pasar por un primer filtro que delimita la forma de comunicarse al portal Web de SharePoint, esto lo hace a través del un servidor:

Forefront Threat Management Gateway 2010 o Forefront TMG-2010,esta configuración se le llama Edge Firewall, ya que el servidor se encuentra al final de la red interna y conectado directamente a la red externa.  Este es la primera línea de defensa limitando los puertos de acceso, inspeccionando el https. El cable de la WAN o sea que proviene del proveedor de Internet se conecta directamente a este servidor el cual tiene dos tarjetas de Red; una para la WAN y otra para la LAN o red Interna corporativa.

El Front-End de SharePoint que contiene la interfaz de usuario Web de SharePoint esta delimitada lógicamente en una zona desmilitarizada o DMZ, también es conocida como red perimetral.  Como el portal esta de cara al internet es recomendado que la comunicación sea a través de certificados de encriptación entre el cliente y el servidor y sea por medio del protocolo HTTPS o Secure Socket Layer. Aquí no se encuentra el Central Administration de SharePoint 2010 y mucho menos las bases de datos de contenido, únicamente la interfaz web que recibe las solicitudes filtradas del Forefront TMG-2010.  Aquí también instalaremos el producto para proteger todos los archivos que se suban y lean en las bibliotecas de SharePoint este es Forefront Protection 2010 for SharePoint o FPFS 2010.

El Back-End Forefront TMG 2010.  Este servidor en cuanto a producto es el mismo servidor de Edge Firewall, pero esta configurado para ser la ultima línea de defensa para la red interna o corporativa con reglas mas restrictivas especialmente para las solicitudes de entrada o inbound.

SharePoint Back-End or Database Server.  Aquí se encuentran todas las bases de datos de SharePoint (Configuración, Contenido, Servicios, Búsqueda, Perfiles de Usuario).

SharePoint Application Server; donde esta instalado el Central Administration.  Es una buena práctica recomendada por microsoft que el Central Administration este instalado en el servidor que tiene el Rol de Aplicación y que no este en el servidor Front-End donde esta expuesto a los ataques de usuarios malintencionados.   Si nos atacan el servidor Front-End no podrá afectar mucho mas allá de los servicios de la interfaz web y posiblemente la extracción del contenido del portal si el ataque fue contundente, pero podrá ser restablecido con cierta rapidez ya que los servidores de aplicación y de base de datos se encuentra protegidos por varias capas de seguridad y restricción.  Además podemos tener una configuración de la granja de alta disponibilidad donde contamos con redundancia en el front-end, aplication Server y una configuración de Cluster o Mirroring de lado de base de datos.  Si realizamos indagación o crawling de contenido que esta en File Server debemos de contar con protección a nivel de archivos y para ello debemos de tener instalado el producto Microsoft® Forefront® Endpoint Protection 2010 (FEP).

En este artículo vimos 3 productos que no deberían de faltar en nuestra granja de SharePoint para proteger nuestros servidores.

  • El Firewall Forefront Threat Management Gateway 2010
  • El Antivirus para el sistema de archivos Forefront Endpoint Protection 2010
  • Y el Antivirus para el contenido de SharePoint Forefront Protection 2010 for SharePoint.

Y por ultimo y no por ello menos importante el diseño de la arquitectura de la red (externa, perimetral e interna) para asegurarnos que los servicios que si deben estar expuestos están asegurados y los que no bien resguardados.

SharePoint4Fun!,

Juan Manuel Herrera O.

Referencias:

http://technet.microsoft.com/en-us/magazine/gg537286.aspx

http://social.technet.microsoft.com/Forums/en-US/FSSPNext/thread/01dda33b-16bd-42b0-85b1-3b87ffa6895b/

http://blogs.technet.com/b/forefront/

viernes, 2 de marzo de 2012

SharePoint 2010 Error al publicar cualquier flujo desde SharePoint Designer. Mensaje:the root activity type is invalid

 

Problema:  Desde SharePoint Designer 2010 al momento de publicar un flujo de trabajo con el cual se estaba trabajando reporta el siguiente error:

(1,1) The root activity type is invalid

Ambiente:

Pequeña Granja de SharePoint 2010. Dos Servidores: Uno de base de datos y el otro Front-End y de aplicación.  Sin Service Pack 1.0., con algunos hotfixes antes del SP1 de SharePoint 2010.  3,000 usuarios unos 1,000 concurrentes. 16 GB de Ram en cada servidor.

Diagnóstico:

Luego de revisar logs, el analizador de salud del Central Administration y no encontrar una causa probable del problema.

En el log de SharePoint aparecía repetidas veces error en el worker process de SandBoxed Solutions, con lo cual no tiene ninguna relación.

-  - Error starting worker process. - Inner Exception: System.ComponentModel.Win32Exception: CreateSandBoxedProcess failed     at Microsoft.SharePoint.Security.SandBoxInterop.StartProcess(SandBoxedProcessArguments sbpArgs, Boolean fSuspended, ProcessInformation* psandBoxProcessInfo)     at Microsoft.SharePoint.Security.SandBoxedProcess.StartProcessSuspended(SandBoxedProcessArguments sbpArgs)     at Microsoft.SharePoint.UserCode.SPUserCodeWorkerProcess.CreateSandBoxWindowsProcess(String processExeName

Solución:

Se reinicio el servicio que controla el código que corre las soluciones Sandboxed, sin ningún éxito.  Entonces decidí reiniciar el IIS, y esto resolvió el error.

SharePoint4Fun!,

Juan Manuel Herrera O.