viernes, 6 de julio de 2012

Tips/Info #43 Sharepoint

1-Error: "The web server process that was being debugged has been terminated by Internet Information Services(IIS).  This can be avoided by configuring Application Pool ping settings in IIS."

iisdebugtimeout

Ir al app pool que deseamos deployar, y hacemos click derecho sobre el mismo  y elegimos Advanced Settings. A continuación cambiamos “Ping Enabled” a False o Ping Maximun response time a un valor mayor que 90

iisapppooladvancedsettings

2-Content Database Default al crear un site collection

Para cambiar la content database default donde se creará los próximos site collections, deberemos cambiar la propiedad el campo “Maximum number of sites that can be created in this database” al número actual de site para cada base de contenido del web application deseado excepto para la content database que quiere dejar como default.

Maximum-Sites

Con esta modificación un nueva collection será creado en la content database WSS_Content_2

Content-Database-Info

3-Habilitar finger scroller para Sharepoint para IPhone o IPad

#s4-workspace { -webkit-overflow-scrolling: touch; }

4-Borrar todoas las alertas de un site mediante PowerShell

$cantidadSites = 0
$cantidadBorradas = 0;

$sp = Get-SPWebApplication ("http://siteCollection/)
foreach ($site in $sp.Sites)
{
    foreach ($web in $site.AllWebs)
    {
        $cantidadSites++;        
        $alertIds = @();
        foreach ($alert in $web.Alerts)
        {
            $alertIds += $alert.ID;
            $cantidadBorradas++;   
        }        
        foreach ($alertId in $alertIds)
        {
            try
            {
                $web.Alerts.Delete($alertId);
            }
            catch [system.exception]
            {            
                # La excepción puede ser porque el usuario no existe (Ej: se cambio de dominio)
                # Actualizamos la alerta para que apunte a un usuario valido
                # Después la borramos
                if ($_.Exception.Message.Equals("El usuario no puede encontrarse"))
                {
                    $alertaParaActualizar = $web.Alerts[$alertId];
                    $alertaParaActualizar.User = $web.SiteUsers[0]; //le asigno el primer usuario disponible
                    $alertaParaActualizar.Update();
                   
                    #se trata de borrar de nuevo, pero esta vez con un usuario valido
                    $web.Alerts.Delete($alertId);                    
                }
            }
        }
    }
}

Write-Host "Número de Webs verificadas: " + $cantidadSites;
Write-Host "Número de alertas borradas: " + $cantidadBorradas;

Si deseamos borrar todas las alertas de un usuario específico, deberiamos cambiar la siguiente línea

foreach ($alert in $web.Alerts)
{
$alertIds += $alert.ID;
$cantidadBorradas++;
}

con la siguiente

foreach ($alert in $web.Alerts)
{
    if ($alert.User.LoginName –eq “nombre usuario”)
    {
        $alertIds += $alert.ID;

        $cantidadBorradas++;

    }
}

5-Dos errores que aparecen cuando no tenés configurado de forma correcta los AAM (Alternate Access Mapping)

  • Las alertas o envio de mails de SharePoint Designer Workflow con links a documentos o item muestran la URL interna u otra URL de los AAM´s antes que la URL pública
  • Loa resultados del search no muestran ningún resultado cuando busca sobre un scope específico 
    • Ej: En un subsite, you enter a search criteria which is scoped to "This site" and receive no results even though the content has been indexed.  "All Sites" scope works correctly regardless

1 comentario: