Como esconder el menú Ribbon dentro de un sitio de SharePoint para ser publicado como página en internet

Hola Bloggers, como estan, me encontré con este excelente desarrollo que han hecho los de codeplex para ocultar el menú ribbon, no solo para páginas de internet, sino para intranets. Es excelente, súper recomendado.

La url donde pueden descargar el wsp es http://spribbonvisibility.codeplex.com/

Existe también un script que se ubica dentro del <head> de la master page para que oculte el menú ribbon. Dependiendo de los niveles de permisos, este se mostrará o no.

<style type="text/css">
div#s4-ribbonrow {
display:none;
}
</style>

<Sharepoint:SPSecurityTrimmedControl runat="server"
Permissions="AddAndCustomizePages">
<style type="text/css">
div#s4-ribbonrow {
display:block;
}
</style>
</Sharepoint:SPSecurityTrimmedControl>


Espero les sirva,

Slds,

AR.

Script de powershell para copiar todos los sitios de una colección de sitios a otra colección de sitios en SharePoint 2010

Hola bloggers, les comparto un script de powershell para SharePoint 2010 que puede ser de mucha ayuda en sus rutinas diarias de administración de sitios. se puede ejecutar usando el ambiente de desarrollo para powershell Integrated Scripting Enviromental (ISE).

Pueden descargarlo aqui

Designed By: Andrés Rojas

Add-PSSnapin microsoft.sharepoint.powershell
[void][System.Reflection.Assembly]::LoadWithPartialName(‘Microsoft.VisualBasic’)
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

$var_nameExport = "";
$var_nameExport = [Microsoft.VisualBasic.Interaction]::InputBox(“Aplicación web desde donde se va a exportar”, “Migración de sitios web”)
 
if ($var_nameExport.length -ne 0)
{
    $resultadoExport = [System.Windows.Forms.MessageBox]::Show($var_nameExport, "Valor Ingresado de la coleccion a exportar",[Windows.Forms.MessageBoxButtons]::OKCANCEL,[Windows.Forms.MessageBoxIcon]::Information)

    if ($resultadoExport -eq "OK")
    {
        write-host "Resultado de Messagebox export:" $resultadoExport;

        $appwebtoexport = $var_nameExport + "/";
        $appwebtoexport;

        $var_nameImport = "";
        $var_nameImport = [Microsoft.VisualBasic.Interaction]::InputBox(“Aplicación web a donde va a importar”, “Migración de sitios web”)

        if ($var_nameImport.length -ne 0)
        {
       
            $resultadoImport = [System.Windows.Forms.MessageBox]::Show($var_nameImport, "Valor Ingresado de la coleccion a importar",[Windows.Forms.MessageBoxButtons]::OKCANCEL,[Windows.Forms.MessageBoxIcon]::Information)       
           
            if ($resultadoImport -eq "OK")
            {
           
                write-host "Resultado de Messagebox import:" $resultadoImport;           
           
                $appwebtoimport = $var_nameImport + "/";
                $appwebtoimport;
               
                $var_nameFile = "";
                $var_nameFile = [Microsoft.VisualBasic.Interaction]::InputBox(“Ruta donde se almacenarán los archivos .bak”, “Migración de sitios web”)

                if ($var_nameFile.length -ne 0)
                {

                    $resultadoPath = [System.Windows.Forms.MessageBox]::Show($var_nameFile, "Valor Ingresado de la Ruta",[Windows.Forms.MessageBoxButtons]::OKCANCEL,[Windows.Forms.MessageBoxIcon]::Information)       
           
                    if ($resultadoPath -eq "OK")
                    {
           
                        write-host "Resultado de Messagebox path:" $resultadoPath;           

                       
                        $pathfile = $var_nameFile + "\";
                        $pathfile;

                        $sitios = get-spsite $appwebtoexport | get-spweb -limit all

                        foreach ($subsitio in $sitios){
                            if ($subsitio.title -eq "PWA Hosting")
                            {
                                write-host "es el root, no se toma en cuenta para la exportacion, creacion e importacion de sitios";
                            }
                            else
                            {
                                $pathfullfile = $pathfile + $subsitio.name + ".bak"
                                #exporta los sitios de la coleccion de sitios inicial
                                $exportarsitio = export-spweb $subsitio.url -path $pathfullfile
                                write-host "Sitio web exportado:";
                                $subsitio.url;
                                #write-host "Ruta Archivo:" $pathfullfile;
                               
                                #crea los sitios en la nueva coleccion de sitios con la plantilla PWS#0
                                $parametro = $appwebtoimport + $subsitio.name;
                                New-SPWeb $parametro -Template "PWS#0" -Language 3082 -Name $subsitio.name
                                write-host "Sitio web creado:";
                                $parametro;
                                #write-host "Donde importar:" $appwebtoimport $subsitio.name
                               
                                #exporta los sitios de la coleccion de sitios final
                                $parametro2 = $appwebtoimport + $subsitio.name;
                                Import-SPWeb $parametro2 -Path $pathfullfile
                                write-host "Sitio web importado:";
                                $appwebtoimport + $subsitio.name;
                                write-host "De la ruta:";
                                $pathfullfile;
                                #write-host "Importacion:" $appwebtoimport $subsitio.name " - " $pathfullfile
                               
                            }
                        }
                    }
                }
                else
                {
                    [System.Windows.Forms.MessageBox]::Show("Debe ingresar un valor de la ruta donde quedarán los documentos exportados en .bak", "Valor Ingresado Errado",[Windows.Forms.MessageBoxButtons]::OK,[Windows.Forms.MessageBoxIcon]::Error)           
                }
            }
        }
        else
        {
            [System.Windows.Forms.MessageBox]::Show("Debe ingresar un valor para la coleccion a donde va aimportar", "Valor Ingresado Errado",[Windows.Forms.MessageBoxButtons]::OK,[Windows.Forms.MessageBoxIcon]::Error)   
        }
    }
}
else
{
    [System.Windows.Forms.MessageBox]::Show("Debe ingresar un valor para la coleccion de sitios a exportar", "Valor Ingresado Errado",[Windows.Forms.MessageBoxButtons]::OK,[Windows.Forms.MessageBoxIcon]::Error)
}