Mostrando las entradas con la etiqueta Actualizaciones SharePoint 2013. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Actualizaciones SharePoint 2013. Mostrar todas las entradas

miércoles, 24 de mayo de 2017

La búsqueda contextual no funciona pero si la de la colección de sitos en SharePoint

Este es el sintoma que identifica este problema.  El sintoma es el siguiente:

No funciona ninguna búsqueda desde la caja de búsqueda de las listas y bibliotecas, y tampoco funciona la búsquedal sitio, pero la búsqueda dentro de la colección si devuelve resultados.

Si revismos el log de la indagación o Crawl nos muestra que el contenido si fue indagado y que es parte del índice del servicio de búsqueda pero no funciona la búsqueda contextual.

Si funciona en la mayoría y no funcion en alguna lista ese no es el sintoma y allí el problema se debe a que no ha mapeado la columna en las propiedades adminsitradas del servicio o bien porque cambio el estilo de la vista (que debe ser siempre el predeterminado o default) y no esta utilizando la vista de AllItems.aspx que es la que permite realiar las búsquedas desde la casilla de búsqueda.

Entonces regresando al tema, si este es el sintóma la solución esta en camino.

El Problema:

El problema es que se se esta indagando otra zona que no es la predeterminada o default o bien que se ha colocado el Mapeo a servidor o Server Mappings del servicio de búsqueda asumiendo que este funciona igual como en SharePoint 2010 que no es así.   En SharePoint 2013 las cosas cambiaron y fueron mejoradas pero el comportamiento es distinto en cuanto a esta úlitma opción.

La Solución:

Primero lo primero, y es que debemos de validar para que funcione la búsqueda contextal.  Y es lo siguiente:

1) Validar que la Zona Predeterminada o Default de la Web Application sea la que esta registrado en el Fuentes de contenido o Content Sources del servicio de búsqueda y ninguna otra dirección url que sea una zona distinta a la predeterminada.

Central Administration
Manage Web Application
Alternate access Mappings
Seleccionar Web Application
Validar Zona Predeterminada o Default



Central Administration
Manage Service Application
Search Service
Content Sources



2) Validar que la Zona Predeterminada o Default de la Web Application tenga habilitado la autenticación NTLM y no otra, si es necesario otro tipo de autenticación utilizar otra zona para definir esta otra autenticación, pero para poder indagar el contenido en la zona predeterminada SharePoint requiere que sea autenticación Windows o NTLM.



Buenas noticias:

Las buenas noticias es que una vez indaga con exito la zona predeterminada o default ya no es necesario de configurar otra como como Server Mappings como se hacia en SharePoint 2010.   Los resultados serán devueltos basados en la url a la que se hizo la consulta cualquiera de las zonas  definidas en el Mapeo Acceso Alternativo o AAM.




SharePoint4Fun!

Juan Manuel Herrera



jueves, 23 de junio de 2016

La version destino del sitio de SharePoint es menor a la soportada por la aplicación SharePoint 2013 local o en nuestras instalaciones (On Premises)

Escenario:

Un App para SharePoint o Add-in como lo renombro Microsoft ahora que deseamos probar en un servidor de desarrollo. El App de hecho esta subida en el Seller Dashboard de Microsoft para Office pero al realizar desde Visual Studio 2015 el deployment ahora nos muestra el siguiente mensaje:


The target version of the SharePoint site is 15.0.4569.1000, which is lower than the minimum supported SharePoint version of the app

Esto es porque en el manifiesto del app es decir el archivo AppManifest.xml esta indicada la versión mínima requerida de SharePoint para ejectuar el App.

 
 Y si abrimos el archivo xml en VS nos muestra el requerimiento mínimo.
 

Lo que debemos de hacer es cambiar el número de 16 a 15 para probarlo en nuestro servidor de desarrollo.


 Y listo el app se implementa exitosamente.



Eso es todo amigos!.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

jueves, 26 de mayo de 2016

Acceso denegado en la pagina de permisos para un usuario propietario o con permisos de Control Total en SharePoint

Escenario:

Se creo un sub-sitio en SharePoint, se definieron permisos exclusivos y se creo un grupo de propietarios para el sitio.  Luego se definieron permisos exclusivos en una biblioteca y por último en los permisos del sitio de configuró la solicitud de acceso;


 colocando el correo del usuario al que se le asignó la administración del sitio.



Cuando el usuario intenta ir asignar permisos a otros usuarios al sitio o a la biblioteca redirige al usuario a la página de solicitar permisos


El Problema:

Cual fue el problema en este caso.  La lista de solicitud de accesos tenia permisos exclusivos y por ello provocaba el error.

La Solución:

Esta descrita en el siguiente enlace: https://support.microsoft.com/en-us/kb/2911390

Pero basícamente hay que ir a la lista de solicitud de acceso que esta escondida.  Pueden utilizar SharePoint Designer para descubrirla o bien descubrirla desde el navegador.

En las herramientas del desarrollador F12 desde IE buscar la URL que termina con  "pendingreq.aspx." y en response body buscar el id de la lista llamada pagelistid entre corchetes copiar el GUID y luego ejecutar la página para editar la lista  https://URL of affected site or site collection>/_layouts/15/ListEdit.aspx?List=<{GUID}>.  Y luego el procedimiento acostumbrado seleccionar permisos de la lista  y seleccionar la opción Eliminar permisos exclusivos.


Y eso es todo. SharePoint4Fun!,

Juan Manuel Herrera Ocheita

martes, 26 de abril de 2016

Como conocer los usuarios que estan conectados el día de hoy en SharePoint 2013

La única forma que encontrado de lado de SharePoint es ejecutando un comando de T-SQL hacia la base de datos de estádisticas con WSS_Logging o a veces lo nombran como WSS_UsageAplication.   Esta tiene diferentes vistas y funciones que nos pueden proveer información ya relacionada para facilitarnos la consulta.

El tema es que tienes que tener configurado la colección de datos de uso y salud.   Para ello ve al Central Adminsitration, a Montoring y luego Configure usage and health data collection.




Luego navegue un poco y espere por lo menos un día para que actualice la base de datos.  Si desea ver información más actualizada puede ejecutar manualmente los siguientes trabajos de SharePoint Timer Service.





Ahora el  query t-sql para ver la información.  


DECLARE @StartTime DATETIME     = GETDATE() ,
     @EndTime DATETIME     = DATEADD(day, 1, GETDATE());
      SELECT  UserLogin AS [User] ,
        COUNT(RowId) AS Hits ,
        MAX(LogTime) AS LastAccessTime

        FROM    [dbo].[RequestUsage]
       WHERE   PartitionId IN (
          SELECT  PartitionId
          FROM    dbo.fn_PartitionIdRangeMonthly(@StartTime, @EndTime) )
          AND LogTime BETWEEN @StartTime AND @EndTime
          AND UserLogin IS NOT NULL
          AND DATALENGTH(UserLogin) > 0
      GROUP BY UserLogIn


Y eso es todo amigos,

Juan Manuel Herrera

viernes, 27 de noviembre de 2015

Script para saber el tamaño de una carpeta de una biblioteca en SharePoint 2010-2013

 

Esta solicitud me hicieron hace un momento y como no vi un ejemplo en especifico para esto decidi compartirlo con mis amigos lectores.

Los tres parametros que necesitamos son: url del sitio web en cuestion, el nombre de la biblioteca y el nombre de la carpeta.  Como se muestra abajo:

$urlWebSite = “http://hostname/siteurl/sub-siteurl

$nombreLibreria = "Nombre-Libreria"

$nombreCarpeta = "Nombre-Carpeta"

Luego debemos de obtener el objeto SPWeb para encontrar la bilioteca de la siguiente forma:

$web = get-SPWeb $urlWebSite

Una vez que lla obtuvimos el objeto SPWeb que representa el sitio web en SharePoint obtenemos la biblioteca con la colección Folders del objeto SPWeb, como se muestra a continuación:

$folder =  $web.Folders[$nombreLibreria]

Ahora que almacenamos en la variable $folder la bilbioteca en cuestion, necesitamos obtener la carpeta que buscamos a través de la colección SubFolerds del objeto SPFolder, de la siguiente forma:

$subfolder = $folder.SubFolders[$nombreCarpeta]

Con eso tenemos ya la ubicación deseada para iniciar el proceso de lectura de los bytes ocupados en la carpeta y sub carpetas, para ello necesitamos crear un funcion que llamemos de forma recursiva hasta que obtengamos el espacio total ocupado.

[long]$total = 0

$total = GetFolderSize($subfolder)

La función es la siguiente:

function GetFolderSize ($Folder)

{

    [long]$folderSize = 0 

    foreach ($file in $Folder.Files)

    {

        write-host "Nombre documento" $file.Name

        $folderSize += $file.Length;

        write-host "Total en bytes que va acumulando:" $folderSize

    }

    foreach ($fd in $Folder.SubFolders)

    {

        $folderSize += GetFolderSize -Folder $fd

    }

    return $folderSize

}

Lo que nos falta entonces es convertir los bytes en megas, y en gigas es es lo que hacemos a continuación:

$totalInMb = ($total/1024)/1024

$totalInMb = "{0:N2}" -f $totalInMb

$totalInGb = (($total/1024)/1024)/1024

$totalInGb = "{0:N2}" -f $totalInGb

write-host "Tamaño total de la carpeta" $StartWeb "es" $total " Bytes,"

write-host "son " $totalInMb "MB o " $totalInGb "GB"

Y ahora necesitamos indicarle a Windows que libere el recurso en memoria que ocupamos a través del objeto SPWeb la invocar el comando  $web = get-SPWeb $urlWebSite , y lo hacemos de la siguiente forma:

$web.Dispose()

Para poner todo en orden debemo de prepar un contenedor de este script en un archivo con extension .ps1, por ejemplo:

C:\>GetFolderSize.ps1

y debera contener el siguiente orden del código descripto arriba:

<!--- Begin of File –->

function GetFolderSize ($Folder)

{

    [long]$folderSize = 0 

    foreach ($file in $Folder.Files)

    {

        write-host "Nombre documento" $file.Name

        $folderSize += $file.Length;

        write-host "Total en bytes que va acumulando:" $folderSize

    }

    foreach ($fd in $Folder.SubFolders)

    {

        $folderSize += GetFolderSize -Folder $fd

    }

    return $folderSize

}

$urlWebSite = “http://hostname/siteurl/sub-siteurl

$nombreLibreria = "Nombre-Libreria"

$nombreCarpeta = "Nombre-Carpeta"

$web = get-SPWeb $urlWebSite

$folder =  $web.Folders[$nombreLibreria]

$subfolder = $folder.SubFolders[$nombreCarpeta]

$totalInMb = ($total/1024)/1024

$totalInMb = "{0:N2}" -f $totalInMb

$totalInGb = (($total/1024)/1024)/1024

$totalInGb = "{0:N2}" -f $totalInGb

write-host "Tamaño total de la carpeta" $StartWeb "es" $total " Bytes,"

write-host "son " $totalInMb "MB o " $totalInGb "GB"

$web.Dispose()

<!--- End of File –->

Y por ultimo utilizamo el Management Shell for SharePoint para ejecutar el script de la siguiente forma:

c:\>.\GetFolderSize.ps1

Eso es todo amigos.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

sábado, 28 de diciembre de 2013

Tips para el proceso de migración de SharePoint 2007 a 2013

Primero lo primero no se puede pasar de SharePoint 2007 a 2013 de un solo con el procedimiento de base de datos acoplada o Attach data base, con herramientas de terceros es posible pero es un proceso lento y no esta libre de errores.  En 2007 hay dos procesos soportados In Place y Attached data base.  Pero el último es el adoptado y único para versiones posteriores, por lo que mantendremos esta tendencia desde 2007.

Para realizar la migración debemos de contar por lo menos con dos granjas una de SharePoint 2010 y otra de SharePoint 2013.

No es recomendado realizar un downgrade es decir una reducción de versión en el proceso de migración.  por ejemplo:  Tenemos una granja SharePoint 2007 Edición Enterprise y deseamos convertirla a SharePoint 2013 Edición Standard o a SharePoint Foundation. 

Lo contrario si es válido y posible, es decir hacer un upgrade o mejora de versión.  Por ejemplo de WSS 3.0 a SharePoint 2013 Enterprise o Standard.

A continuación una tabla de la ruta de migración posible del 2007 al 2013 en sus diferentes ediciones:

image

A continuación una tabla de la ruta de migración recomendada (en color amarillo):

image 

La recomendación se basa en que se utilice la misma edición de 2007 y hasta el final se utilice la edición deseada.  Abajo una tabla de las rutas no soportadas en las cuales se suponen escenarios de color rojo donde erróneamente se escoge una ruta de upgrade en el intermedio (en la versión 2010) y luego se decide equivocadamente hacer un downgrade, esto acarreará muchos errores en la etapa de migración de 2010 a 2013 que puede incluso impedir la migración.

image

Debemos de recordar el idioma en que esta instalado el SharePoint debe de ser el mismo a migrar o bien contar con el paquete de idioma instalado en las granjas de SharePoint a migrar que en este artículo hablamos de 2010 y 2013.

La configuración de las granjas es algo que no debe de tomarse a la ligera ya que esto puede desembocar en un proceso rápido y efectivo o lento y frustrante.

La configuración de Hardware debe de analizarse desde el misma granja de SharePoint 2007, ya que podemos contar con imprevistos como el que no se haya instalado 2007 en una base de datos de SQL Server sino a través de la versión incrustada o embedded y esto hará el proceso de extracción de la base de datos más doloroso y complicado.  Esto sucede cuando instalamos el SharePoint de forma solitaria o Stand Alone, instalación solamente diseñada para demostración y nunca recomendada para un ambiente de producción.  La sorprendente es encontrar empresas que tienen así instalado su SharePoint en modo stand-alone.

La otra configuración importante es la de SharePoint 2010 que a pesar que sea una granja “puente” ya que solo se instalará para migrar el contenido de 2007 a 2010 y de 2010 a 2013.  Debemos de asignar recursos adecuados para que el proceso de migración para que sea exitoso y eficiente.  Esta granja posiblemente no cuente con muchos recursos pero debemos prestar atención a la RAM y espacio en disco y en los servicios y contenido que estamos migrando.

A continuación la configuración mínima y recomendada por Microsoft para SharePoint 2007 Front End en sus diferentes ediciones

image

image

A continuación mi recomendación práctica para una migración para la versión SharePoint 2007

image

image

Para el servidor Puente o sea el servidor SharePoint 2010 las recomendaciones son las siguientes:

image

En la medida de disponer de mayor cantidad de RAM se garantiza un proceso más rápido de migración.  Y el espacio en disco se basa en el requerimiento de SharePoint de 5 veces el tamaño de la memoria RAM partiendo del mínimo recomendado de 80 GB + 5 Veces la RAM.  Se asume por ser un servidor puente que solo será un servidor, pero esto dependerá de la granja de SharePoint 2007 de origen cuantos servidores tienen ya que no solo se migrará contenido sino servicios también.

A continuación la recomendación mínima de una granja de SharePoint 2013 y un servidor de SQL Server 2012 en sus diferentes ediciones:

image

Comandos útiles para la migración de base de datos de contenido adjunta:

image

image

Bueno eso es todo por este artículo espero lo encuentren útil.

Hasta la próxima, SharePoint4Fun!,

Juan Manuel Herrera Ocheita