sábado, 16 de junio de 2012

Tips/info #32 Sharepoint 2010

1-Exportar soluciones de Sharepoint 2010

$nombreDir = "C:/Temp"
Write-Host Exporto soluciones a $nombreDir 
foreach ($solution in Get-SPSolution) 

    $id = $Solution.SolutionID 
    $titulo = $Solution.Name 
    $filename = $Solution.SolutionFile.Name
    Write-Host "Exportando ‘$titulo’ to …\$filename" -nonewline 
    try { 
        $solution.SolutionFile.SaveAs("$nombreDir\$filename") 
        Write-Host " – hecho" -foreground green 
    } 
    catch 
    { 
        Write-Host " – error : $_" -foreground red 
    } 
}

2-Mostrar el historial de workflows sólo para administradores

Abrir la página WrkStat.aspx desde la carpeta 14->template->layouts y agregar el siguiente control en la línea 128
<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="ManageLists"> y cierra el tag en la línea 239. El permiso está seteado en el campo “Permissions”.

3-Error Missing Web Part

WebPart class [GUID] is referenced [X] times in the database [WSS_Content], but is not installed on the current farm. Please install any feature/solution which contains this web part. Remedy: One or more web parts are referenced in the database [WSS_Content], but are not installed on the current farm. Please install any feature or solution which contains these webparts.

-- Obtengo el site que tiene el web part

select s.fullurl, d.DirName, d.leafname, tp_ZoneID, tp_partOrder
from webparts p
join alldocs d on (p.tp_PageUrlID = d.ID)
join sites s on (s.id = p.tp_siteid)
where tp_WebPartTypeId  = ‘GUID’

Una vez que obtengo el site donde está referenciado el web part, ingreso a la página y le agrego “?contents=1”, es decir entro a la página de mantenimiento, la cual me permite borrar el web part faltante.

4-Error The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.

La caché de objetos almacena propiedades de los elementos en Microsoft SharePoint Server 2010. La característica de publicación usa los elementos de esta memoria caché para representar páginas web. Los objetivos de la caché de objetos son reducir la carga en el equipo en el que se ejecuta SQL Server y mejorar el rendimiento y latencia de la solicitud. La caché de objetos realiza consultas como una de dos cuentas de usuario integradas: la cuenta de usuario súper del portal y la cuenta de lector súper del portal. Estas cuentas de usuario deben configurarse correctamente para garantizar que la caché de objetos funcione correctamente. La cuenta de usuario súper del portal debe ser una cuenta que tenga acceso de control total a la aplicación web. La cuenta de lector súper del portal debe ser una cuenta que tenga acceso completo de lectura a la aplicación web.

La cuenta de usuario súper del portal y la cuenta de lector súper del portal deben ser cuentas independientes que no se vayan a usar nunca para iniciar sesión en el sitio.

De forma predeterminada, la cuenta de usuario súper del portal es la cuenta de sistema del sitio y la cuenta de lector súper del portal es NT Authority\Servicio local.

Hay dos problemas principales con el uso de las cuentas integradas.

  1. El primer problema es que algunos elementos se desprotegen para la cuenta del sistema, por lo que cuando se realice una consulta que incluya estos elementos, se devolverá la versión desprotegida del elemento en lugar de la última versión publicada. Esto es un problema debido a que no es lo que un usuario espera que se devuelva, por lo que la memoria caché debe realizar una segunda consulta para recuperar la versión correcta del archivo. Esto tiene un efecto negativo en el rendimiento del servidor en cada solicitud que incluya estos elementos. Se produciría el mismo problema con cualquier usuario que tenga elementos desprotegidos, si la cuenta de dicho usuario se configuró como la cuenta de usuario súper del portal. Por esta razón, las cuentas configuradas como cuenta de usuario súper del portal y cuenta de lector súper del portal no deben ser cuentas que se usan para iniciar sesión en el sitio. Esto garantiza que el usuario no desproteja de forma accidental elementos y ocasiones problemas en el rendimiento.

  2. La cuenta de lector súper del portal predeterminada es NT Authority\Servicio local, que no se resuelve correctamente en una aplicación de la autenticación de notificaciones. Por lo tanto, si la cuenta de lector súper del portal no está configurada explícitamente para una aplicación de autenticación de notificaciones, al buscar las colecciones de sitios en esta aplicación se obtendrá un error de acceso denegado, incluso para el administrador del sitio.

Para autentificación clasic:

$wa = Get-SPWebApplication -Identity "<WebApplication>"
$wa.Properties["portalsuperuseraccount"] = "<SuperUser>"
$wa.Properties["portalsuperreaderaccount"] = "<SuperReader>"
$wa.Update()
Para autentificación vía claims:
$w = Get-SPWebApplication "http://<server>/"
$w.Properties["portalsuperuseraccount"] = "i:0#.w|domain\superuser"
$w.Properties["portalsuperreaderaccount"] = "i:0#.w|domain\superreader"
$w.Update()
5-Mostrar los sitios padres en el breadcrumb
Reemplazar en tu master page default este control
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/" id="onetidProjectPropertyTitle"><SharePoint:ProjectProperty Property="Title" runat="server" /></SharePoint:SPLinkButton>
por
<asp:SiteMapPath      
runat="server"      
SiteMapProviders="SPSiteMapProvider,SPXmlContentMapProvider"      
RenderCurrentNodeAsLink="false"      
NodeStyle-CssClass="breadcrumbNode"      
CurrentNodeStyle-CssClass="breadcrumbCurrentNode"      
RootNodeStyle-CssClass="breadcrumbRootNode"      
HideInteriorRootNodes="true"      SkipLinkText=""/>

No hay comentarios:

Publicar un comentario