Header

Author Archives: Jorge Edison Castillo Caytuiro

About Jorge Edison Castillo Caytuiro

Bueno amigos, mi nombre es Jorge Edison Castillo Caytuiro. Soy consultor especialista en plataforma de colaboración con tecnología como SharePoint y Microsoft Cloud Services, para la creación de soluciones empresariales. Este blog estará dedicado para compartir tópicos relacionados a plataforma SharePoint orientado a IT y también sobre desarrollo de componentes, espero poder estar en contacto con ustedes muy pronto. Saludos Jorge Edison Castillo Caytuiro. MCSE SharePoint, MCITP, MCSA, MCP, MCTS

Introducción a REST con SharePoint

abril 9th, 2016 | Posted by Jorge Edison Castillo Caytuiro in Sin categoría - (0 Comments)

Antes de comenzar, para que quienes no conocen SharePoint les hago una pequeña introducción:

SharePoint es una plataforma de colaboración en donde equipos de trabajo pueden interartuar compartiendo documentos, automatizando flujos de trabajo, utilizando sitios de trabajo, así como utilizar herramientas de colaboración como wikis, blogs, foros, listas de información, etc. Es una plataforma muy utilizada en entornos empresariales, especialista para la creación de sitios de proyecto en donde los equipos de trabajo comparten información, y también para la automatización de cualquier proceso de negocio de la empresa, a través de flujos de trabajo. 

Ya conociendo un aspecto básico de la plataforma, es muy común que la información cargada en esta plataforma pueda ser consumida por otras plataformas, para lo cual podemos tener un siguiente escenario:

«Tener una biblioteca documental en SharePoint con documentos de la empresa y queremos acceder a ella a través de un aplicativo web en cualquier plataforma, como por ejemplo java o php».

Teniendo este escenario, podemos pensar en construir servicios web que se integren, en este caso no será necesario.

Ya que la plataforma SharePoint ya tiene implementado una arquitectura REST el cual te permite acceder, modificar, eliminar cualquier tipo de objeto que se encuentre dentro de un sitio SharePoint, y pone a disposición de desarrolladores una forma simple de integrar aplicaciones.

Arquitectura REST en SharePoint. 

 

9

En SharePoint podemos obtener acceso a los métodos CRUD de los objetos, para tener una referencia se muestra la siguiente imagen

10

¿Y cómo accedemos a la información desde un sitio de SharePoint ?

Podemos utilizar el siguiente modelo para consultar cualquier tipo de información.

11

Aquí un ejemplo de un sitio en SharePoint que muestra una biblioteca documental con contenido

12

A esta biblioteca documental, gracias a la implementación que pone a disposición de la plataforma SharePoint, podemos acceder a su información en formato JSON o XML de la siguiente forma.

  • Caso : Listar todos los elementos de la biblioteca Oportunidades.
  • URL : HTTP://nombredelsitio/lists/getbytitle(‘listname’)/items
  • En nuestro caso sería: https://visionitpe.sharepoint.com/sites/CRM/_api/web/lists/getbytitle(‘Oportunidades’)/items
  • En nuestro caso listaría en formato JSON o XML todos los elementos de la biblioteca.
  • 13

 

14

 

Espero les sea de utilidad.

 

Referencias:

  • https://msdn.microsoft.com/es-es/library/office/fp142380.aspx
  • https://msdn.microsoft.com/en-us/library/office/jj164022.aspx

Creando un servicio REST de consulta y persistencia en base de datos

abril 9th, 2016 | Posted by Jorge Edison Castillo Caytuiro in Sin categoría - (0 Comments)

A lo largo del curso aprendí un nuevo estilo para el consumo de información a través de servicios REST ((Representational State Transfer), basado en ASP.NET. En realidad este tipo de servicio a diferencia de servicios web SOAP  es un nuevo estilo de arquitectura para desarrollar servicios. El cumple las siguientes premisas.

  • Sin estado : No se mantiene el estado, ya que cada petición es independiente de cualquier otra petición.
  • Son cliente / servidor : Hay comunicación entre ambas partes, pero bien diferenciadas y independientes (separan responsabilidades).
  • Cacheable: Los datos obtenidos (json) se pueden mantener en cache y con esto mejorar el performance del aplicativo.
  • Puede ser en capas: Está orientado a la escalabilidad y puede ver en el intermedio un balanceador de los servicios.
  • Son servicios uniformes : Quiere decir que se puede utilizar funciones uniformes siguiendo un esquema CRUD.

A continuación se muestra como crear un servicio REST el cual puede consultar datos de una base de datos , así como guardar contenido.

Escenario = «Se requiere obtener y/o registrar reservas de una sala mediante un formulario asp.net utilizando un servicio REST, las reservas se guardarán en una base de datos en su tabla respectiva».

 

  1. Creamos un proyecto del tipo WCF Application Service
  2. Creamos una carpeta llamada «Dominio» en donde colocaremos nuestra entidad llamada «Reserva»
  3. Creamos una carpeta llamada «Persistencia» en donde colocaremos nuestra entidad «ReservaDAO» la cual la utilizaremos para las operaciones de persistencia de datos.
  4. Luego agregamos un servicio llamada «ReservaServiceRest»
  5. Nuestro proyecto quedará de la siguiente manera:
  6. 1
  7. Nuestra base de datos ReservaDB tiene una tabla llamada Reserva, con la siguiente definición.
  8. 2
  9. Luego de esto creamos modificamos nuestra clase Reserva para que representa a nuestra tabla en la base de datos y realizamos las configuraciones para que sea compatible con el servicio WCF.
  10. 3
  11. Escribimos nuestras operaciones en la capa de persistencia DAO.
  12. 4
  13. Luego configuramos nuestra interface del servicio para luego implementarla en el servicio ReservaServiceRest.svc.
  14. 5
  15. Como verán a los métodos de la interface se les configura el tipo de Métod Rest que se le asignará, en este caso los tipos POST y GET, así como la nomenclatura en la URITemplate que podrá ser utilizado desde el browser.
  16. La url como podrá ser utilizada nuestro servicio podrá ser por ejemplo http://servidor/reservas/1 , en donde el último valor representa el código de la reserva que está presente en la base de datos. Esta es una forma fácil de publicar y consumir servicios desde la propia url del browser.
  17. Su implementación en el servicio quedaría de la siguiente manera.
  18. 6
  19. Una vez ya implementado el servicio podemos ejecutarlo y probarlo desde la web, de la siguiente manera.  http://localhost:63870/ReservasService.svc/reservas/5439
  20. 7
  21. Lo podemos validar en la base de datos los resultados obtenidos.
  22. 8
  23. Con esto hemos terminado de crear nuestro primer servicio REST para ser consumido desde cualquier aplicativo.
  24. Tener en cuenta que los datos obtenidos por nuestro servicio rest son de tipo JSON, lo cual hace que a diferencia de obtener XML nuestro servicio sea más ligero.
Referencias de post : http://www.arquitecturajava.com/servicios-rest/

 

 

 

 

Para los que busquen en inglés : “Error «Share with» in list items after installing «November 2014 CU» in SharePoint 2013 KB289944”

Escenario: Se tiene una plataforma “on-premise” de SharePoint 2013 al cual se ha instalado los últimas actualizaciones acumulativas, para ser más exactos se trata de la actualización KB289944 November CU 2014 para SharePoint.

Para tener mayor detalle sobre las actualizaciones disponibles y su detalle les recomiendo visitar Build Numbers SharePoint en  http://blogs.technet.com/b/steve_chen/archive/2013/03/26/3561010.aspx.

Antes de seguir leer la nota importante al final del artículo antes de continuar …

Problema: Luego de instalar el CU de noviembre, podemos observar que se presenta un issue al momento de tratar de compartir o asignar permisos en elementos de una lista (cualquier lista), ojo que solo pasa con listas y no con bibliotecas.

Al momento de tratar de compartir aparece el popup en donde se muestra el ícono de procesando que nunca termina, adicionalmente que desaparece la opción de “avanzados” y desaparece la opción de “invitar personas”.

Aquí dejo algunas evidencias:

La siguiente imagen muestra con las limitaciones mencionadas

issue

La siguiente imagen muestra como debería de aparecer sin las limitaciones.

issue4

Ojo que no sucede lo mismo en las bibliotecas documentales y solo es un problema que aparece en cualquier lista personalizada.

 

Revisión: Luego de observar el error y de haber incluso verificado en otros sitios nos damos cuenta que es un problema generalizado y que aparece luego de haber instalado la actualización indicada. Para poder realizar una revisión más detallada pueden revisar los logs de SharePoint en caso lo crean necesario o utilizar otras herramientas como “la herramienta de desarrollo de internet explorer” al cual puedes acceder presionando F12. issue2

Dentro de la herramienta podemos hacer seguimiento a la ejecución de Scripts en donde podemos visualizar lo siguiente:

issue3

Como podemos observar hay un problema en la ejecución del script sp.debug.js , en donde muestra una serie de variables sobre una propiedad “Title” que no está definido.

Si seguimos haciendo seguimiento podemos ver la pila de llamadas de nuestra herramientas y podemos ver todos los scripts relacionados, ya que sp.debug,js no nos muestra el detalle de origen del error.

image

Aquí podemos observar que hay un script llamada Sharing.debug.js en la cual hacemos un click para observar si existe alguna excepción y nos muestra lo siguiente: El error se encuentra en este script y específicamente nos dice que no se ha inicializado una propiedad o campo, es decir No está reconociendo la propiedad “Title”

issue5

Seguimos el error y nos dirige a l

image

Esto nos sale ya que al parecer la propiedad “Title” no ha sido cargada dentro del contexto y lo podemos evidenciar en la siguiente línea del script. 

issue6

Resolución:

Con esto corroboramos que efectivamente el issue se encuentra en el script Sharing.js y Sharing.debug.js para lo cual si requerimos solucionar el error podemos proceder con lo siguiente:

  • Realizar un backup de los archivos Sharing.js y Sharing.debug.js de la plataforma
  • Dentro del archivo Sharing.js debemos de agregar la propiedad “Title” en la línea de la imagen anterior y debería que quedar así:
    k.load(g,»ID»,»FileRef»,»FileLeafRef»,»Client_Title»,»Title»);
  • Dentro del archivo Sharing.debug.js debemos de agregar la propiedad “Tile ” en la línea de la imagen anterior y debería de quedar así:
    cctx.load(listItem, ‘ID’, ‘FileRef’, ‘FileLeafRef’, ‘Client_Title’, ‘Title’);

Guardar los archivos y luego de unos momentos o eliminemos el historial de script pre cargado en el explorador y  podamos volver a probar la funcionalidad, veremos que ya debería de estar solucionado.

NOTA IMPORTANTE:

  1. Revisar los detalles de cualquier actualización y los posibles issues que podrían presentarse en la plataforma
  2. Antes de instalar un service pack o CU deberías de tener un ambiente de pruebas o test y probar el ambiente.
  3. Si estás presente ante este escenario, una opción es que soliciten apoyo a soporte técnico de Microsoft y les pueda solucionar el problema.
  4. Este post realiza modificaciones a scripts de la plataforma, en la cual ustedes son responsables de su uso, modificación u aplicación.

Espero les sea de utilidad.

Saludos

“Document Set: Update inherited properties of documents after making a change in the configuration of the set of documents”

Hola, antes de continuar aquí tienen un enlace en donde se detalla que es un Document Set y su principal uso. https://support.office.com/en-ie/article/Introduction-to-Document-Sets-c49c246d-31f1-4bfe-afe2-e26698b47e05 

Este es el escenario:

  • Se tiene una biblioteca documental en la cual se ha agregado un document set, por ejemplo uno llamado contrato, el cual tiene un conjunto de propiedades y además se tiene configurado el document para que comparta sus propiedades con los documentos que cargaremos. Luego de agregar varios documentos decidimos agregar una propiedad adicional al document set y vemos que esta nueva propiedad (columna) no se comparte de manera automática, es decir aparece en blanco en todos los documentos cargados.

No recomendado : Para poder solucionar esto podemos ingresar a cada uno de los documentos y editar sus propiedades, dar clic en guardar y listo, automáticamente compartirá la propiedad con el valor esperado,  pero el gran problema es que no vamos a estar realizando este procedimiento uno por uno.

  • Adicionalmente hemos agregado a nuestro document set nuevos tipos de contenido hijos, es decir que podrán ser agregados dentro del document set, pero al momento de ingresar no se reflejan estos cambios al instante. 

image

No recomendado: Para poder solucionar esto podemos ir a la página principal de cada document set y veremos un link que dice “actualice el conjunto de documentos” al darle click veremos los nuevos cambios de tipos de contenido hijos reflejado, pero como dije anteriormente, no vamos a estar realizando esto uno por uno.

¿ Por que sucede esto ?

Generalmente los cambios realizados a nivel de UI son reflejados al momento dentro de las bibliotecas o listas, lo cual no ocurre en los Document Sets, como sabemos SharePoint dispone de un conjunto de “Timer Jobs” en un intervalo de tiempo determinado. En el caso nuestro escenario los cambios se van a ver reflejados cuando se ejecuten los siguientes “Timer Jobs” de SharePoint

  • Document Set fields synchronization job –> Actualiza los valores de las propiedades de los documentos hijos cargados dentro del documen set
  • Document Set template update job  –> Actualiza el esquema de todos los document set.

Pasos para realizar este proceso:

Ir a la administración central y dar un click en “Monitoring o Seguimiento”

  1. Escoger “Job Defitinios”
  2. Buscar los timer jobs mencionados
  3. Dar un click en “Run now” y esperar unos minutos.

image

image

image

image

image

image

image

image

image

Ya realizado este procedimiento podemos ver que la plantilla de los document set reflejan los nuevos cambios y los valores de las nuevas columnas compartidas automáticamente se propagan en todos los documentos hijos.

Espero les sea de utilidad.

Saludos

Síntoma:  No poder guardar el archivo en la biblioteca documental mediante Microsoft Word, por que apunta a una ruta local.

En algunos casos se nos presenta el siguiente escenario: Se implementó un sitio para la gestión documental en cual tiene bibliotecas documentales asociadas con tipos de contenidos que representarán a documentos. Al momento de crear un nuevo documento mediante Microsoft Word y luego tratar de guardarlo no direcciona por defecto a la biblioteca documental, por el contrario direcciona a una carpeta local, y cuando ingresamos la url de la biblioteca nos muestra un mensaje que no existe o no se tiene permisos.

El error se presenta cuando:

  1. El usuario está autenticado en su pc e ingresa al sistema http://sitiodegestiondocumental
  2. Ingresa a la biblioteca documental y escoge un documento basado en un tipo de contenido, por ejemplo Procedimiento. image
  3. Al momento de abrir Microsoft Word, y dar un click en Guardar, no detecta la biblioteca documental origen y direcciona a que el documento tiene que ser guardado en una ruta local, como se muestra en la imagen:
    clip_image002 
  4. Tener en cuenta que los usuarios si tienen accesos, la carpeta si existe, y la máquina si se encuentra agregada al domino, entonces que puede estar pasando ?….

 

Pasos de resolución

Sugiero que ustedes realicen en el siguiente orden lo siguiente:

  1. Verificar que el usuario tenga acceso a la biblioteca documental con permisos de Colaborador, ya que puede estar solo como lector y no podrá guardar el documento.
  2. Si es está ok el paso anterior, verificar que el documento tenga una extensión permitida por la plataforma (este paso es más que obvio pero igual debemos de verificarlo). También puedes verificar que al antivirus no esté bloqueando la carga de tu archivo.
  3. Si está ok el paso anterior, verificar que el nombre del archivo no contenta caracteres especiales, como sabemos no podemos guardar un documento que contengan estos caracteres por limitación de formato de URL, para más información sobre la restricción de tamaño de url puedes visitar el siguiente enlace https://technet.microsoft.com/en-us/library/ff919564(v=office.14).aspx 
  4. Luego debemos de revisar que se encuentre habilitado el servicio “Web Client” este servicio permite a programas tales como Microsoft Word crear, acceder y modificar archivos que se encuentra en una ubicación de internet, por lo que si se encuentra deshabilitado tendremos este tipo de inconvenientes.
  5. Para revisar si el servicio se encuentra ejecutándose debemos de realizar lo siguiente:
    • Tecla Windows + R , para ejecutar services.msc
    • Verificar si se encuentra habilitado e iniciado el servicio Web Client.
    • Cerrar los exploradores y volver a probar la carga o modificación de de archivos.
    • image

  6. Este servicio se encuentra disponible mayormente en los sistemas operativos tipo cliente (Windows 7, 8), pero si se encuentra dentro de tu servidor tales como Windows Server 2008, 2012, deben de primero habilitar la característica “Desktop Experience”
    1. Para habilitar esta característica debe de ejecutar “Server Manager”
    2. Escoger “Feautres” en la vista de árbol
    3. Agregar “Feature”
    4. Escoger “Desktop Experiencie”
    5. Reiniciar el servidor
    6. Ingresar a “Services.msc” y verificar que el servicio “WebClient” está habilitado y ejecutándose.

 

Luego de realizado todo esto, ya debería de superar el problema de carga o modificación de archivos en SharePoint. Espero les haya sido de utilidad.

image

 

Otros problemas de carga.

 

Saludos

Hola, hace unas semanas me topé con un issue reportado en un cliente, en donde el cliente tiene un sistema de registro de evaluaciones realizada con un formulario InfoPath personalizado, adicionalmente la aplicación es muy concurrida por muchos usuarios en hora punta.

El error reportado fue el siguiente: “A Microsoft SharePoint Server State Service error ocurred while processing your request”

image

Debemos de tener en cuenta que:

  • Los formularios inpath trabajan de la mano con el servicio de estado de la plataforma, así como los componentes chart webparts y visio services. 
  • Sin este servicio no se tendría el funcionamiento de los servicios mencionados.

Así que lo primero que ustedes deben de verificar es lo siguiente:

  • Verificar que el servicio de estado se encuentra configurado y ejecutándose.
  • Verificar si existe espacio disponible en su servidor de base de datos.
  • Si es así, verificar que el servicio se encuentre asociado a la aplicación web en donde reside la solución.
  • Sobre el último punto, debes de verificar si hay más de un servicio de estado asociado a la aplicación web, esto puede estar causando conflicto en el almacenamiento del estado, al no usar un servicio de estado asociado a una aplicación web.
    (Ojo: Puedes tener más de un servicio de estado, pero para el uso en diferentes aplicaciones web).

Si todo lo anterior está como corresponde, podemos entonces estar ante una situación de que nuestra solución InfoPath ante un escenario de alta concurrencia de usuarios presenta errores en la carga y/o en el servicio de estado, tal como lo muestra la imagen anterior.

Recomendación:

  • Recomiendo realizar una adecuada distribución de los servicios a través de las aplicaciones web de nuestra plataforma SharePoint. Una mala práctica que he visto en muchas implementaciones es que se asocia todos los servicios por defecto a todas las aplicaciones web.
  • Adicionalmente recomiendo la creación de servicios mediante power shell, ya que cuando se crean mediante “Configuration wizard” tienen configuraciones por defecto, no escalan, además de no asignar un nombre y cuenta de usuarios correspondiente.
  • Escalar : En el caso del servicio de estado, uno puede escalar su capacidad agregando uno o más base de datos de estado asociado a un solo servicio, y este asociado a su aplicación web correspondiente.

Resolución:

  1. Desasociar el servicio de estado actual de la aplicación web (No eliminarlo).
  2. Crear un nuevo servicio de estado mediante power shell
    • Debemos de abrir la consola de comandos de power shell de SharePoint (modo admin)
    • digitar: $serviceApp = New-SPStateServiceApplication -Name «<StateServiceName>»
  3. Ahora debemos de crear al menos una base de datos de estado a nuestro servicio
    • New-SPStateServiceDatabase -Name «<StateServiceDatabase1>» -ServiceApplication $serviceApp
  4. ESCALAR : Puedes agregar más base de datos de estado para tu servicio con lo cual aumentas la capacidad para la ejecución de formularios
    • New-SPStateServiceDatabase -Name «<StateServiceDatabase2>» -ServiceApplication $serviceApp
    • New-SPStateServiceDatabase -Name «<StateServiceDatabase3>» -ServiceApplication $serviceApp
  5. Luego ahora tenemos que asociar nuestro servicio de estado a un “Application Proxy” el cual vamos a poder utilizarlo para asociarlo a una aplicación web. 
    • New-SPStateServiceApplicationProxy -Name «<ApplicationProxyName>» -ServiceApplication $serviceApp
  6. Ahora que ya tenemos un servicio de estado, podemos asociarlo nuevamente a nuestra aplicación web en donde se encuentra nuestra solución Infopath.
    • En este punto cabe resaltar que nuestra aplicación web utilizará un grupo de aplicaciones de servicio personalizado, es decir no usará aquellos servicios que no necesite, por ejemplo performance point, excel services, etc.
    • Ahora tenemos dos servicios de estados, el primero para que pueda ser utilizado por otras aplicaciones web (intranet, sitios, etc)
    • Y el nuevo, para que sea utilizado exclusivamente por nuestra solución, además de ser un servicio con alta capacidad

Dejo este enlace como referencia a como configurar de manera correcta y escalable el servicio de estado https://technet.microsoft.com/en-us/library/ee704548(v=office.14).aspx 

Resumen de la configuración realizada:

Aquí podemos ver el escenario anterior en donde se comparten todos los servicios para todas las aplicaciones lo cual no es la mejor práctica y no escala, en la otra imagen se muestra una separación de aplicaciones de servicio adicionalmente el servicio de estado exclusivo y escalable:

 

clip_image001

 

Cualquier consulta me dejan su comentario.

Hola, como sabemos Microsoft ha liberado la versión de prueba técnica de SharePoint 2013 Preview, vale decir que la plataforma en comparación con la actual (2010), conserva la arquitectura de servicios, pero más robusta, añade y mejoras nuevas características. En otro post hablaremos a detalle sobre estos puntos, pero les voy dejando un enlace donde pueden visualizar todas las capacidades de SharePoint 2013 Preview.

En esta sección vamos a describir como podemos instalar SharePoint 2013 en un entorno de desarrollo, repito, en un entorno de desarrollo, superando algunas fallas en la instalación y configuración que se presenta en la versión preview del producto.

Bueno aquí vamos:

Primero debemos de tomar en cuenta los siguientes puntos.

  1. Requerimientos de Hardware
  2. Requerimientos de Software
  3. Requerimientos de Explorador.
  4. Consideraciones de Instalación.
  5. Instalación de SharePoint 2013 (Superando obstáculos).

Requerimientos de Hardware WFE | Base Datos (Mínimos)

Capa Componente SharePoint 2013 Preview
WFE Procesador 64-bit, 4 núcleos
Memoria Ram 4 GB para entornos de desarrollo.
8 GB para entornos de producción en una granja simple o en una granja de múltiples servidores.
Disco Duro 80 GB para archivos de sistema.
Mantenga el doble de espacio libre tanto como usted tiene RAM para entornos de producción
BASE DE DATOS Procesador 64-bit, 4 núcleos para implementaciones pequeñas.
64-bit, 8 núcleos para implementaciones medianas.
Memoria Ram

8 GB para implementaciones pequeñas.
16 GB para implementaciones medianas.

Disco Duro

80 GB para archivos del sistema.
El espacio del disco duro depende del tamaño del contenido a almacenar en SharePoint.

Como podemos observar, son los mismos requerimientos para la plataforma actual de SharePoint 2010. Tenga en cuenta que ustedes deben de planificar sus requerimientos de hardware acorde a su escenario de implementación, así como topología de su granja de SharePoint 2013.

Nota:  Cuando ustedes implementan SharePoint 2013 Preview en entorno de desarrollo de modo “Single Farm”, se instalará automáticamente Microsoft SQL Server 2008 R2 SP1 Express Edition, y deben de saber que tendrá una capacidad de solo 4GB para base de datos de contenido.

Requerimientos de Software (Aquí vemos algunos cambios)

Componente SharePoint 2010 SharePoint 2013 Preview
SQL Server 64-bit of Microsoft SQL Server 2008 Service Pack 1 (SP1) and Cumulative Update 2
64-bit of Microsoft SQL Server 2008 R2
The 64-bit edition of Microsoft SQL Server 2008 R2 Service Pack 1.
O en su lugar :
64-bit edition of Microsoft SQL Server 2012 RTM
Windows Server The 64-bit edition of Windows Server 2008 with SP2
The 64-bit edition of Windows Server 2008 R2
The 64-bit edition of Windows Server 2008 R2 Service Pack 1 (SP1)
O en su lugar:
64 bit edition Microsoft Windows Server 2012

Adicionalmente a los requerimientos detallados anteriormente necesitamos instalar los pre requisitos de la plataforma (estos pre requisitos pueden ser instalados durante la instalación, ya que la herramienta lo descargará e instalará por ustedes, o simplemente puedes ejecutarla).

image

Esta herramienta en resumen les instalará lo siguiente :  (Para mayor detalle les dejo el siguiente enlace http://technet.microsoft.com/es-es/library/cc262485.aspx en donde podrán descargar e instalar manualmente cada uno de los prerequisitos mencionados).

Web Server (IIS) role
Application Server role(s)
.NET 4 DGR Update KB 2468871 Information Protection & Control Client (MSIPC)
Windows Identity Foundation (WIF 1.0 and 1.1) SQL Server 2008 R2 Native Client Sync Framework Runtime v1.0 (x64)
.Net Framework version 4.0 Open Data Library (ODataLib) Windows PowerShell 3.0

Requerimientos de Explorador(Aquí vemos algunos cambios)

Explorador Supported 2013 Preview Soportado con Limitaciones No Probado
Internet Explorer 9 (32-bit) X    
Internet Explorer 8 (32-bit) X    
Internet Explorer 9 (64-bit)   X  
Internet Explorer 8 (64-bit)   X  
Internet Explorer 7 (both)     X
Mozilla Firefox (Latest version in-market)   X  
Google Chrome (Latest version in-market)   X  
Safari (Latest version in-market)   X  

Consideraciones de Instalación

Antes de poder comenzar con la instalación de SharePoint 2013 Preview, ya deben de tener en claro todo lo mencionado anteriormente, aquí vamos a ver un listado con el resumen de las consideraciones a tener cuenta para luego realizar nuestra implementación.

  1. Planifique y prepare, esto quiere decir que tenemos que verificar los requerimientos de hardware  software.
  2. Instalar actualizaciones de windows en todos los servidores de nuestra granja (en el caso de una granja con múltiples servidores)
  3. Instalar los pre requisitos de SharePoint 2013 en todos los servidores WFE y Aplicaciones de nuestra granja.
  4. Instalar SharePoint 2013 en todos los servidores WFE y Aplicaciones de nuestra granja.
  5. Crear y configurar la granja de SharePoint 2013.
  6. Configurar los servicios de la plataforma.
  7. Completar los pasos de post implementación, como sean necesarios.

Instalación de SharePoint 2013  (Superando obstáculos)

Bien ! si ya llegamos a este punto quiere decir que ya tenemos en cuenta todo lo necesario para poder implementar nuestra entorno de desarrollo. Entonces empezamos.

Para mi caso particular tengo una Laptop con Windows 8 !  en cual como sabemos que ya disponemos de la características para poder implementar servidores virtuales con “Hyper V ” en la cual tengo implementado una máquina virtual con Windows Server 2008 R2 SP1.

image

Como ya tenemos nuestra máquina virtual lista, vamos a proceder a ejecutar la instalación. (Tener en cuenta que vamos a utilizar el modo stand alone y nos va a instalar por defecto Microsoft SQL Server 2008 R2 SP1 Express Edition)

image  

Aquí seleccionamos “Instalar Prerequisitos”, luego el instalador se encargará de descargar e instalar los componentes necesarios, como lo vemos en las imágenes. 

2

Nota: los componentes no se encuentran en el instalador, por lo cual necesitan de una conexión a internet.

3

El instalador se encarda de configurar y habilitar los roles necesarios para el servidor.

4

Una ves terminada la instalación, podremos visualizar el resumen y estado de componentes instalados en el servidor, ahora  ya estamos listos para seguir…

5

A continuación ejecutamos “Instalar SharePoint” , y nos mostrará un mensaje donde indica que los servicios de IIS serán detenidos (clic en Si).

7

6

A continuación se comienzan a instalar las base de datos, parece que todo va bien !

10

Pero en el paso 2 de la instalación, falla el proceso de configuración y nos muestra el siguiente mensaje “Configuration Failed” !!! .

12

Pero descuida todo tienen una explicación :

Cuando ejecutamos la instalación de modo stand-alone, nuestra máquina virtual no está conectada a un bosque o directorio activo, y la instalación se encuentra ejecutando bajo la cuenta Network Service, por tal motivo la base de datos no se puede crear. Adicionalmente es causado también por el servicio “AppFabric Distributed Caching” que se intenta habilitar, pero como comprenderán lanza error ya que que estamos en un entorno stand-alone y no bajo un entorno distribuido de granja.

Como lo resolvemos ?

Realizando lo siguiente:

  1. Abrir un consola en modo de administración
  2. Navegar hacia “C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions15BIN” (Cambiar dependiendo del lenguaje de su sistema operativo)
  3. Escribir psconfig.exe -cmd Configdb create SkipRegisterAsDistributedCacheHost
  4. Ejecutar, como se muestra en la imagen.

11

Esto creará las base de datos de contenido (Paso de 1 a 3 ) en nuestro proceso de instalación. Cuando ya hemos realizado esto podremos volver a ejecutar nuestro asistente de configuración y seguir con la instalación, pero todavía no hemos terminado Triste .

13

Continuando con el proceso, ahora nos enfrentamos al siguiente mensaje de error, al momento de crear “según menciona”, los datos de ejemplo, algo raro de creer, pero bueno es lo que menciona.

14

Investigando un poco y haciendo caso omiso al mensaje anterior, ustedes pueden probar navegando hacia su administración central de la plataforma y verán que si funciona correctamente, es decir se instaló correctamente. (Pero no ! el objetivo es realizarlo sin que nos muestre mensajes de errores, así que sigamos…)

Pero van a visualizar que el “Search Service” se encuentra en estado de error.

error_search

Esto ocurre debido a un problema en la versión Preview de SharePoint al tratar de implementar el servicio de búsqueda.

Puedes utilizar las siguientes alternativas para superar este error y seguir con la instalación “limpia” de SharePoint 2013.

  1. Instalar el servicio de búsqueda a través de powershell
  2. Dirigirte a “C:Programs FilesWindows SharePoint Services15.0Data” y luego ubicar la carpeta que diga “Analytics_GUIXXXXX” y darle permisos al usuario de instalación.

15

Luego de realizar esto, puedes volver a ejecutar el asistente Sonrisa, y veremos que supera el paso del error.

16

17

Listo, a este nivel ya logramos instalar SharePoint 2013 Preview Sonrisa, y ahora podemos visualizar la administración central de nuestra plataforma y comenzar a realizar configuraciones posteriores, de ser necesarias.

21

Bueno amigos entusiastas, espero les pueda servir este pequeño post sobre implementación de la plataforma SharePoint 2013, más adelante nos vemos en otros post más especializados sobre las nuevas características y visualizando a detalle los servicios de la plataforma, quedo en ustedes Sonrisa.

19

Hola Sonrisa 

En estos últimos días estuve metido en la “nube” en este caso sobre Office 365, en próximos post’s compartiré con ustedes temas mucho más específicos; en este caso particular veremos de forma resumida como podemos configurar nuestro servicio de Exchange y Lync con nuestro dominio de nuestra empresa o propio.

Para este caso utilizaré mi dominio recién adquirido iwgeeks.com; con el siguiente escenario.

“El grupo iwgeeks actualmente no cuenta con correo electrónico, y desea poder contar con us servicio el cual le permita poder contar con buzones de correo de exchange 2010 y un servicio de mensajería instantánea entre sus miembros, para así estar comunicados y trabajar de manera colaborativa, ah … me olvidaba  no queremos invertir en licencias de software y servidores para poder tener esta solución” … Entonces nos vamos a la nube con Office 365.

Los siguientes pasos resumen como podemos dar de alta a nuestro dominio iwgeeks.com, configuración de nuestros DNS , activación de nuestros servicios y configuración de nuestros aplicativos.

 

Manos a la obra , sigamos estos pasos recomendables al momento de iniciar todo este procedimiento.

 

Orden

Tarea

Descripción

1

Informar a nuestros usuarios

Informaremos a los usuarios de la migración y se les comunicará lo que deben esperar durante el proceso de migración.

2

Agregar el dominio "iwgeeks.com"

Agregaremos el dominio "iwgeeks.com"que desee usaremos con Office 365.

3

Crear buzones y activar usuarios

Crearemos buzones, asignaremos las licencias y activaremos los usuarios que van a migrarse a Office 365.

4

Configuración de Lync Online

Vamos a  Lync Online (Chat) para los usuarios y definiremos las directivas para los contactos externos.

5

Redirigir el correo electrónico a Exchange Online

Debemos de actualizar los registros de DNS Mail eXchange (MX) de manera que todo el correo electrónico se redirija a Exchange Online.

6

Actualizar los escritorios de los usuarios

Como soporte se actualizarán si fuera necesario los escritorios de los usuarios o ellos realizarán la configuración. Actualización de la configuración del outlook cliente para que apunte al nuevo servidor de correo.

7

Comenzar a Usar Exchange Online

Ayudaremos a los usuarios a comenzar a usar sus nuevos buzones de Office 365.

Aquí el paso a paso en video, espero les haya servido.

Configurando Dominio en Office 365, Exchange Online, Lync Online from elcaytuiro on Vimeo.

Recursos para incursionar en el desarrollo con SharePoint 2010

noviembre 22nd, 2009 | Posted by Jorge Edison Castillo Caytuiro in Recursos SharePoint | SharePoint - (0 Comments)

Hola !

Aquí les dejo unos enlaces sobre varios recursos que nos serán de mucha ayuda para actualizarnos y en otros casos incursionar en el desarrollo con SP2010.

  • Microsoft SharePoint Team Blog
  • Microsoft SharePoint 2010 home page
  • Getting Started with SharePoint 2010 (Beta)
  • SharePoint 2010 (Beta) Developer Center 
  • SharePoint Products and Technologies: 2010 (Technical Preview) Developer Documentation 
  • SharePoint 2010: Developer Platform White Paper – David Chapell
  • SharePoint 2010: Professional Developer Evaluation Guide and Walkthroughs 
  • Getting Started with Development on SharePoint 2010 Hands-on Labs in C# and Visual Basic 
  • SharePoint 2010 MSDN Forum
  • En muchas ocasiones nos hemos topado con la necesidad de obtener el conjunto de elementos de una lista de SharePoint. El cual tiene una coleccion de items SPListItemCollecction, así como columnas SPFieldCollection.

    Si nosotros creamos una lista en la cual vamos a necesitar alguna columna que obtenga sus valores de otra lista . ejm Tipologias, Ciudades, Departamentos, etc. Tendremos que crear un campo a nuestra lista tipo lookup colum (En el cual podemos escoger la lista y el campo que deseamos buscar).

    image

    * Aunque en MOSS 2007 no soporta aún campos lookup según alguna condicional, ya que siempre trae “all items” de la lista padre.

    *Una mejora para MOSS 2010 en los lookup column es que ahora soportan borrado en cascada de los datos relacionados, véanlo en el post SharePoint 2010 What’s New – Lookup Columns #SPC09.

    Vamos al escenario.

    Tenemos una lista personalizada de cursos, el cual tiene 2 campos lookup (Tipo de curso, Categoria de curso) y 1 campo tipo persona (Usuario destino).

    image

    Para obtener los datos de la lista podemos utilizar el siguiente código:


    Y el resultado que muestra:

    image

    Como vemos en los campos lookup y user no muestra con el siguiente formato.

    1;#Virtual  => ID;#Valor

    Si en nuestra código quisieramos preguntar por algún valor como por ejemplo “Obtener los cursos virtuales y del usuario Administrator”. Tal vez escribamos el siguiente código.


    Esto NO obtendrá ningún resultado. ya que los valores en formato string de la variable _tipoCurso=”1;#Virtual” y de la variable _userName=”1;#SPVMAdministrator”.

    Es en donde ingresa las clases:

    SPField => Que representa una columna en una lista.

    SPFieldLookup => Representa una columna tipo lookup en SharePoint.

    SPFieldLookupValue => Representa los posibles valores del campo lookup.

    SPFieldUserValue => Representa el valor de un campo tipo usuario en SharePoint.

    Modificando nuestro código para poder obtener los valores de nuestros campos lookup y campo usuario, quedaría de la siguiente manera.


    Y con este código ahora si podemos obtener los valores de nuestros campos lookup y obtener el campo usuario como un campo SPUser.

    Espero les haya sido de utilidad.

    Nos vemos pronto.

    Alaos !

    A %d blogueros les gusta esto: