domingo, 21 de julio de 2013

Tips info #14 Sharepoint 2013

1-Tabla de Decisión (Farm Solution | Sandboxed Solution | Apps for Sharepoint 2013)

 
SharePoint Farm Solution
Sandboxed Solution
Apps for SharePoint
Definición
Son soluciones de full trust. Se utilizan para mejorar o agregar features a Sharepoint.
Sandbox solutions son similares a Farm Solution con capacidades limitadas. Suelen llamarse partial trust solution.
Apps For SharePoint son stand-alone applications que provee información o funcionalidad específica a un site.
Hosting
SharePoint Farm solutions son hosteadas dentro de la granja de SharePoint, son ejecutadas por el worker process
(w3wp.exe).
Sandbox solutions
son hosteadas dentro de la granja de SharePoint,
pero son ejecutadas dentro de un sandbox worker process (SPUCWorkerProcess.exe).
Apps corren fuera del servidor de Sharepoint, el código se ejecutra dentro del contexto del cliente u en otro servidor que NO ejecuta Sharepoint (Ej: web site en Azure)
Deployment
Requieren de un Farm Administrator para deployarlas y la mayoría de las veces requiere realizar un iisreset.
Requieren de un site collection administrator . No afecta a la granja, puede causar problemas inesperados en el site collection donde se deploya.
Las apps son subidas al SharePoint app store o en un catalogo privado de Sharepoint On-premise. Puede ocasionar problemas en los clientes que la utilizan.Ej: error de javascript
Scope
Farm solutions pueden instalarse en cualquier scope: Farm, Web App, Site Collection, Site level.
Sandbox solution están limitadas al Site Collections donde se activan
Apps son instaladas en un SharePoint site/web o en un Tenancy Scope.
Locación de los archivos físicos
El contenido de la farm solution se guarda en la base de configuración de Sharepoint y en el file system en el caso que requiera deployar files (Ej: Application Pages)
Las Sandboxed solutions son almacenadas en la base de contenido donde está el site collection
Pueden residir en múltiples lugares:
Externamente: cloud services, IIS externo, etc.
En SharePoint: SharePoint components, tales como list templates, modules, workflows, site pages, Web Parts, ycustom content types, son guardados dentro de la base de contenido de SharePoint.
Opciones de código
En Farm Solutions puede ser usado Server side object model, el acceso es irrestricto.
En Sandbox Solutions puede ser usado un restringida API de Server side object model. La solución puede sólo acceder al contenido del site collection donde se deployó.
Podrá utilizar client object model, Silverlight o JavaScript Client Object model code, REST endpoints & Mobile client object model.

2-Ver la versión de build de Sharepoint por URL

Ver la versión de Sharepoint: htt://urlWebApplication/_vti_pvt/services.cnf

Ver la versión de build completa: http://urlWebApplication/_vti_pvt/buildversion.cnf

3-“The item and all items under it will not be crawled because the owner has set the NoCrawl flag to prevent it from being searchable”

Cuando realizo una búsqueda de un usuario en un Search Center, no obtengo resultados de su MySite. Al revisar el log verás el siguiente mensaje, donde indica que no se pudo indexar porque tiene el flag NoCrawl.

image

Para solucionarlo, ingresa a Site Settings, y ingresa a la sección “Search and offline availability”

MySitesNoCrawl2

Marca la opción “Yes”. La próxima vez que se realice un crawl aparece el sitio MySites del usuario.

MySitesNoCrawl3 

4-Claims Authentication: propiedades LogonTokenCacheExpirationWindow y WindowsTokenLifetime

En Sharepoint 2013, la autenticación mediante claims es la default, a diferencia de 2010.

Cada item de seguridad (Ej: un Grupo de AD) son convertidos a claims y se empaquetan dentro de un token de seguridad (gracias al servicio STS – Security Token Service).

El tiempo de vida de este token de seguridad está definido en la propiedad WindowsTokenLifetime del SecurityTokenServiceConfig (el valor default es de 10 horas).

La propiedad LogonTokenCacheExpirationWindow (10 minutos por default) del SecurityTokenServiceConfig controla cuando Sharepoint considerará que el token de seguridad ha expirado y le preguntará al usuario que re-autentifique de nuevo para obtener un nuevo token. Sharepoint chequea si el token está expirado cada vez que se inicia un nuevo request.

Ej, si el WindowsTokenLifetime = 10 minutos y LogonTokenCacheExpirationWindow = 2 minutos

Esto significa que después de 11 minutos de haberme autenticado en el sitio, Sharepoint preguntará las credencias al usuario (lo realiza de forma automática el navegador mediante una negociación).Un error que suele presentarse es “The context has expired and can no longer be used”

image

Mi recomendación de las propiedades es la siguiente:

$sts = Get-SPSecurityTokenServiceConfig
$sts.FormsTokenLifetime = (New-TimeSpan -minutes 10)
$sts.WindowsTokenLifetime = (New-TimeSpan -minutes 10)
$sts.LogonTokenCacheExpirationWindow = (New-TimeSpan -minutes 2)
$sts.Update()
iisreset

Errores comunes que se presentan:

  • No se ve reflejado cambios de seguridad en el sitio, Ej: agrego un usuario a un grupo de Sharepoint y el usuario no puede ingresar . Access denied.
  • No se ve reflejado cambios de seguridad que se realizaron en el AD (AD security groups)

Importante: asegurate que LogonTokenCacheExpirationWindow sea menor que WindowsTokenLifeTime, en caso contrario tendrás problema de performance.

Para mayor información: http://blogs.technet.com/b/speschka/archive/2010/08/09/setting-the-login-token-expiration-correctly-for-sharepoint-2010-saml-claims-users.aspx

5-Ver los field de una lista o libreria mediante REST

image

Se puede usar REST para obtener información de los campos (fields), sólo se deberá agregar lo siguiente a la url del site: _api/web/lists/GetByTitle(NombreLibreria)/Fields

Ej:

https://urlSharepoint/sites/contoso/News/_api/web/lists/GetByTitle('Documents')/Fields

Si lo abres con IE, haz click derecho sobre la página, y elige ViewSources.

image

Ej: Scheduling Start Date

image

No hay comentarios:

Publicar un comentario