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