viernes, 14 de octubre de 2016

Error al ingresar a la navegación luego de habilitar las características de publicación de SharePoint 2013



Pueda que te enfrentes a este error al momento de intentar modificar la navegación que se habilita cuando se activan las features de publicación de SharePoint Server 2013 y te muestra el siguiente error:

EL ERROR

  Error: String was not recognized as a valid DateTime.


 Debug:    at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
 Microsoft.SharePoint.Publishing.PublishingPage.GetEffectivePageCacheProfileId(Boolean anonUserProfile)     at Microsoft.SharePoint.Publishing.CachedPage..ctor(PublishingPage page, SPListItem altItem, String id, String parentId, CachedUserResource title, String url, CachedUserResource description, CachedObjectFactory factory, List`1& fieldInfo)    at Microsoft.SharePoint.Publishing.CachedPage.CreateCachedPage(PublishingPage page, SPListItem altItem, CachedObjectFactory factory, List`1& fieldInfo)     at Microsoft.SharePoint.Publishing.CachedListItem.CreateCachedListItem(SPListItem item, SPListItem alternateItem, Boolean parentIsWeb, CachedObjectFactory factory, List`1& fieldInfo)     at Microsoft.SharePoint.Publishing.CachedObjectFactory.CreateWrappedObject(SPListItem superUserVersion, SPListItem superReaderVersion, List`1& fieldInfo)     at Microsoft.SharePoint.Publishing.CachedArea.GetChildForListByQuery(String listName, SPQuery query, SPWeb contextWeb, Boolean onlyPopulateCache, Boolean skipIfThrottled, List`1& itemsFetched)     at 


LA SOLUCIÓN

Si este es el error o similiar el problema se resuelve de forma sencilla, tienes un problema con la región.  Revisa que este colocada la región de tu país o del servidor de windows, con ello el problema se resuelve.

Las instrucciones son las siguientes:

Site Settings
Site Administration
REgional Settings
Locale: Tu País, para mi caso fue Spanish(Guatemala)

Presiona el botón Aceptar


SharePoint4Fun!,

Juan Manuel Herrera Ocheita

domingo, 9 de octubre de 2016

Script poderoso para crear colecciones de sitios y activar features en SharePoint 2016

Creación colecciones de sitios en SharePoint es una buena forma de distribuir el contenido, en especial si por cada colección de sitios creamos una base de datos de contenido por separado. De esta forma la copia de respaldo y la recuperación de las bases de datos de contenido pueden aislarse y administrar por separado.   

Aunque este script se ejecutó para SharePoint 2016, muy probablemente funciona para SP2013 y con algunos ajustes en 2010.

El problema
Tenemos 25 colecciones de sitios y debemos crearlas con sus bases de datos de contenido por separado ademas debemos de aplicar un master page personalizada y estilos.  

La solución
Hacer este problema vía Central Administration, demoraría mucho tiempo, por lo que se realizará un script en PowerShell para hacer las siguientes acciones:


  1. Crear una base de contenido con el nombre corto de la colección de sitios
  2. Crear una colección de sitios en esta nueva base de datos de contenido
  3. Habilitar la característica de publicación  a nivel de la colección de sitio
  4. Habilitar la característica de publicación a nivel de sitio primario
  5. Habilitar la característica de la solución personalizada  a nivel de colección de sitios

Utilizaremos dos archivos:


  1. Archivo CSV que tiene la información de la colección de sitio a crear
  2. Archivo PS1 que tiene los comandos de PowerShell para SharePoint para crearlas


El Formato del archivo CSV

Será el siguiente:

titulo, url, Sufijo

Título: Donde título es el título de la colección de sitios.

Url: Es la dirección url absoluta de la colección de sitios

Sufijo: El sufijo para la base de datos de contenido WSS_Content_[Sufijo]

Por ejemplo el archivo csv se vería así.

<# INICIO ARCHIVO NUEVASCOLECCIONES.CSV #>

titulo,url,Sufijo
RecursosHumanos,http://miportal/sitios/RRHH,RRHH
IT,http://miportal/sitios/IT,IT

<# FIN DE ARCHIVO NUEVASCOLECCIONES,CSV #>



El Script

El Script para crear las colecciones de sitios es el siguiente:

<# Script CreacionColecciones.ps1 inicia aquí  #>

#Importacion del contenido del archivo csv
$Colecciones = Import-Csv E:\Infoware\Scripts\ColeccionesNuevas.csv

#url de la WebApplication
$url = "http://miportal"

#recorre cada fila del contenido del archivo CSV
foreach($row in $Colecciones){
    
    Write-Host $row.Url $row.titulo $row.Sufijo
    
    #Construiyendo el nombre de la base de datos de contenido
    $Contentdb = "WSS_Content_"+$row.Sufijo
    
    #Creación de la base de datos de contenido para la nueva colección de sitios por crear
    New-SPContentDatabase -Name $Contentdb -WebApplication $url

    #Creación de la nueva colección de sitios con plantilla de Equipo en la nueva base de datos de contenido
    New-SPSite $row.Url -OwnerAlias "DOMINIO\spadmin" -Template "STS#0" -ContentDatabase $Contentdb -Name $row.titulo

    #Habilitación del característica de publicación a nivel de colección de sitios
    Enable-SPFeature "PublishingSite" -url $row.url

    #Habilitación de la caracteristica de publicación a nivel de sitio web primario y subsitios
    Get-SPWeb -Site $row.url -Limit all | % {Enable-SPFeature "PublishingWeb" -url $_.url}

    #Habilitación de la característica personalizada para aplicar una master page y estilos personalizados
    Enable-SPFeature -identity a830970f-9ef1-4712-8b45-f41a746d7fda -URL $row.url
}

<# FIN DEL ARCHIVO CREARCOLECCIONES.PS1 #>

Eso es  todo amigos, los dejo con las referencias bibliográficas del sitio de Technet por si les interesa conocer mas de los comandos ejecutados en este script.

New-SPContentDatabase "MyDatabase" -DatabaseServer "MyServer" -WebApplication http://sitename

New-SPSite http://www.contoso.com -OwnerAlias "DOMAIN\jdow" -HostHeaderWebApplication $w -Name "Contoso" -Template "STS#0"

Get-SPWeb -Site "http://rootWebUrl" -Limit all | % {Enable-SPFeature "PublishingWeb" -url $_.url}

Enable-SPFeature -identity "MyCustom" -URL http://somesite



SharePoint4Fun!,

Juan Manuel Herrera Ocheita

miércoles, 28 de septiembre de 2016

Instalando SharePoint Server Enterprise 2016 En Premisas Parte II

Ahora vamos a instalar el servidor de Aplicación de SharePoint Serve 2016 donde vamos a hospedar el Central Administration.



Según la arquitectura que vamos a configurar la granja el rol de este servidor será para ejecutar el resto de servicios que no se ejecutarán en un servidor de Front-End tradicional el cual incluye el servicio de Search, Perfiles de Usuario, Metadata Services, etc.  Por lo que seleccionaremos Custom Role para este servidor multifuncional. 

Si tuvieramos mas servidores disponibles este podría aplicarse para un App Server Minrole pero como solo son 4 servidores incluyendo base de datos y Office Online Server este será un Custom Role que es el rol que conocemos en las versiones anteriores de SharePoint (2013 y 2010).

Ahora vamos a instalar SharePoint 2016 


La página splash nos muestra una ventana azul y seleccionamos la opción Install software prerequisites.

Hay dos formas de instalar los prerequistos una requiere acceso a internet en el servidor donde se esta instalando el SharePoint y la otra es manual y puede ser descargado antes y luego instalado localmente, cuando son muchos servidores es conveniente la segunda opción.  

https://gallery.technet.microsoft.com/office/SharePoint-2016-Prerequisit-17912ad2 

* También es una buena práctica tener una copia local de los prerequisitos en caso de necesitar reinstalar o recuperar la granja de SharePoint en caso de desastres.


Bueno luego de finalizar la instalación parcial o total de los prerequisitos solicitará el reinicio del servidor luego continuará y al finalizar levantará la ventana para ejecutar el asistente de configuración de SharePoint.



Luego de visualizar la página de bienvenida y de aceptar la advertencia que los servicios de IIS y otros van hacer reiniciados, nos preguntará si deseamos conectarnos a una granja existente o crear una nueva.  Como es el primer servidor de SharePoint ha instalar deberemos seleccionar Crear una nueva granja.


Luego presionamos el botón Next y nos solicitará ingresemos el nombre o alias del servidor de SQL Server y el nombre de la base de datos que típicamente se denomina SharePoint_Config y luego la cuenta de servicio administradora de la granja (cuenta de dominio) normalmente denominada SPFarm.


Presionamos el botón Next.  Luego nos solicitará que ingresemos la frase de la granja para cuando adicionemos nuevos roles a la granja de SharePoint (por efectos prácticos la contraseña de la granja puede ser utilizada aquí también para que sea fácil el recordar la contraseña).




Luego presionamos el botón Next.  Esta pantalla es nueva y se adicionó hasta en esta versión 2016 la cual se puede definir un Minrole o Custom Role.  Si nos equivocamos o cambiamos de opinión sobre el Rol seleccionado después podemos cambiarlo a través del Central Administration.


Para mas información sobre este tema puedes visitar el siguiente enlace:

http://jmhogua.blogspot.com/2016/09/nueva-caracteristica-en-sharepoint-2016.html 


Luego presionamos el botón Next.  Luego nos pedirá que indiquemos el puerto del Central Administration.  Una buena práctica es especificar 5 veces 5 para recordar el puerto del CA. y luego nos pregunta que autenticación vamos a utilizar NTLM (Predeterminada de Windows) o Kerberos (Esta requiere configuración previa y es más utilizada cuando deseamos impersonar los usuarios hacia otros servicios dentro de la red Windows)

Si desea saber más puede leer el siguiente artículo: http://jmhogua.blogspot.com/2011/03/carrera-de-relevos-o-configuracion-de.html 



Luego nos muestra un resumen de las opciones seleccionadas en el Asistente de configuración.  



Luego presionamos el botón Next, para que inicie la configuración e instalación del Central Administration y de la granja de SharePoint con el primer nodo.


Felicitaciones si llegaste a este punto. Eureka! ya tienes un el servidor inicial para configurar toda la granja de SharePoint,  el cual definimos como Custom Role.

Bueno amigos eso es todo para este artículo donde estamos paso a paso instalando y configurando una granja de SharePoint Server 2016 con 4 servidores.

Hasta el próximo artículo. SharePoint Rules!

Juan Manuel Herrera Ocheita



Instalando SharePoint Server Enterprise 2016 En Premisas Parte I

SharePoint 2016 tiene como prerequisitos en temas de software de base de datos.   Las versiones permitidas para ejecutar SharePoint Server 2016 son:

  • La edición de 64 bits de Microsoft SQL Server 2014 Service Pack 1 (SP1)
  • Microsoft SQL Server 2016 RTM

Lo bueno es que ya se puede instalar con SQL server 2016.   Un tema importante de esta versión que no debe de sorprendernos es que el Management Studio ya no viene con la media de SQL Server 2016 sino que debe de ser descargado desde el sitio de Microsoft por aparte.

Requerimientos de Equipo o Hardware
La documentación oficial de MS puede encontrarla acá: https://technet.microsoft.com/en-us/library/cc262485(v=office.16).aspx y lo que indica es que el requerimiento mínimo para una granja de 3 capas que es la que vamos a configurar es:  12 GB RAM, 4 núcleos y 100 GB.  Pero sabemos que el requerimiento para SQL Server es mayor en RAM por lo menos.   Para nuestro ejercicio la configuración para el servidor de SQL Server es:

RAM 32 GB
PROCESSORS o cores 4
Disks: 1 HD 500 GB and 2 HD de 2 TB.



Las Características o Features requeridas por SharePoint Server 2016 Enterprise no han cambiado y son las siguientes:

Database Engine Services

     Full Text and Semantic Extraction for Search

Analysis Services
Reporting Services - SharePoint
Client Tools Connectivity

Named Instance
En esta versión ya es opción utilizar la Default o Nombrada y el nombre a vuestra elección en SQL Server 2012 la opción SharePoint Integrated obligaba a utilizar una instancia nombrada y era fijo el nombre PowerPivot.

Configuración de cuentas de servicios
Recomendado utilizar cuentas de dominio para el servicio de base de datos, Analysis Services y Reporting Services.  El objetivo de seguridad es asignarle a cada cuenta el privilegio menos posible.

Collection
Define comos serán almacenados, comparados y ordenados los caracteres, el predeterminado para nuestra región esta bien, es decir SQL_Latin1_General_CPI_CI_AS.

Mode Authentication
El modo de autenticación es a requerimiento del cliente, la mayoría selecciona Mixed Mode, pero por temas se seguridad se recomienda solo seleccionar Autenticación de Windows.

Directorio de Datos
Se recomienda utilizar otros drives para almacenar las bases de datos, seleccione según disponibilidad.

TempDB
Puede definir los valores iniciales de la base de datos TempDB.  Dejaremos los valores predeterminados, en este caso.




Server Mode
Este modo es para indicar el modo a utilizar para Analysis Services, para nuestro caso que vamos a instalar SharePoint Server Enterprise 2016 el modo debe de ser PowerPivot Mode, es no quiere decir que podamos crear otra instancia en el mismo servidor (aunque no recomendado) con otro Modo como Multidimensional o Tabular.  Solo tome en cuenta que esto demandará mas recursos del servidor (RAM, CPU y HD).

Data Directories
Especificar donde serán almacenados las bases de datos y archivos de registro y temporales del servicio de Analysis Services.  Recomendado utilizar otro drive separado al del sistema operativo.

Reporting Services Configuration
Install Only es la única opción disponible.

Ready to Install
Presione el botón Install


Ahora instalaremos SQL Server 2016 Management Studio que ahora es instalado por aparte desde un enlace público de descargas de Microsoft.




Bueno esto es solo el inicio, la base para la granja de  SharePoint ha instalar.

Referencias útiles:
http://go.microsoft.com/fwlink/?LinkId=717341 

SharePointRocks!

Juan Manuel Herrera Ocheita

sábado, 10 de septiembre de 2016

Nueva caracteristica en SharePoint 2016 MinRole

El equipo de SharePoint de Microsoft nos ha entregado una funcionalidad que pienso va hacer la diferencia en el rendimiento de SharePoint aunque hay que tomar en cuenta algunos otros aspectos como el licenciamiento ya que requeriremos para optimizar y aprovechar esta nueva  funcionalidad de SharePoint 2016 por lo menos 5 servidores.


MinRole es la respuesta de Microsoft para asegurar el mejor rendimiento posible según el Role que cada servidor pueda ejecutar.

Los Roles MinRole disponibles en SharePoint 2016 son:

1) Front End  - Servicios y Aplicaciones de servicios que se encargan de las solicitudes de los usuarios (optimizado para minimizar la latencia)
2) Application Server - Servicios y Aplicaciones de servicios que se encargas de las solicitudes hacia el back-end o trabajos de lado del servidor (optimizado para alto rendimiento)
3) Distriubute Cache - Servicios y Aplicaciones de servicios  relacionados al Distribute Cache
4) Search Server - Servicios y Aplicaciones de servicios  relacionados con el Search

Para cualquier otro Role o servicio y Aplicación de Servicio que no encaje en los MinRole se puede utilizar el Rol Custom o Legacy Role pero no estará garantizada su optimización como MinRole.

No me malinterprete esto no quiere decir que necesitemos como mínimo 5 o 6 Servidores ya que deberíamos incluir un servidor de base de datos Sql Server y un custom Role para el resto de servicios que no se ejecutan en los Roles incluidos en MinRole.  Sino que esta sería la configuración más optima garantizada por Microsoft 6 servidores para la granja.

Pero podemos iniciar con por lo menos:

2 servidores para ambientes de desarrollo y demostración:

1 Servidor Custom Role
1 Servidor de base de datos.

3 Servidores para ambientes de producción mínimo recomendado optimizando las solicitudes de los usuarios:

1 Min Role Front End
1 Custom Role para el resto de servicios
1 Servidor de base de datos

4 Servidores para optimizar las solicitudes del usuario y los trabajos del servidor:

1 Min Role Front End
1 Min Role Application Server
1 Custom Role para el resto de servicios
1 Servidor de base de datos

5 Servidores para mejorar el rendimiento de la granja

1 Min Role Front End
1 Min Role Application Server
1 Min Role para Distribute Cache
1 Custom Role para el resto de servicios
1 Servidor de base de datos

Las áreas done Distribute Cache mejora son:
  1. Claims-based authentication
  2. Newsfeeds, micro blogging and conversations
  3. OneNote client access
  4. Security trimming
  5. Page load performance
Y por último podriamos optimizar la búsqueda y toda la granja implementando cada Role de MinRole.

1 Min Role Front End
1 Min Role Application Server
1 Min Role para Distribute Cache
1 Min Role para Search
1 Custom Role para el resto de servicios
1 Servidor de base de datos

Algunas notas importantes que debes saber en SharePoint 2016 son las siguientes:

1) No hay edición Foundation o gratuita en SharePoint 2016
2) SharePoint 2016 no se puede instalar sobre SQL Server Expresss
3) No esta diseñado para instalarse en un solo servidor aunque sea para desarrollo


Al configurar el MinRole a nivel de servicios del servidor luce así, lo cual no permite configurar otros servicio garantizando que se respete la configuración optima para este Role.


En cualquier momento puede modificarse el Role de cada servidor a través de la opción Role Conversion


Referencia: https://technet.microsoft.com/en-us/library/mt667910(v=office.16).aspx

Bueno así que a planificar mejor las granjas de SharePoint 2016 y tomar en cuenta que si deseamos garantizar en optimo rendimiento de la granja tendrá que invertirse en mas servidores para aprovechar la opción MinRole que Microsoft nos entrega en esta nueva versión de SharePoint Server 2016.

Hasta la próxima SharePoint4Fun!,



Juan Manuel Herrera Ocheita

lunes, 29 de agosto de 2016

Hoy tuve un sueño tecnologico

Soñe que me habia reunido con Bill Gates, Steve Jobs y el hijo de Seve Jobs que se parecia a Ashton Cutcher. Yo se que Jobs solo tuvo una hija unica y q Ashton que hizo el papale de Jobs fue que lo asocie en mi sueño.

Entonces lo que paso es q Bill G le estaba enseñando un codigo al hijo de Jobs que habian hecho un pacto de caballeros de no revelar el codigo que Gates habia hecho a Jobs para la Mac hasta q el muriera. Y entonces como legado de Jobs era q le iba a revelar su secreto a su hijo porque iba a lanzar a fin de este año un producto inovador y esa pieza de codigo era clave para el producto.

El producto

El producto se trataba de un dispositivo Usb como los modems usb de ese tamaño mas o menos negro con una franja que atravesaba a lo largo perpe dicularmente a un lado led color amarillo y que la gracia era q se giraba y que al girar se encendia la computadora que desplegaba un mapa de la ubicacion actual o sea que tenia gps y la persona q me lo demostraba era una americana algo gordita rubia y simpatica que me daba la demostracion y nos ubico en africa. Entonces la gracia de todo era que giraba y que era una computadora q corria a traves de otra computadora o cualquier dispositivo que tuviera un display una television un monitor un hub de usb que estuviera contectado a perifericos de entrada y salida.



Actualmente hay dispositivos pequeños como Raspberry Pihttps://www.raspberrypi.org/ o Arduino. Pero estos son cuadrados y la imagen q tube era largo del ancho se una palma de la mano yel grueso de 2 dedos gordos. Asi q no se parece a ningun producto del mercado actual. y creo q tendria q cambiar el diseño y ajustarlo a ese tamaño creo q es posible. El tema es tenia su propia memoria de almacenamiento xq corria una virtual alli cpu, gps, ram, suficientemente poderosa para realizar el trabajo de una portatil. Al ver los telefonos inteligentes veo q no estamos muy lejos de q eso sea realidad. En mi sueño a fin de año sucedia




Algo similar a la imagen de arriba.

Dream4Fun

Juan Manuel Herrera

martes, 16 de agosto de 2016

Documentación sobre las base de datos de SharePoint y Ambites de Recuperación en Caso de desastres en Azure

Me ha preguntado donde pueden encontrar información de lo que hace cada base de datos de SharePoint y para que sirven.   Bueno buscando otros temas encontré el siguiente enlace de Microsoft que responderá esa solicitud.


En la actualidad SharePoint esta migrándose ambientes virtuales en la nube con Azure por lo que conocer sobre temas de DR o Recuperación de Datos y Alta Disponibilidad es un tema importante.


Pensar estos ambientes en casa es extremadamente costosos, es una buena posibilidad tener un ambiente por lo menos de DR listo en la nube en caso de desastres por lo que los invito a que investiguen los costos de una granja para DR que puedes mantener apagada y solo la enciendes para pruebas de aplicación de Parches o pruebas de desastres, no es tan difícil ni tan costos como si pensáramos en invertir en fierros costosos solo para tener un ambiente  en caso de desastre.

Cuatro pasos para crear el ambiente de Recuperación de Datos de una granja de SharePoint son:

2) Establece una VPN Sitio a Sitio con tu red local desde Azure
3) Crea las VMs en Azure que desees replicar en Azure con la configuración similar a tu ambiente local
4) Establece un RPO y un RTO y así define el procedimiento para recuperación de tu granja de SharePoint en Azure

Bueno esto es todo por el momento continuaré escribiendo sobre este tema más adelante.

SharePoint4Fun!,

Juan Manuel Herrera