Pregunta

Tengo un entorno de desarrollo, un entorno de prueba y un entorno de producción. Desarrollo paquetes en el entorno de desarrollo y actualizo la solución en el entorno de prueba. Como resulta que mi Pagelayout no cambió de acuerdo con el entorno de desarrollo. Le pregunté a un colega qué podría estar equivocado y comenzamos a investigar.

Como resulta, el Pagelayout no cambió, y no ha cambiado durante más de un año. Pero la tarea de campo lambró fallida desde que se escribió en sueco. Dado que este es un entorno de prueba, cambié el campo en SharePoint Designer al nombre correcto, y las páginas que refieren a Pagelayout comenzó a funcionar como se espera.

Entonces, mi colega y yo decidimos volver a fantasma el Pagelayout a su estado fantasma para poder desplegarlo de nuestro entorno de desarrollo creado el paquete. Encontré un comienzo útil de un guión y lo ejecuté solo para probar lo que tengo.

$site = Get-SPSite https://intranet.company.se
$web = $site.RootWeb

$pubSite = New-Object Microsoft.SharePoint.Publishing.PublishingSite($site)
$pageLayouts = $pubSite.PageLayouts

foreach ($pageLayout in $pageLayouts)
{        
    $file = $web.GetFile($pageLayout.ServerRelativeUrl)

    if ($file.CustomizedPageStatus -eq "Customized")
    {
        Write-Host "Layout page name: " $file.Name        
        Write-Host "   Status before: " $file.CustomizedPageStatus

        #$file.RevertContentStream()

        Write-Host "    Status after: " $file.CustomizedPageStatus
    }
}

$web.Dispose()
$site.Dispose()

Como resulta donde se encuentran cuatro de 20 Pagelayos que se desgastaban de acuerdo con el script anterior. Esto es inesperado y me encuentro atrapado en el medio. ¿Debo salvar a los Pagelayouts actuales actuales como una copia de seguridad y volver a fantasma y ver qué sucede, o si debo dejarlos en modo unghosted (desplegable)?

¿Fue útil?

Solución

Si es únicamente en el entorno de prueba y no en el entorno de producción (de ahí la "prueba"), puede revertir de manera segura el FileStream para que el contenido se recupere del sistema de archivos.

Dado que solo hay 4 diseños de página desgraciados, puede agarrarlos de la galería de la página maestra ("Descargar una copia") en ese entorno y aplique una comparación con la que tiene en sus paquetes, para sincronizarlos yAplique las modificaciones relevantes (si las hay) en su entorno / paquete de dev.(BeyondCompare es una herramienta realmente agradable para eso, pero hay muchos de ellos).

¿Qué pasa con el entorno de producción?¿Tiene un diseño de página unghosted / personalizado?¿Podría hacer la misma operación (lanzar ese script de PowerShell) si fue el caso?

Finalmente, un buen viejo generador de generación, como una red segura, siempre es bienvenida, en caso de que ocurra algo malo (no se puede revertir el contenido de FileStream, el contenido faltante agregado manualmente, el diseño de la página, etc.).

Licenciado bajo: CC-BY-SA con atribución
scroll top