jueves, 26 de noviembre de 2009

MSDN - Introducción a SharePoint Designer 2010

Quiero invitarlos también a este otro evento en línea sobre SharePoint Designer 2010.  Veremos en vivo como se integra esta herramienta con SharePoint 2010.

SharePoint Designer 2010 es una herramienta descargable y gratuita para trabajar con sitios SharePoint 2010 concentrándose en los aspectos del diseño. Esta plática mostrará las funciones nuevas en SharePoint Designer 2010. Durante la plática, se integrará un sitio SharePoint con SharePoint Designer 2010 como demo.

Fecha: 02/12/2009 (dd/mm/yyyy).
Hora: 16:00 (GMT-05:00 Colombia, Panamá

Puedes inscribirte para el evento en:

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032426293&Culture=es-AR

Nos vemos pronto!,

Manolo Herrera

MSDN - Actualización del código personalizado de SharePoint 2007 a SharePoint 2010

Quiero invitarlos para esta presentación en línea sobre desarrollo SharePoint 2010.  Los dejo con la información:

SharePoint 2010 cuenta con grandiosas funciones nuevas para los desarrolladores, sin embargo, ¿cómo mueve su proyecto existente de Microsoft Office SharePoint Server 2007 a él? Las extensiones de Visual Studio 2008 para SharePoint son las herramientas del desarrollador para SharePoint 2007 y las herramientas de Visual Studio 2010 SharePoint son las herramientas del desarrollador para SharePoint 2010. Esta plática le mostrará cómo actualizar su código personalizado a Visual Studio 2010, mostrará la herramienta de actualización de proyectos, mostrará qué APIs de SharePoint tendrá que revisar usted durante la actualización y qué APIs de SharePoint 2010 debe considerar utilizar usted en caso de que pueda.

Fecha: 11/12/2009 (dd/mm/yyyy).

Hora: 14:00 (GMT-05:00 Colombia, Panamá).

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032426969&Culture=es-AR

Nos vemos pronto en línea!,

Manolo Herrera

Primera Instalación de SharePoint Server 2010 (Versión Beta 14.0.4536.1000)

Siguiéndole la pista a la nueva versión de SharePoint, el 16 de Noviembre estuvo disponible en Connect para Beta Testers y MVPs (Que me di cuenta hasta el 17… :(… que ya estaba disponible), el 17 para suscriptores MSDN y el 18 para público en general. Entre el 18 y 19 estuve bajando los bits de SharePoint y el ISO de Windows Server 2008 de 64 bits ya que todavía no corre en Windows 7, ni tampoco en Windows Server 2008 R2.  Pero para mi sorpresa si en Windows Vista SP2.

Pero tristemente ya había migrado a Windows 7 de 64 bits, así que igual no me servía :(.  Precisamente por prepararme para SharePoint 2010.  Pero estará en un futuro próximo, pero para los fans que vivimos de esta tecnología no podemos esperar mas. 

Para cuando terminé este artículo de escribir ya esta disponible el Hot Fix para correr sobre Windows 7 :|, fue publicado el 19 de Noviembre a las 8:58 p.m.  Aquí les dejo el enlace:  http://blogs.msdn.com/sharepoint/archive/2009/11/19/installation-notice-for-the-sharepoint-server-public-beta-on-microsoft-windows-server-2008-r2-and-microsoft-windows-7.aspx

Ya instalé la nueva versión eso lo hice entre el  21 y 22 de noviembre que lo hice de una forma holgada y porque tuve que bajar unos Hot Fixes para que me dejara continuar con la instalación.  Y de eso se trata este artículo describirles mi experiencia en los puntos donde tuve algunas dificultades ya que es casi igual que la versión anterior en cuanto al procedimiento para instalar los bits y la granja de servidores.

Empecemos el relato:

Lo primero fue instalar el Windows Server 2008 Edición Estándar versión Inglesa, eso fue lo mas sencillo. El único rol que le indique fue de Web Server, como estaba acostumbrado con la versión anterior 2007 de SharePoint Server, y eso fue uno de mis errores, para esta nueva versión, lea mas adelante, que le explico que sucedido.

Como sabía que SharePoint Server 2010 que viene integrado con Performance Point Services, tenía que Instalar SQL Server con los servicios de Integración (SISS), Análisis SASS y Reporte (RSSS). Que dicho sea de paso instalé la versión SQL 2008 versión Developer con el Service Pack 2.0 en una máquina virtual de 64 bits (VMware WorkStation 6.5, producto que ofrecemos y usamos dentro de la empresa). La configuración de la máquina es 2 GB de RAM y 40 GB en Disco Duro. 

Para que vea que no le como cuento esta es la imagen de las especificaciones de la VM:

image

Tengo una portátil HP Compaq 6710b de 4 GB de RAM con Windows 7 de 64 bits y un Dual Core 2 Intel de 2.0 GHz. que me da un índice de 3.1 por la tarjeta de video que para el tipo de trabajo que fueron diseñadas no le ponen una tarjeta muy potente, por lo de mas casi promedio 5.0, así que es una maquina de buen rendimiento.

image

La versión Ultimate combina la versión profesional con la versión de hogar unas características adicionales a la profesional para el hogar es la única diferencia así que si tiene la versión profesional y la utiliza para el trabajo con eso esta bien.

image

Instalé los bits de SharePoint sin problemas y sin percibir ningún cambio sustancial, una imagen parecida a la de SQL Server adornaba las ventanas de SharePoint. 

image

A diferencia de la versión anterior ahora hay una opción de pre-requisitos, muy al estilo asistente de instalación de SQL Server.  Dentro de los pre-requisitos están las Frameworks:

Net Framework 3.5 SP1, Sync y Geneva que es para la autenticación federada en Windows una producto que hablaremos en otra ocasión, y que hará realidad el “Single Sign On” a nivel de autenticación de usuarios. 

image

Hasta allí todo sin novedad, hasta que inicie el Asistente de Tecnologías SharePoint o su nuevo nombre SharePoint 2010 Products Configuration Wizard.

Luego de ingresar el product key y aceptar los términos del contrato del licenciamiento.  Pregunta si deseamos hacer una instalación Stand-Alone o Server Farm. La versión Stand Alone solo fue diseñada para efectos de demostración del producto así que por ninguna otra razón se le ocurra seleccionar esta opción, ya que no es escalable, ni nos da ningún control sobre los servicios y configuración que deseemos hacer a nuestra instalación.image 

Luego otra vez nos da una pregunta capciosa, si es Stand-alone o Completa, por la razón de arriba seleccione la opción Completa. E inicie la instalación de los bits de SharePoint, hasta ahora no hemos realizado ninguna configuración únicamente estamos instalando el software en el servidor.

image

Si todo se realizó con éxito  le mostrará la siguiente ventana:

image

Haga clic en Close y deje la palomita seleccionada para que habrá el asistente para hacer la configuración Inicial de SharePoint.  Haga clic en Next para pasar el mensaje de Bienvenida.

Luego el mensaje típico que va a reiniciar los servicios relacionados con la instalación.

image

Esta pregunta:

image

Aplica para los siguientes casos, estoy recuperando SharePoint o estoy instalando otro servidor a una granja existente de servidores SharePoint seleccionó la opción  “Connected to an existing server farm”, de lo contrario es una instalación nueva y es el primer servidor seleccione la opción “Create a new server farm”.

Entonces seleccione la avanzada cuando me solicito el nombre del servidor SQL que es el mismo le ingrese el nombre del mismo (ni en están ni en la anterior puede utilizar local tiene que colocarle el nombre de la maquina).  Y luego me dispuse escribir la cuenta de Windows con el siguiente formato dominio\nombre de la cuenta, y como no estaba pegado a ningún domino el dominio es el nombre de la máquina y el primer problema surgió:Local accounts should only be used in alone mode

Indicándome que la cuenta es local y que esta solo se puede utilizar en la instalación Stand-alone. Ups!. Para 2007 créame no había ningún problema pera ahora los conceptos de granja de Servidores se hacen mas visibles ya que si pretendemos instalar una granja de servidores que es la versión Avanzada como vamos a utilizar una cuenta local, nos previene hacer un problema mas grande adelante. 

Que tuve que hacer agregar el Rol de Controlador de Dominio que tampoco es recomendado al reinstalar SQL Server 2008 que en servidor que tiene el Active Directory tenga también una instalación de Servidor de Base de Datos, pero lo permite y como es para una máquina Virtual de demostración esta bien, en un ambiente de producción NO es recomendado, como decía mi abuelita “no hay que poner todos los huevos en la misma canasta mijito”.

Bueno ya se lo dije tuve que re-instalar SQL Server 2008, porque dígame usted después de hacerle la promoción a controlador de Dominio como quedó mi instalación de SQL Server 2008, ningún servicio arrancaba, intente repararlo infructuosamente y busque en la red y nada me indicaba que debía hacer en una instalación No Recomendada y con un procedimiento menos recomendado.  Así que desinstalé SQL Server 2008, borre todos los archivos que deja en abajo del directorio “Program Files” en su respectiva carpeta, y luego inicie allí fue donde detecto que estaba haciendo la instalación en un Controlador de Dominio y me dio el mensaje de recomendación.

Luego ya ingrese el nombre del dominio que en esta caso es Demo.

image

Y arribo un problema no esperado pero ya documentado:

RequiereHotFixToContinue

A favor del equipo de Microsoft que ha hecho un gran trabajo con este producto, recuerde es una versión beta, lo que necesita es bajar un par de Hot Fixes para pasar este imprevisto.  Al rededor de 400 Mb entre los dos y una hora de instalación habrá que añadir al tiempo que se demorará en pasar este obstáculo.  Abajo el artículo encontrado:

http://weblogs.asp.net/bsimser/archive/2009/11/19/sharepoint-2010-setup-hurry-up-and-wait-edition.aspx

Con las única variante que indica Bill Simser sobre la clave que proporciona Microsoft al Solicitar los Hot Fixes son únicas para cada autorización y no aplican las que el indica en su artículo.

http://support.microsoft.com/kb/970315

Cumulative update package 2 for SQL Server 2008 Pack 1

Luego de unas  4 horas de demora dependiendo de su enlace. Y vuelva al paso donde nos quedamos y pueda avanzar. Al presionar le botón Next. Veremos el primer cambio conceptual de la nueva versión:

image

Es un paso adicional que nos indica que debemos escribir la frase clave para la granja de servidores, revisemos un momento esta opción; Puedo tener otros servidores que deseamos pegar a la granja de servidores SharePoint no necesito conocer el la cuenta de administrador del servidor Primario pero si la clave que me dará acceso al granja y puedo utilizar otra cuenta administradora de dominio pero con permisos locales para pegarme a la misma granja de servidor, esto demuestra que el equipo de SharePoint ha avanzado en el tema de escalabilidad.  Ojo con esta clave si no la apunta o guarda no podrá continuar escalando su granja.

image

Presione el botón Next para este paso típico, que nos permite cambiar el puerto donde instalará la Administración Central de SharePoint y el tipo de Autenticación.

Al final nos muestra un resumen de la configuración seleccionada y la oportunidad de hacer back para hacer un ultimo cambio y Next para iniciar la instalación. Y espere unos minutos a que los 10 pasos se ejecuten.

UsuallScreenBeforeStart

Si todo termino con éxito debería mostrarle la siguiente ventana:

image

Me pregunta si deseo iniciar el asistente una nueva opción que no teníamos disponible.

image

Decidí acceder al asistente.  Y la primera vez me dio el siguiente mensaje:

image

Luego intente otra vez ejecutar el asistente.  Me llevo a esta página y hice clic sobre la opción “Launch the Farm Configuration Wizard”

image

Y continúo indicándome los servicios disponibles y si deseaba habilitarlos de una sola vez con la misma cuenta, seleccione todos a excepción de la Lotus Conector que en este momento no me va a servir.  Y seleccione la cuenta actual con que instalé el Central Administration.

image

Esta es una porción de todos los servicios disponibles en la nueva versión mas adelante mostrare todos los servicios en una imagen y comentare brevemente sobre ellos.

image

Finalmente funcionó y el asistente me llevo a crear la aplicación de My Sites una gran ayuda para los que empiezan con SharePoint o realizan una instalación Típica con todos los servicios disponibles.

image

image

Nos permite saltar la creación y continuar.  Para este ejemplo dejaré que el asistente me lleve de la mano.  Espero un momento y finalmente me despliega el reporte de lo efectuado:

image

Al regresar a la Administración Central notaremos una nueva organización y ahora un amigo que esta pendiente de la salud de la granja de servidores.

image

Le mostraré el reporte elegantemente agrupado y organizado, por categorías que le interesarían aún administrador de granja de servidores, como lo son: Seguridad, Rendimiento, Configuración y Disponibilidad:

image

Is not a quite thing! :)

Y si hacemos clic sobre el primer error que es un error de seguridad observe lo que muestra:

image

La Severidad, la explicación y el remedio, que tal!.  Es decir ahora a organizar bien las cuentas y a planificar mejor los permisos porque estará SharePoint 2010 reportando los pitfalls y/o security brigdes.

Volviendo a la administración central, me dirigí a la acostumbrada opción Services on Server, habían algunos servicios sin apagados y solamente tuve que hacer clic sobre Start en cada uno para que se levantaran, lo acostumbrado para la mayoría con una opción extra, que comentare en el futuro en otro artículo.  Pero dele un vistazo a la lista de servicios:

image

Gua!, tenemos el triple de servicios que estábamos acostumbrados y en un solo lugar.  Servicios que llaman mi atención están: Los de los productos Office, Access, Excel, Word y Visio, antes solamente teníamos Excel Services. El esperado Performance Point y sus aliados: Web Analytics Data Processing Service , Web Analytics Web Service.  Y nuevos y misteriosos como lo son: Managed Metadata Web Service , Application Registry Service, Microsoft SharePoint Foundation Subscription Settings Service y Microsoft SharePoint Foundation User Code Service.  Por su nombre podríamos adivinar pero lo dejamos para otro artículo que hablaremos con mas detalle y propiedad.

Veamos la información de la granja en “Manage servers in this farm”.  Nos mostrará la versión instalada de SharePoint, el nombre del servidor de Base de datos y los servidores y los servicios que la componen: 

image

Para finalizar revisemos la aplicación de nuestro portal que nos creo el Asistente en el acostumbrado puerto 80.  Para ello regresemos al Central Administration.  Y hagamos clic sobre Manage Web Application:

image

Ahora tenemos un Ribbon en la Administración Central. Familiar, rápida, y llamativa.

Bueno haga clic derecho sobre el nombre SharePoint 80 e indíquele que desea abrirla en otro Tab del explorador.  Y sea un poco paciente porque es la primera vez, y es sobre una MV local.  Si le da error solo vuélvalo a intentar.  Esto es un comportamiento común de SharPoint que consumo mucho del IO donde esta instalado SQL Server.

image

Eso es todo, espero motivarlo para que lo instalé y descubra de las tantas mejoras y nuevas características que trae este nuevo y maduro producto SharePoint Server.

Hasta la próxima!,

Manolo Herrera

P.D. Los dejo con un comentario interesante:

Algunos errores que me sucedieron fue porque pase la VM a un disco portátil a través del USB, no haga eso, este es un Sistema de 64 Bits que requiere de todo el IO disponible en su Máquina.  Los dejo con los errores para su consulta y relación con algunos que usted pueda experimentar.

image

image

martes, 17 de noviembre de 2009

MSDN - Desarrollo de aplicaciones SharePoint utilizando InfoPath 2010

Amigos, estaré compartiendo este miércoles el tema en cuestión, los espero en línea y los dejo con la información:

Venga para descubrir lo que está haciendo el equipo de InfoPath en Office 2010 para habilitar la construcción de aplicaciones enriquecidas en Microsoft Office SharePoint Server.
Fecha: 18/11/2009 (dd/mm/yyyy).
Hora: 16:00 (GMT-05:00 Colombia, Panama).
Si tiene dudas con la conversión de zonas horarias, por favor haga clic Aquí.

URL de Registro para Asistentes (Público):
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032426310&Culture=es-AR

Nos vemos pronto!,

Manolo Herrera

miércoles, 11 de noviembre de 2009

System.TypeLoadException: Could not load type al hacer Unit Test a una solución de SharePoint

Síntoma:

Al hacer una prueba unitaria tan sencilla como instanciar en memoria una clase despliega el error mencionado en el artículo.  Los demás test si funcionan pero este nuevo no.

Código de prueba con NUnit:

[TestFixture]
   public class TestFamiliarRepositorio
   {
       [Test]
       public void Test1()
       {
           var x = new DummyRepositorio();
           Assert.IsNotNull(x);
       }
   }

Escenario:

Software Instalado:

  • Visual Studio 2008 SP1
  • WSPBuilder
  • Resharper 4.5
  • Windows Server 2003 con SP2

Tipos de Proyectos en la Solución:

  • 2 Class Library (Dominio, Repositorio)
  • WebPart Project (Plantilla WSPBuilder)
  • Test Library (Pruebas unitarios del Repositorio)

Después de una refactorización con Resharper al crear este nuevo test para un nuevo Repositorio me mostró el error:

System.TypeLoadException: Could not load type

Que hice para que no lo haga usted que de todos modos no me funcionó:

Desinstalar Resharper, Instalar NUnit 2.5.2 y correr el test allí que me dio el mismo error. Reinicié el Visual Studio 2008 incontables veces y la máquina virtual donde estaba instalado.

Solución final:

El proyecto Web Part requiere que los ensamblados asociados al Web Part estén firmamos con una llave al parecer en una de las refactorizaciones se daño.  Lo que hice fue eliminar las firmas de los DLL y ejecutar los test y todo funcionó bien.  Luego agregar nuevas llaves y dejar los DLL´s firmados y con ello todo volvió a la normalidad (En propiedades del proyecto). 

image

Recuerdo que ya una vez tuve el mismo problema y me decidí cambiar de las Visual Studio Extension Tools for SharePoint v 1.2. para WSPBuilder entre otras cosas así que creo que esto hubiese corregido también el problema que en aquel entonces me dio.  Igual estoy muy contento con WSPBuilder y no haré el cambio por lo menos  no hasta VS 2010 que ya están integradas las VSe dentro del IDE, y que ya trae todas las funcionalidades que hacen atractivo WSPBuilder pero amigo lector si le da el error:

System.TypeLoadException: Could not load type

 

Favor revise los ensamblados firmados que pienso muy seguramente le resolverán el problema.

Código de Prueba que al final corrió con el Framework de testing integrado de VS 2008:

[TestMethod]
public void TestMethod_ObtenerListadoPorCodigoEmpleado_FamiliarRepositorio_InstanciaColleccionEsperado()
{
    IFamiliarRepositorio familiarRepo = new FamiliarRepositorio("nombreConexion");
    const int codigoEmpleadoPrueba = 1;
    var listadoEsperado = familiarRepo.ObtenerListadoPorCodigoEmpleado(codigoEmpleadoPrueba);
    Assert.IsNotNull(listadoEsperado);
}

Code4Fun!,

Manolo Herrera

martes, 10 de noviembre de 2009

Reunión de la Comunidad este miércoles 11 de Noviembre del 2009

Nuestro amigo Carlos Lone, estará compartiendo con mostros el tema Windows Azure. 


Les dejo con el detalle de la información:

Expositor:  Ing. Carlos Lone (Software Architect/MVP Visual Client Application)
Tema: Windows Azure
Hora: 18:30 a 20:30hrs
Lugar: Executrain (Edificio Sixtino Zona 10, Terver nivel.  Oficina 303)
Parqueo: No incluido.

 

Los esperamos este miércoles,

Manolo Herrera

domingo, 8 de noviembre de 2009

Introducción Audiencias en SharePoint Server

Una de las características que diferencia la versión Services de la versión Server de SharePoint son las Audiencias.

Las Audiencias nos permiten agrupar ciertos usuarios con características similares.  Las audiencias se definen por medio de reglas aplicadas al Directorio Activo, y por ello necesitamos la colaboración de otra característica de la versión Server llamada Perfiles o User Profiles.  Los perfiles a través de una conexión al Directorio Activo o Directorios (dependiendo de los dominios a los cuales deseemos acceder) importa la información de los usuarios y grupos  y los almacena en SharePoint.

Un supuesto que surge cuando importamos los usuarios a los perfiles es creer que estos ya están registrados en la lista de usuarios de nuestro portal (http://servername/_catalogs/users) y es totalmente falso.  Hasta que el usuario no es aplicado directamente a un grupo de SharePoint o a los permisos de un sitio este no aparecerá en dicha lista.  Que para obtener la información del usuario por medio del Modelo de Objetos a través de la clase SPWeb no aparecerá sino hasta que pueda ser encontrado en dicha lista.  No así si invocamos la clase UserProfileManager del Modelo de Objetos de SharePoint Server que si contiene la información del usuario que importamos.

Ahora vamos a ver como crear una Audiencia en SharePoint Server que luego nos servirá para mostrar documentos u otra información a ciertas audiencias que estarán disponible en todas aplicaciones de SharePoint tengamos dentro de nuestra granja de servidores.

Lo primero que debemos de hacer es ir al proveedor de servicios compartidos de SharePoint Server o SSP.  Para ello debemos de ingresar al Central Administration y hacer clic sobres SharedService1 (Si esta es una instalación típica sino el nombre que se le haya puesto).

image

Lo segundo es ir a User Profile,

image si la instalación fue realizada correctamente y solo nos estamos pegando a un controlador de dominio del Directorio Activo de Windows, no necesitaremos cambiar nada mas sino solamente realizar el Full Import de Userprofile. 

image

Esto traerá los perfiles de los usuarios y los grupos del Directorio Activo, aunque no los visualicemos del todo.  Esto nos servirá para definir las audiencias.  Deberemos esperar un poco a que finalice dicho proceso, esto dependerá del tamaño del Directorio Activo.

Cuando haya finalizado la importación deberemos seleccionar el enlace superior que dice SharedService1  o Equivalente y luego seleccionar el enlace Audiences.

image

Dentro de Manage Audiences seleccionar Create Audiences

image 

Escriba un nombre descriptivo y escriba una descripción que explique el propósito de las audiencia.  Ojo con la opción include users who: “Satify any of the rules”. Que esto nos permitirá agregar diferentes grupos aplicados a las audiencias.

image

Luego solicitará agregar una regla, deje los valores predeterminados y haga clic en la opción Operator “Member Of”. 

Para seleccionar un grupo del Directorio Activo.

image

Para buscar un grupo del Directorio Activo haga clic en el libro de búsqueda y escriba el nombre del grupo de su elección.  Ok para cerrar la ventana.

image

Para finalizar presione el botón [Ok].

Luego seleccione la opción compile para que agregue los usuarios de los grupos de las Audiencias.

image

Reglas que debemos de conocer en las audiencias:

1) Si una de nuestras reglas es un grupo del Directorio Activo y este grupo no tiene ningún miembro asignado no aparecerá el nombre de grupo para aplicarlo.

2) Debemos de importar los Users Profiles si quiera hemos creado las audiencias.  Si no es así debemos luego hacer la importación y luego regresar a agregar las reglas o compilar las audiencias y notar el cambio.

3) Debido a que es un proceso que se ejecuta en una cola de trabajos debemos de esperar unos minutos a que se actualice o ejecutar varias veces la importación de User Profiles para que tengas efecto luego en las reglas o en la compilación de las audiencias.

4) Para que se actualicen los cambios que hagamos en el Directorio Activo, deberemos programar la ejecución tanto de la importación de los User Profiles como la compilación de las audiencias. 

De esa cuenta aseguraremos que los miembros del grupo del directorio Activo estarán incluidos en las Audiencias que apliquemos a los documentos, elementos Web donde las apliquemos y así filtremos la información que deseamos ocultar o mostrar a ciertas audiencias, que estarán disponibles en toda la granja de servidores de SharePoint. 

Para habilitar las audiencias en una librería deberemos de entrar a la configuración de la librería en Library Settings y luego seleccionar Audience targeting settings:

image

Habilitar la opción de “Enable Audience targeting” y luego presionar el botón [Ok].

image 

Esto hará que se cree una columna donde guardará las audiencias que apliquemos a cada elemento dentro de la librería.

image

Ahora vamos aplicarlo a un elemento dentro de la librería.  Luego de subir el documento o un documento ya dentro de la librería seleccionemos la opción Edit Properties.  Luego en la columna Target Audiences hagamos clic sobre el librito de consulta.

image

Esto nos mostrará un cuadro de dialogo donde nos permitirá escribir el nombre y hacer clic sobre la lupita para buscar la audiencia que hemos creado.  Ojo con la columna Total Members que nos indica cuantos miembros pertenecen a dicha audiencia si indica 0 deberemos revisar la importación de los User Profile o la compilación de las mismas.

image

Luego podremos probar con usuarios fuera y dentro de la audiencia y revisar si nos muestra o no el documento.

Eso es todo por hoy amigos, nos vemos hasta la próxima,

Manolo Herrera