miércoles, 25 de agosto de 2010

La opción Quiesce Farm no esta mas disponible en la Administración Central pero si en línea de comando en SharePoint 2010

Aunque algunos pongan en tela de duda la efectividad de esta opción, para aquellos que si la utilizan en SharePoint 2010 en la interfaz de Usuario del Central Administration no esta mas disponible, créame literalmente barrí con todas las opciones y no lo encontré por ninguna parte.

Pero no todo esta perdido dejaron disponible en línea de comando a través de la herramienta stsadm.exe como se hacia en SharePoint 2007.

Para ejecutar la herramienta deberá ejecutar modo línea de comando y luego ubicarse en la siguiente ruta: %program files%\common files\microsoft shared\web server extensions\14\bin

Allí ejecutar la siguiente línea:

stsadm -o quiescefarm  -maxduration 5

(Referencia del 2007: http://technet.microsoft.com/en-us/library/cc263384(office.12).aspx)

Esta línea indica que en 5 minutos ejecutará esta operación.

Para revisar el estatus del comando ejecutar la siguiente línea de comando:

stsadm –o quiescefarmstatus

Para desatibar esta operación ejecutar la siguiente línea de comando:

stsadm -o unquiescefarm

Si quiere indagar con mayor detalle lo que hace quiesce farm consulte: http://social.technet.microsoft.com/Forums/en-US/sharepointadmin/thread/69ca2d8e-81e7-46e5-bde4-1668c89aa3d5

Quiescing4Fun!,

Manolo Herrera

martes, 24 de agosto de 2010

No se encuentra disponible ningún servicio de base de datos de Access en el conjunto de servidores. [Usuario: SHAREPOINT\system]. (SharePoint 2010)

Este error puede ser causado por varias razones que entre ellas un olvido en la configuración de los servicios de Base de datos Access.

La solución se encuentra aquí:

http://technet.microsoft.com/en-us/library/ee924657.aspx

Básicamente se debe de revisa la configuración del servicio en la granja de servidores y en el grupo predeterminando  este habilitado el proxy de dicho servicio.

En la configuración del sistema, en administrar servidores en este conjunto de servidores, debe de revisar que el servicio este levantado o encendido.  

image

Seleccione la aplicación Web donde desea que el servicio este levantado y luego busque y verifique si esta iniciado sino inícielo.

image

Solving4Fun!,

Manolo Herrera

viernes, 13 de agosto de 2010

En SharePoint 2010 todos tienen un lugar especial; Como MS-Access Gurú

Ahora en SharePoint 2010 estrenamos las plantillas de bases de datos Web; que no son mas que soluciones desarrolladas en MS-Acces a través del nuevo servicio Access Service.

PlantillaBasesDatosAccess

image

Si seleccionamos Options la opción Settings nos muestra que esta diseñada en Access y los objetos de access existentes; como tablas, reportes, vistas, y fórmularios.

DesignWithAccess

Si seleccionamos la opción View All Site Content nos muestra la estructura del los objetos creados dentro del Sitio creado por medio de la Plantilla seleccionada.

SiteSettingsProyectos

En la imagen de arriba nos muestra una librería de Imágenes, una librería de Definición de Reportes, Listas de SharePoint utilizadas como fuente de datos en los reportes.  Aunque la imagen muestra una plantilla de proyectos no cambia en los tipos de documentos que tienen las otras plantillas únicamente los elementos y las estructuras de las listas que utiliza para desplegar los reportes. 

Imagenes

En la imagen de arriba se muestra el contenido de la biblioteca de imágenes típica de una plantilla de bases de datos Web.

ReportDefinitions

En la imagen de arriba muestra la biblioteca de Definición de Reportes, donde muestra la fuente de datos de Access y cada una de las definiciones de los reportes disponibles dentro de la solución.

AccessDataSource

La fuente de datos de Acces define el tipo que es Access Services (El nuevo servicio disponible en SharePoint 2010) y su autenticación es Windows.

Si consultamos el contenido de el sitio basado en una de estas plantillas de bases de datos Web podemos ver otro elemento que no se revela en la opción View All Content y es la página que despliega la solución de Access incrustada dentro de SharePoint.

CotenidoProjects

Si seleccionamos en Options la opción Open In Access podremos ver el contenido de la solución de Access.

OpenInAccess

 

BaseDatosProyectosAccess

Ups!, no luce también, pero ahora veamos como lucen cada una de las plantillas expuestas dentro de SharePoint:

El de activos fijos de la organízación o Assets; todos tiene ayuda, video de demostración (necesita acceso a internet para verlo).

Activos

NuevoActivo

Veamos el de Contactos:

Contactos

AddressBook

NuevoContacto

Registro de Problemas o Issues:

RastreoProblemas

NuevoProblema

Plantilla de Caridad o Charitable Contributions:

Caridad

Y por último el de proyectos:

 image

image

image

Y la sección de reportes visualmente elegantes y con la funionalidad de generarlo a pdf, excel, xml entre otros.

image

Ah por si no sabe como regresar al portal en Options tenemos la opción de Navigate Up, este no lleva al sitio superior inmediato.

image

Bueno en este artículo descubrimos las nuevas plantillas de bases de datos (MS-Access) Web que le dan una nueva dimensión a las soluciones desarrolladas en MS-Access que su atractivo es la portabilidad y luego ahora su exposición en la Web a través de SharePoint.

Descubriendo4Fun!,

Manolo Herrera

jueves, 5 de agosto de 2010

Síntesis de debe de tomar en cuenta cuando integra SQL Server Reporting Services 2008 con SharePoint 2010 cuando tiene mas de un servidor

Si solo tiene un servidor ni se moleste con leer este artículo, si tiene mas de uno es que ha tenido algún problema que no sabe como resolverlo, a continuación un resumen de lo que debe de tomar en cuenta.

Brevemente la diferencia entre instalarlo en un solo servidor y en dos o mas en la granja de servidores es que se debe de instalar los bits de SharePoint en el servidor de Reportes, y conectarlo a la granja de servidores.

Aunque este ejemplo es para SQL server 2008 R2 es valido el procedimiento para SQL Server 2005 y 2008.

Bueno iniciemos el procedimiento.

1) Reporting Services debe de estar configurado para integrarse con SharePoint para ello desde el momento de la instalación de Reporting Services puede indicarle que desea instalarlo Integrado a SharePoint, pueda que esto le ahorre un par de minutos, en adición no es necesario instalar IIS debido a que SQL Server 2008 tiene su propio Web Server incluido. Aunque mas adelante cuando nos toque instalar los requisitos previos de SharePoint instalará y configurará el IIS por nosotros.

2) Si seleccionó la opción antes o después deberá ya sea configurar o revisar la configuración como se describe a continuación:

En este paso debe de configurar la Reporting Services a través de la opción de menú en Windows ,Reporting Service Configuration.

image

Allí deberá como primera cosa Revisar el Web Service URL el predeterminado lo instala en el 80.

WebServiceURLRS2

Luego el usuario con que se autentica deberá ser el usuario con que instaló SharePoint 2010 y que tiene permisos sobre SQL Server 2008. No la cuenta de servicio, ojo con eso.

ServiceAccountRS

En la base de datos cree una nueva colóquele un nuevo nombre como WSS_Report_Server y dígale que no es nativo sino SharePoint Integrated.

ReportServerDatabase

Con ello revise el status en la primera pagina de información de la configuración y si ya le indica que el Modo es integrado, hizo las cosas bien y ya puede continuar con el proceso.

ReportServerStatus

3) Ahora lo que debe de hacer es instalar SharePoint 2010 sobre este servidor de Reportes. Primero los requisitos previos y luego SharePoint 2010 seleccionando las opciones de Avanzado y Granja de Servidores.

4) Luego levantará el asistente de configuración de Productos y Tecnologías de SharePoint y deberá indicarle que se desea conectar a una granja de servidores existentes, escriba el nombre del servidor de Base de datos de SharePoint (que para este ejemplo es el mismo), seleccione el archivo de configuración de SharePoint de la granja normalmente es WSS_Config. Y por ultimo seleccione la opción avanzada e indíquele que no desea que este servidor hospede la aplicación de administración Central. Cuando termine la configuración levantará la administración Central del servidor donde esta instalado.

5) Dentro de la Administración Central seleccione la opción Central Application Settings, y dentro de Reporting Services seleccione la opción Reporting Services Integration.

GeneralApplicationSettingsRS

6) Escriba en la opción Report Server Web Service URL la URL del Servidor de Reportes que configuramos en el servidor de Reportes o Base de Datos según el caso. Y luego seleccione la opción de Trusted Account, para que impresone y envie la identidad del usuario . Para finarlizar esta parte coloque el usuario y clave conque se configuró la cuenta para acceder el Report Server.

ReportingServicesIntegration

Si todo funcionó correctamente deberá mostrarle la siguiente página:

ReportingServicesIntegrationSummary

7) Add a Report Server to the Integration ingrese el nombre del sevidor de base de datos y luego escriba el usuario y clave con que se configuró la cuenta de servicio de Reporting Services

IntegrateAReportServer

8) Este paso solo lo haremos para evidenciar si hay algún error seleccione la opción Reporting Services Server Defaults, sino le muestra ningún error quiere decir que ya esta configurado todo correctamente, si le muestra un error revise el correlation id en los logs de SharePoint y este le indicará la razón del error.

ReportingServicesServerDefaults

Sino a visto como se ve la integración de SharePoint con Reporting Services, puede revisar en la administración central, Monitoring en Search administration Reports, allí hay una librería de reportes que como documentos son depositados en la librería y al hacer doble clic sobre ellos muestra el reporte integrado dentro de SharePoint.

ReportLibrary Integration4Fun!,

Manolo Herrera

martes, 3 de agosto de 2010

Tip: Descargando manualmente los requisitos previos de SharePoint 2010

Si no tiene acceso por políticas de seguridad al internet en el servidor donde esta instalando los requisitos previos de SharePoint 2010 le tengo una buena y una mala noticia.

La mala es que si Ud.. busca por el nombre los requisitos encontrará otra versión que la que SharePoint Requiere en algunos de los requisitos tales el caso de

ADOMD.NET de Microsoft SQL Server 2008 Analysis Services

Microsoft Server Speech Recognition Language - TELE(es-ES)

Y pueda que otros mas.  La buena noticia es que podemos encontrar exactamente el lugar donde lo esta obteniendo SharePoint si contara con un enlace.   Para ello en la ventana de error al no contar con los requisitos completos como lo muestro en la imagen de abajo:

image

Podemos darle clic sobre el link Revisar el archivo de error.  Y allí encontrarán el link donde debemos de extraerlo:

image

Y Listo luego de descargarlo, continuará con el siguiente error y así hasta que complete de instalar todos los requisitos previos y le muestre la siguiente imagen con la cual estará listo para continuar con la instalación ya de los bits de SharePoint 2010.

image

Hasta la próxima, Installing4Fun!,

Manolo Herrera

domingo, 1 de agosto de 2010

Desplegando Información maestro y detalle utilizando ListView en un elemento Web de SharePoint

Contrario a lo que dicen muchos el control ListView de ASP.NET no es tan complicado de implementar y se puede utilizar en SharePoint 2007.  Lo único que tienes que hacer es instalar el Framework 3.5 (Tome sus precauciones con el SP1 del Framework 3.5 en un ambiente productivo que puede afectar la master page y los flujos de trabajo).

En este artículo mostraré un ejemplo que despliega un listado de sitios asociados a departamentos dentro de la organización utilizando el control ListView. Abajo la imagen del control:

image

La ventaja de utilizar el control ListView en comparación de un GridView es la libertad de la forma y estilo que se puede aplicar en el control.  Esto nos lleva a que debemos de tener un conocimiento básico por lo menos de código HTML y Hojas de Estilo (CSS).

Abajo muestro la declaración del control parcialmente que he enumerado para explicar elementos importantes.

image

Podrán notar que no hago la referencia de ninguna fuente de datos o DataSource porque esto lo haré en el código que se ejecuta de la do del servidor como lo muestro abajo:

image

image

Regresando a la imagen de código declarativo en el punto 1, declaro el evento que llenará otro ListView que veremos mas adelante.

En el punto 2, la declaración del ItemPlaceholerId nos servirá para amarrar el lugar donde se repetirá cada elemento.

En el punto 3, la definición de LayoutTemplate se define la forma y el estilo del encabezado del contenedor, en el cual en este caso he definido una tabla de html y colocado el encabezado del contendedor.  Aunque no es requisito del control si de la visualización, si queremos alinear el encabezado con el detalle debemos de respetar el número de columnas y que tengan las mismas dimensiones que eso lo podemos hacer a través de aplicar estilos (css) asociados a la tabla y a cada columna de la tabla (<td>).

En el punto 4, esta la declaración de los elementos que se repetirán de la colección.  Para amarrar cada columna o propiedad de un elemento utilizamos la declaración <%# Eval(“NombrePropiedad”) %> dentro o no de un control de usuario que nos dará otra funcionalidad que podemos aprovechar como un enlace o link.

Ahora vemos la declaración del ListView que mostrará los sitios asociados al departamento.

image

En el punto 1 la etiqueta declara el área que desplegará cada elemento de la colección asociada al control ListView.

En el punto 2 podemos ver la estructura que podemos ir armado de la forma que deseamos desplegar la información en cada columna <td> definimos un control al cual asociamos una propiedad de la lista que enlazaremos  a través de la propiedad DataSource del ListView.

En el punto 3 la cuarta columna insertamos otro ListView que tendrá el detalle de los sitios asociados al departamento.

En el punto 4 y 5 en la declaración de ListView es muy similar a la anterior, así que no me detendré a explicarlo de nuevo.

En la imagen de abajo mostramos la parte final de declaración similar a la anterior.

image

Ahora vamos a ver el código de lado del servidor donde hacemos las conexiones.

Cuando hacemos clic sobre el control que tiene el símbolo de expansión o sobre el hombre del departamento disparamos un evento del lado del servidor que cargará el ListView Interno miremos el código:

image

En el punto 1 y 2 casteamos respectivamente para obtener el control ListView y los argumentos ya que lo vamos a necesitar y que fue necesario hacer eso porque estoy utilizando el patrón Passive View y e utilizado un evento para representar el evento original del control.  Ud. podrá obviar este paso si tiene el evento original del control como lo muestro en la  imagen de abajo:

image

En el punto 3 obtengo el elemento seleccionado del control ListView.

En el punto 4 es necesario identificar que el elemento seleccionado sea de tipo DataItem.

En el punto 5 leo la propiedad de ImageUrl y si tiene la imagen de expansión la cambio por la contracción (un signo menos) y viceversa.

En el punto 6 busco el ListView que esta dentro del ListView de Departamentos que mostrará el detalle de los sitios.

En el punto 7 evaluó si el control no tiene elementos y los cargo si no hago lo contrario para hacer el efecto de mostrarlos u ocultarlos.

En el  punto 8 hago el binding del control ListView con la fuente de datos que en este caso es una colección genérica de tipo Reunión que es una clase que representa una entidad del sitio.  Nada importante para tomar en cuenta en el ejemplo de uso del control de ListView.

Hasta la próxima!,

Code4Fun!,

Manolo Herrera

domingo, 25 de julio de 2010

Migración de SharePoint Server 2007 a 2010 Parte I

Realizaré varios artículos sobre una guía práctica sobre la migración de SharePoint Server 2007 a 2010.

Primero debemos decidir que acercamiento tomaremos para encargar el problema de la migración.  Y tenemos fundamentalmente 2 caminos: Migración en el lugar o Migración de Base de datos.

Migración en el lugar:

Este procedimiento pretende que se haga la migración en el servidor migrando desde el sistema operativo a Windows Server 2008 o superior de 64 bits, pasando por la base de datos de SQL server 2005 SP3 de 64 bits o superior. para finalizar con la actualización de los bits de SharePoint 2010 de 64 bits y todo su contenido y configuración. 

Para ello es necesario revisar las capacidades actuales del equipo donde esta instalado para garantizar que son suficientes para SharePoint 2010 .  Si no lo fueran actualizar primero el Hardware y software con las ultimas actualizaciones.

Segundo realizar una copia de respaldo de toda la granja de servidor de la instalación de SharePoint y realizar una prueba de recuperación por si algo sale mal, de lo contrario no se juegue su trabajo.

Tercero con la vitalización si puede preparar un escenario idéntico o significativo para realizar la prueba en un ambiente de pruebas, eso sería magnifico!. 

Al realizar la migración deberá empezar de abajo hacia arriba o de atrás para delante.  Migrando primero el Back End o el o los servidores de Bases de Datos a 64 bits, Luego los servidores de aplicaciones de 32 a 64 bits y por ultimo pero no por ello menos importante los servidores Front End o de cara al usuario.  Todo esto de una sola vez, ya que no funcionan ambientes mixtos de 32 y 64. Todo o nada.  La  única ventaja de este aproximación es que si es exitosa migra toda la configuración actual a su equivalente en SharePoint 2010, y no tiene porque preocuparse de configuar el Search, el UserProfile,  y todos los demás servicios equivalentes entre versiones.

Lo que no se quita en ninguno de las dos aproximaciones es la parte personalizada, tendrá que migrarlo manualmente usted, todo lo referente a personalizaciones que requieren desarrollo de código.  ya que debe de compilar de nuevo su código de 32 a 64 bits e instalándolo en SharePoint 2010, manualmente.

En resumen es de alto riesgo, tiene un tiempo de downtime exponencial debido al tamaño de su granja y contenido.  Pero la configuración manual es nula o casi nula.  Recomendado para portales pequeños o que no tienen mayor personalización de funcionalidades dentro de SharePoint.

Migración de Bases de datos:

Este procedimiento no requiere que se cambie nada en la granja de Servidores que están de producción, y de echo en el proceso de la migración se puede dejar levantado en modo de solo lectura para que puedan ser accedidos por los usuarios mientras se realiza la copia de respaldo final para migrar hasta al ultimo cambio realizado, requiere de otro u otros servidores donde se restaurarán las bases de datos ya en el ambiente de 64 bits, y donde estará instalado SharePoint 2010. 

La topología de la  granja de servidores puede variar entre tanto no afectemos las bases de datos que vamos a migrar la de contenido y la del proveedor de servicios compartidos o SSP.

Requiere de configuración manual de todos los servicios, pero esto es mejor a las equivalencias que puede hacer SharePoint en la migración en el lugar y que pueda no nos parezca como los deja.  Lo que si hay que aclarar es que se requiere de mayor conocimiento de SharePoint 2010 para su configuración optima y equivalente.

Lo que migramos entonces es las bases de datos de contenido y de Proveedor de Servicios Compartidos, no la de configuración, ni la del Search.  Pero eso no es problema se puede configurar manualmente.

El procedimiento es el siguiente:

1) Revisar que SharePoint Server 2007 tenga el Service Pack 2.0 instalado, sino instalarlo y si hubiese algún hotfix luego que afecte la migración instalarlo.

2) Ejecutar en el SharePoint Server 2007 luego de actualizarlo el Pre-upgrade Checker con la siguiente línea de comando:

stsadm.exe –PreupgradeCheck

Esto lo hacemos en el conocido 12 hive o en la siguiente ruta: %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\12\bin

Nota: esto no modifica nada solo nos hacer ver a lo que nos enfretaremos en la migración para estar preparados.  Genera un reporte en html y en xml para que lo revisemos.

image

image

3) Realizar la instalación de SharePoint 2010 en nuestro nuevo Servidor, instalando por lo menos Windows Server 2008 64 bits o superior, SQL server 2005 sP3 o superior.  En mi caso lo hice con Windows Server 2008 R2 y SQL server 2008 R2.  Y realiza la configuración completa y equivalente de los servicios que estaban en el servidor 2007.

4) Realizar la copia de respaldo de las bases de datos de contenido y del SSP en SharePoint 2010.  Y restaurarlas cada una en el nuevo Servidor de SQL Server de 64 bits donde están instaladas las bases de datos de SharePoint 2010.

5) Ejecute el siguiente comando en el nuevo Power Shell para SharePoint 2010:

Test-SPContentDatabase -Name <DatabaseName> -WebApplication <URL>

SPContentDataBase-LanguaguePackRequired En este ejemplo lo único que nos reporta es que debemos de instalar el Language Pack del Idioma en Español ya que la instalación de SharePoint es en inglés.  Al finalizar la instalación de los requerimientos debería mostrarnos como la imagen de abajo.

PasoTest-SPContenDatabase

En otros casos deberemos de instalar las soluciones que hicimos para el antiguo portal, como lo muestra la imagen de abajo:

SPContentDataBase

6) Algo importante de tomar en cuenta antes de asociar la base de datos a la granja de servidores es que debe de crearse la aplicación Web donde se va asociar la base de datos de contenido. Y deberá actualizarse la base de datos que contiene la colección de sitios raíz.  Luego las de mas bases de datos no importa el orden.  Y para finalizar los comentarios importantes es que no podemos adjuntar la base de datos en la granja mas de una vez ya que esto queda almacenado en la configuración de SharePoint.

7) Para finalizar la actualización desde el Power shell for SharePoint 2010 la siguiente línea de comando:

Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL> [-Updateuserexperience]

En el siguiente artículo detallaré la parte de migración de personalización de los elementos Web y los resultados finales.

Referencia directa de Microsoft:

http://technet.microsoft.com/en-us/library/cc263299.aspx#

Upgrade4Fun!,

Manolo Herrera