Mostrando las entradas con la etiqueta Solución a problemas SharePoint. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Solución a problemas SharePoint. Mostrar todas las entradas

viernes, 13 de octubre de 2017

Servicio de Perfiles de Usuario No Inician en SharePoint 2013

Este servicio en todas sus versiones siempre ha dado de que hablar, es muy facilmente corruptible y muy difícil de levantar, por las dependencias que han existido con Forefront Identity Manager.   Ya en la versión 2016 cambia el Nombre por Identity Mananger al parecer un servicio mucho más adaptable y con la posibilidad de no utilzarlo si no se requiere personalizar la importación de los usuarios del Directorio Activo hacia SharePoint.

Pero si se ha topado con el problema de que no se levanta y ha siguió todos los pasos en los siguientes enlaces:



Y el escenario donde corres tiene la siguiente peculiaridad:

El nombre del netbios del dominio es diferente del FQDN.

Entonces el problema lo resolvimos de la siguiente manera:

Registramos la cuenta de la granja con el FQDN en los servicios de ForeFront Identity Manager Y ForeFront Identity Manager Syncrhonization de la siguiente forma:

spfarm@FQDN es decir spfarm@dominio.com

Con ello el servicio inicio.  Pasamos 3 semanas con este tema hasta que se nos ocurrio registrar las cuentas no con el formato netbios dominio\spfarm sino en la anterior y funcionó.  

Estimamos que en la red del cliente alguna configuración incorrecta en su red hay cuando los nombres netbios no coinciden con el FQDN del servidor y no me refiero al formato sino mas bien que el nombre netbios no coicidía en nada al FQDN del dominio.

SharePoint4Fun,

Juan Manuel Herrera Ocheita


lunes, 6 de febrero de 2017

Cuidado con la base de datos tempDB de SQL Server 2016 para un granja de SharePoint 2016

Oh! sorpresa la base de datos temporal que utiliza para realizar sus operaciones de creación, modificación y eliminación  puede creecer hasta llenar por completo el disco donde esta ubicada.   

El disco donde estaba almacenada esta base de datos tempDb tenia 2 TB y fueron consumidos en su totalidad, así que mucho cuidado.

La base de datos TempDb en Sql Server 2016 se crean archivos separados por nucleos lógicos en el caso nuestro teniamos 4 núcleos entonces creó 4 archivos separados uno por cada núcleo;un arhivo .MDF y 3 archivos .NDF.  Y estos mostraban el tamaño de 500 GB cada uno, como se muestra abajo:


Este servidor es el BackEnd de una Granja de SharePoint 2016.  Y el reporte del usuario fue que no podía agregar una bilioteca de imágenes.  Al revisar el log de SharePoint se encotró el siguiente error:

02/02/2017 16:49:30.93               w3wp.exe (0x21AC0)                                    0x2424C               SharePoint Foundation                         Database                           880j        High      SqlError: 'Could not allocate space for object 'dbo.EventCache'.'EventCache_ListId' in database 'WSS_Content_xxx' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.'    Source: '.Net SqlClient Data Provider' Number: 1105 State: 2 Class: 17 Procedure: 'proc_LogChangeEx' LineNumber: 28 Server: 'SHAREPOINTDB'                1833d19d-e9f5-b035-1066-9145bf5ded4f

Su configuración inicial fue la siguiente:

Crecimiento Inicial Tenia 1024 Mb
AutoCrecimiento
Crecimiento en 64 MB
Limite de Crecimiento No Restringido

Solución

La solución pues tendría que ser reducir el tamaño de la base de datos por medio de un Shrink, pero para ambientes de producción no es recomendado hacerlo en caliente y en horarios laborales.  Por ello se tomaron las siguientes medidas:

Procedimiento Efectuado:

1) Solicitar Ventana de Mantenimiento de Emergencía
2) Dentro de la ventana de mantenimiento se efectuó el siguiente procedimiento:
2.1.) Se ejecutaron las siguientes líneas en t-sql con el Management Studio:

use tempdb
GO

DBCC FREEPROCCACHE -- clean cache
DBCC DROPCLEANBUFFERS -- clean buffers
DBCC FREESYSTEMCACHE ('ALL') -- clean system cache
DBCC FREESESSIONCACHE -- clean session cache
DBCC SHRINKDATABASE(tempdb, 99); -- shrink tempdb

Esto liberó 450 Gb el disco que estaba lleno y no permitio reiniciar con seguridad

2.2) Reinicio del Servidor de SQL Server
2.3) Ejecución de los siguientes comandos de t-SQL:

go

USE tempdb;
GO
DBCC SHRINKFILE (tempdev, 64); --libere el espacio del archivo de base de datos y dele un tamaño de 64MB
GO
--2 1 8192 8192 472 472
DBCC SHRINKFILE (temp2, 64); --libere el espacio del archivo de base de datos y dele un tamaño de 64MB
GO
--2 3 8192 8192 184 184
DBCC SHRINKFILE (temp3, 64); --libere el espacio del archivo de base de datos y dele un tamaño de 64MB
GO
--2 4 8192 8192 120 120
DBCC SHRINKFILE (temp4, 64); --libere el espacio del archivo de base de datos y dele un tamaño de 64MB
GO
--2 5 8192 8192 32 32

2.4) Se modificó las propiedades de cada data file para que creciera un máximo de 10 Gb o 10240 Mb.

Con ello se liberó el espacio y se garantizó que no puede llegar a ser mayor a 10 Gb cada archivo de base de datos o ndf file dando un total de 40 GB que estamos es más que suficiente para las operaciones de la granja de SharePoint 2016.



Luego se probó crear la biblioteca y se efectuó la operacíon con éxito sin problemas.



En resumen tenga cuidado cuando se configura SQL Server 2016 de limitar el tamaño de la base de datos tempdb un tamaño que según estime las operaciones que realizará la base de datos pueda manejar, defina un limite máximo para los archivos MDF y LDFs de la base de datos TempDB.

Microsoft también recomienda que tenga un tamaño igual inicial y un incremento igual es decir todas esten configuradas con el mismo tamaño de crecimiento que en este caso es de bloques de 64 MB.

Datos interesantes sobre la tempdb en SQL Server 2016 puede revisar este enlace:

https://blogs.msdn.microsoft.com/psssql/2016/03/17/sql-2016-it-just-runs-faster-automatic-tempdb-configuration/


Hasta la próxima y cuidado con la tempDB.


Juan Manuel Herrera Ocheita



domingo, 22 de enero de 2017

Reporte de Uso en SharePoint 2016 reporta ceros en visitas y usuarios únicos más no en las consultas de búsqueda

Este error ha sido muy común desde la versión SharePoint Server 2013, al parecer unificar en el servicio de búsqueda con las estadísticas de uso del portal, no ha sido una experiencia muy positiva ni para los que administramos las granjas de SharePoint ni para los usuarios que analizan la información que es brinda el reporte de consumo si la comparamos con las gráficas de SharePoint 2010 que nos daban mucho más información.

Primero veamos el diseño de la arquitectura de los componentes que intervienen en las estadísticas de SharePoint.


Este diagrama es de SharePoint 2010, pero en 2013 y 2016 no ha cambiado mucho.   Aunque es parte de el servicio de Search de SharePoint, los componentes que lo integran aún son parte del diseño que viene de la versión 2010.  Ahora en el diagrama modifque algunas etiquetas para actualizarlo más posible a la versión reciente y entendamos que componentes intervienen en las estádisticas de uso de SharePoint 2016.

La arquitectura del servicio de búsqueda de SharePoint 2016 a nivel mas amplio puede revisarse en los diagramas disponibles de arquitectura del sitio de technet.  Para apreciar mejor la imagen puedes visitar el siguiente enlace:
https://msdn.microsoft.com/en-us/library/office/jj163300.aspx. el proceso Analytics Processing Component es responsable de procesar las estadísticas tanto de uso como de consulta.


Para comprender donde puede fallar las estadísticas de uso de SharePoint 2016, necesitamos  evaluar cada componente y servicio que integra la solución para generar las estadísticas de uso.   Por ello veremos cada parte que la integra a continación:

Por Aplicación de Servicios
Por Aplicación de Servicios los componentes involucrados para que el reporte de uso funciona son

Search Service o Servicio de Búsqueda
Aplicación de Servicio de busqueda compuesto por los siguientes componentes:
Administration, Crawler, Content Processing, Analytics Processing, Query Processing, Index Partition.

WSS_UsageApplication
Servicio para capturar la salud de la granja y uso de las aplicaciones Web.

State Service Application
Servicio para almacenar temporalmente la información de las sesiones de los usuarios, requerido por servicios como InfoPath y WSS_UsageApplication

Por Bases de Datos

Search_Service_Application_AnalyticsReportingStoreDB 
Base de datos del servicio de búsqueda del componente
WSS_Logging
Base de datos derl servicio WSS_UsageApplication
SharePoint_StateService
Almacena temporalmente la sesión del usuario

Por Timer Jobs de la granja

Microsoft SharePoint Foundation Usage Data Import
Importa los archivos usage log para la base de datos WSS_Logging.
Microsoft SharePoint Foundation Usage Data  Maintenance
Ejecuta mantenimiento a la base de datos WSS_Logging
Microsoft SharePoint Foundation Usage Data Processing
Registra el uso de las aplicaciones web en los archivos de usage log 

Por archivos en el file system

Los archivos .usage almacenados en la ubicación configurada en Usage and Health data Collection.  Si no fue modificada la ubicación predeterminada puede ubicarla en la siguente ruta: %SytemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\[SharePoint Version]\Bin\Logs.

Estos archivos son trasladados a la base de datos wss_logging.

Los archivos .log almacenados en la carpeta EventStore que de forma predeterminada la ubicación es %SystemDrive%\Program Files\Microsoft Office Servers\[SharePoint Version]\Data\Office Server\Analytics_[Guid]\EventStore\[Day of the Date]

Finalmente ahora veamos que validaciones debemos de hacer cuando el reporte nos despliega cero en las visitas y usuarios únicos.

VALIDACIONES

1. Configuración de Usage and Health data Collection

Para ello debe ir al Central Administration, Monitoring, Configure usage and health data collection
Validar que este seleccionado el checkbox Enable Usage data collection 
Validar que esten seleccionados los eventos por lo menos Page Requests
Validar la ubicación del directorio donde se almacenan los archivos usage en: Usage Data Collection Settings, Log file location:
Validar que este configurado Logging DataBase la casilla Databaseserver y DatabaseName


2. Definición de Trabajos en el TimerJob de SharePoint

Validar que las definiciones de trabajo del Timer Job esten habilitadas y calendarizadas de la siguiente forma:


3. Ejecución del State Service o Servicio de Estado de Sesión


Validar que el State service este creado sino ejecutar en SharePoint 2016 Management Shell la sigientes líneas de comando:

$serviceApp = New-SPStateServiceApplication -Name "StateService App"
New-SPStateServiceDatabase -Name "SharePoint_StateService" -ServiceApplication $serviceApp
New-SPStateServiceApplicationProxy -Name "StateService App Proxy" -ServiceApplication $serviceApp -DefaultProxyGroup


4. WSS_UsageApplication Proxy este Iniciado


Si el proxy de este servicio aparece not started es necesario provisionarlo de nuevo con las siguientes líneas:


Get-SPServiceApplicationProxy
$usage = Get-SPServiceApplicationProxy -Identity [Guid de WSS_UsageApplication]
$usage.Provision()

5. Existencia de Archivos .usage

Verificar la ubicación de los archivos .usage y la fecha ultima de creación de los archivos
Monitoring, 

Para ello debe ir al Central Administration, Monitoring, Configure usage and health data collection
Validar la ubicación del directorio donde se almacenan los archivos usage en: Usage Data Collection Settings, Log file location:

Luego validar que los archivos .usage existan con fecha actual.  En caso de no estar deberá validar que este habilitado la configuración de Usage and Health data Collection (punto no.1).

6. Validar si los reportes ya generan datos un día después
Lamentablemente no hay forma de visualizar esta información sino un día después, asi que habrá que esperar.


SharePoint4Fun,

Juan Manuel Herrera Ocheita


lunes, 9 de enero de 2017

Job de Papelera de Reciclaje puede provocar caida de un sitio en SharePoint

Este caso nos tuvo casí un mes en la búsqueda de la causa del problema.



El problema:

La colección de sitios principal y primaria de SharePoint reportaba caídas aleatorias en las mañanas entre las 6 y 7 de la mañana.  Esto no sucedia a diario y la forma de corregir el problema era que el usuario reiniciaba tanto el servidor de SQL Server como el Front-End.

El Error:

01/06/2017 06:12:40.46  w3wp.exe (0x05C8)                        0x1624 SharePoint Foundation          Database                       fa45 High     System.InvalidOperationException: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached.     at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)     at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)     at System.Data.SqlClient.SqlConnection.Open()     at Microsoft.SharePoint.Utilities.SqlSession.OpenConnection() cc94ec34-1e2f-46d3-a524-1aa20ebf64e4
ConnectionString: 'Data Source=SQL_ALIAS_NAME;Initial Catalog=WSS_Content_xxxxx;Integrated Security=True;Enlist=False;Asynchronous Processing=False;Connect Timeout=15'

El Escenario:
Versión de SharePoint Server: 2010
Edición de SharePoint Server: Enterprise
Versión de actualización de Producto: 14.0.6109.5002 (SP1 + Cu Agosto 2012)
Versión Sistema Operativo: Windows 2008 R2 Enterprise SP1 (Fuera de Soporte)
Versión de SQL Server: SQL Server 2008 R2 SP1 (Fuera de Soporte)
Cantidad de Servidores 3:  1 Servidor Front-End/App Server  2 Servidores SQL Server
Configuración de Servidores:


Front End (Fisico)
16 GB RAM
2 procesdores
2 Discos (1 hd 200 Gb, 2 hd 150 Gb)
BackEnd 1 (Fisico)
16 GB RAM
2 procesdores
2 Discos (1 hd 200 Gb, 2 hd 2 Tb)
BackEnd 2 (Virtual)
2 procesdores
2 Discos (1 hd 200 Gb, 2 hd 300 Gb)
Tamaño de base de datos de contenido  principal (1.4 TB)

La causa:
SharePoint Server 2010 en adelante tiene un proceso de limpieza de la papelera de reciclaje de cada base de datos de contenido llamada Recycle Bin (Podemos encontrar en la sección de monitoreo ) Job Definitions.  Este proceso intentaba eliminar una biblioteca de 500 Gb que fue eliminada hace un mes y el tiempo definido para ejecutar este proceso 5 horas no era suficiente para eliminarla, por lo que mantenia ocupada la conexión o bien realizaba intentos fallidos hasta que agotaba las conexiones disponibles en el pool de conexiones hacia la base de datos y esto provocaba el error.



Se logró ubicar el problema, cuando en vez de iniciar los servidores y luego de reportados se empezo a validar lo siguiente:

1) Que Los recursos de los servidores de la granja estuviesen a bajo del 80% de uso y así estaban por debajo.
2) Que el servicio del IIS estuivese corriendo y no tuviese ningún sitio abajo (y estaba corriendo sin reportar problemas de hecho el central administration funcionaba)
3) Que el servicio de SQL Server de los dos servidores de SQL Server estuvise funcionando y corriendo ( efectivamente funcionaban correctamente)
4) Que el sitio estuviese accesible (aquí fallaba y daba un error 500 servicio no disponible)
5) Validó los jobs que estaban en ejecución y allí se encontró el Recyclebin ejecutandose 3 horas antes y estaba al 50%.
6) Se validó el contenido de la papelera de reciclaje y en segunda fase tenie una biblioteca de 500 GB.

La Solución Alterna:
Se deshabilitó el job de limpieza de la papelera de reciclaje para la aplicación web que contiene esta bilbioteca que no logra eliminar.



La Solución Definitiva:
La granja se planificó migrar a un ambiente virtual el cual tiene mucho mas capacidad de procesamiento y en donde este proceso de limpiza si finalizá con éxito y más rápido.  Además de distribuir el contendio de tal forma que se reduzca el tamaño de la base de datos de contenido principal depurando el contenido o moviendolo a una nueva base de datos esto trea consiguo mayor esfuerzo administrativo para el contenido pero lo hace más manejable.

Lección aprendida:
Configurar la depuración de la papelera en un porcentaje menor evitará que permita almacenar 500 GB en la segunda fase.  Distribuir el contenido y hacer un plan de gobierno es una práctica poco adoptada pero muy necesaria para evitar estos problemas a largo plazo.  Monitorear los servicios de la papelera que demoren mas de una hora para validar sus efectos en dicha demora.  También la programación del job de la papelera debe contemplarse su ejecución manual cuando el contenido es arriba de 200 GB y la capacidad de los servidores de la granja actual.

SharePointHardLesson,

Juan Manuel Herrera Ocheita




miércoles, 2 de noviembre de 2016

Error al intentar ver el perfil del usuario en SharePoint Server 2016

El error sucedió luego de volver a crear el servicio de perfiles de Usuario.  Y el mensaje fue el siguiente:


We're having trouble loading some parts of this page, but your documents aren't affected. While we work on fixing it, you can continue using your documents like you normally would. 

Causa del error:

Este error se debió a que la aplicación Web que almacena los sitios de los usuarios estaba en otra Asociación de Aplicaciones de Servicio y por ello no encuentra los elementos Web indicados para desplegar el contenido.   


Si quieres saber mas sobre los Application Proxy Group o Grupo de Aplicación Proxy visita el siguiente enlace:

https://technet.microsoft.com/en-us/library/ee704550.aspx

Solución:

Mover la aplicación web que hospeda los sitios del usuario al mismo grupo de Aplicación Proxy.  Y el error desapareció.




Eso es todo, y el mensaje de esto es que debemos de tener cautela como movemos la configuración de las aplicaciones dentro de la granja porque podemos afectar su funcionamiento.

Hasta la próxima, SharePoint4Fun!,

Juan Manuel Herrera Ocheita

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

miércoles, 20 de julio de 2016

Error Attempted to perform an unauthorized operation al intentar obtener el nombre de un grupo de SharePoint 2010

Este error da porque se esta ejecutando una operación no autorizada y a pesar que utilizamos el método RunWithElevatedPrivileges de la clase SPSecurity ya que  invocamos la propiedad RoleAssigments de la biblioteca.  Este código esta corriendo sobre un EventReceiver a través de la clase SPItemEventReceiver que tiene sus peculiaridades a comparación del desarrollo de elementos Web en SharePoint.
 
 
 
Veamos el siguiente código:
 
 
 
 
Fue reemplazado por el siguiente código:
 
 

 
Aunque el código no reemplaza totalmente la lógica anterior si obtiene de forma directa el nombre del grupo que en el caso de la solución aplicaba efectivamente lo que se deseaba.
 
Lo que se hizo en el código es obtener los grupos del usuario actual a los cuales pertenece y que tiene la palabra lector. Que era fundamentalmente lo que se requería en la aplicación.
 
Así que ojo no den por sentado cuando utilizan SPSecurity.RunWithPriviliges(); que todo se ejecuta con el usuario administrador dentro del código primordialmente en un entorno como El EventReceiver.
 
 Así que Code4Fun!,
 
Juan Manuel Herrera Ocheita
 

sábado, 28 de mayo de 2016

Instalando SharePoint 2010 en Windows Server 2012 R2

Hay clientes que aún estan en SharePoint 2010 y aún no se migran por diversas e importantes razones, pero si desean actualizar el sistema operativo del servidor.   En este caso el cliente sea virtualizar sus servidores físicos y redistribuir el contenido para ello ha solicitado que se instala sobre Windows Server 2012 R2.

Donde está el problema?. 
Pues SharePoint Server 2010 salió al mercado en el año  2010 (Announced Launch date is May 12th, 2010, RTM date (Release to Manufacturing) will be in April) y Windows Server 2012 R2 salió 4 de septiembre de 2012. 

Entonces SharePoint 2010 RTM no tenía soporte para este sistema operativo sino hasta el Service Pack 2.0 según esta publicación https://support.microsoft.com/en-us/kb/2724471  "Before the release of Service Pack 2 (SP2) for Microsoft SharePoint Server 2010, Microsoft did not support SharePoint Server 2010 in a Windows Server 2012 or Windows Server 2012 R2 environment.

However, SharePoint Server 2010 slipstream media SP2 has now been released, and this configuration is supported in Windows Server 2012 and Windows Server 2012 R2. "


Entonces es necesario obtener el slipstrem media  es decir la media que incluya el SP2 lo puede encontrar en suscripción de msdn  como SharePoint Server 2010 with Service Pack 2.0.


Nota: intente crear el slipstream desempacando el SP2 y copiandolo en el directorio updates, pero no me funcionó asi que le recomiendo encuentre el slipstream media de la subscripción msdn o de otra fuente de Microsoft ya que de lo contrario se topará con un sinnúmero de errores.




Es importante mencionar que también el artículo recomienda instalar el CU de Febrero 2014 o superior.  Para validar las últimas actualizaciones de SharePoint puede buscar SharePoint 2010 lastest updates https://technet.microsoft.com/en-us/library/mt715807%28v=office.16%29.aspx.


No se olvide de ejecutar el asistente de Productos y Tecnologías de SharePoint para que actualice adecuadamente la granja de SharePoint.



Happy SharePoint Installation!,

Juan Manuel Herrera Ocheita

lunes, 23 de mayo de 2016

Como resolver el Error /_vti_bin/client.svc/ProcessQuery UnauthorizedAccessException: Access is denied.

Escenario:

Una app de SharePoint o Add-in de SharePoint como Microsoft denomina ahora las apps en SharePoint dejo repentinamente de desplegar a todos los usuarios el contenido del app.

Esto no solo aplica a las apps sino a cualquier lista dentro de la Aplicación web de SharePoint, como veremos más adelante.  Así que si repentinamente dejo de ver un contenido pueda que este sea su caso.

El usuario me notificó que al agregar el usuario de red como administrador local del servidor, ya le mostraba el contenido del app.   Aún más confuso y extraño este comportamiento que al parecer eran permisos que no tenían los usuarios en el servidor, pero como descubrir si alguien hizo alguna modificación en el servidor ya que es un ambiente de un cliente administrador por el personal del cliente.

Después de revisar la configuración y servicios de Aplicaciones de la granja de SharePoint y constatar que todo estaba bien configurado y funcionando, procedí a indagar en los logs de SharePoint.   Para ello es necesario habilitar los siguientes eventos:



Y esto fue lo que obtuve en el log:
System.UnauthorizedAccessException: Access is denied. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED))     en Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)     en Microsoft.SharePoint.Library.SPRequest.UpdateField(String bstrUrl, String bstrListName, String bstrXML)     en Microsoft.SharePoint.SPField.UpdateCore(Boolean bToggleSealed)     en Microsoft.SharePoint.ServerStub.SPFieldServerStub.InvokeMethod(Object target, String methodName, XmlNodeList xmlargs, ProxyContext proxyContext, Boolean& isVoid)     en Microsoft.SharePoint.Client.ServerStub.InvokeMethodWithMonitoredScope(Object target, String methodName, XmlNodeList args, ProxyContext proxyContext, Boolean& isVoid)     en Microsoft.SharePoint.Client.ClientMethodsProcessor.InvokeMeth... d7c57d9d-5788-b0d0-3f2a-a19b4191ed7d
05/19/2016 12:04:25.15* w3wp.exe (0x3E6C)                       0x34F8 SharePoint Foundation         CSOM                           aiv4i High     ...pdate" Id="348" ObjectPathId="272" />List of all employees.
d7c57d9d-5788-b0d0-3f2a-a19b4191ed7d
05/19/2016 12:04:25.15* w3wp.exe (0x3E6C)                       0x34F8 SharePoint Foundation         CSOM                           aiv4i High     ...ldItemQuery>
http://app-369d6491a3e5c7.apps.bantrabgf.local/InfowareForgetNotEmployees d7c57d9d-5788-b0d0-3f2a-a19b4191ed7d
05/19/2016 12:04:25.15 w3wp.exe (0x3E6C)                       0x34F8 SharePoint Foundation         CSOM                           agmjp High     Original error: System.UnauthorizedAccessException: Access is denied.



Luego utilice Fiddler  para ver el tráfico de la aplicación:

Y me mostró la siguiente información:

Aunque el 401 es un mensaje de no autorizado es el comportamiento esperado con la autenticación ntlm ya que luego le sigue un 200 OK que indica que pudo realizar la acción solicitada.  Así que fiddler no me ayudo mucho en este caso.

La aplicación lo que hace es desplegar de una lista dentro del AppWeb el contenido, pero me estaba reportando un acceso denegado. No fue sino hasta que exporte la lista completa a excel que me percate que tenia 5008 elementos. Y esto me recordó el umbral de máximo de elementos por lista que tiene configuración SharePoint de forma predeterminada.  Y ahora hacía sentido que los usuarios administradores si podía ver el contenido ya que el umbral de los administradores y auditores es de 20,000 elementos.   

Solución:

Fue solo ampliar el umbral a nivel de aplicación web de 5,000 elementos a 10,000 elementos para que se pueda leer el contenido que no desplegaba.   Cómo hacerlo vea el siguiente enlace: http://stevemannspath.blogspot.com/2013/05/sharepoint-2013-list-view-threshold.html

Otras soluciones:

Depurar el listado de la lista, eliminando o filtrando el contenido ver este enlace:

http://en.share-gate.com/blog/demystifying-the-sharepoint-lists-thresholds

O bien modificando el código para que lea de forma filtrada.

https://blogs.msdn.microsoft.com/ericwhite/2009/11/20/using-the-sharepoint-2010-managed-client-object-model-accessing-large-lists/

Eso esto amigos, un día mas en las aguas profundas de SharePoint World!

Saludos,

Juan Manuel Herrera Ocheita

martes, 19 de abril de 2016

Request Management un Servicio de Cuidado


Request Management es un servicio introducido de SharePoint 2013, según la definición que podemos encontrar en Technet dice: “Permite a los administradores administrar las solicitudes entrantes y determinar cómo distribuir estas solicitudes”.  https://technet.microsoft.com/en-us/library/jj712708.aspx 

Pero solo habilitarlo y no configurarlo puede ser un gravísimo error.   Si la entrega de las páginas en el navegador es de forma desordenada o que demora alrededor de un minuto redireccionar de una página a otra puede ser un síntoma que el servicio esta levantado y no está configurado.  Como se muestra en la imagen de abajo.



Este servicio deberá estar habilitado cuando contemos con más de dos servidores front-end y lo tengamos configurado con  un balanceador o NLB, y tengamos una necesidad de administrar las solicitudes a los front-end en una granja mediana o grande, no es necesario ni aplicable para una pequeña granja.  Entonces la recomendación será apague el servicio.  Este se puede realizar  a través del Central Administration, en Manage services on server.






Solo presione la acción Stop sobre la fila donde aparece Request Management.  Haga clic en el botón de Refesh del navegador sobre la página y deberá ver el contenido de forma correcta.












Más sobre request Management y como configurarlo si cuentas con más de un servidor Font-end de tu granja.



http://www.harbar.net/archive/2012/11/12/Article-Request-Management-in-SharePoint-Server-2013.aspx


Hasta la próxima,