Question

J'ai un environnement de développement, un environnement de test et un environnement de production. Je développe des packages dans l'environnement de développement et mettez à jour la solution dans l'environnement de test. Comme il s'avère que mon pagelayout n'a pas changé en fonction de l'environnement de développement. J'ai demandé à un collègue ce qui pourrait avoir tort et nous avons commencé à enquêter.

Comme il s'avère, le pagelayout n'a pas changé et n'a pas changé depuis plus d'un an. Mais le juge de terrain a échoué depuis son écriture en suédois. Comme il s'agit d'un environnement de test, j'ai changé le champ de SharePoint Designer vers le nom correct et que les pages qui référent le pagelayout ont commencé à fonctionner comme prévu.

Donc, ma collègue et moi avons décidé de revêtir le pagelayout à son état fantôme pour pouvoir le déployer depuis notre emballage créé sur l'environnement de développement. J'ai trouvé un début utile d'un script et je l'exécuterai juste pour tester ce que j'ai eu.

$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()

Comme il se trouve là où se trouvent quatre des 20 pagelayouts ininstallés selon le script ci-dessus. C'est inattendu et je me trouve capturé au milieu. Devrais-je sauvegarder les pagelayouts ininstallés actuels comme une sauvegarde et les regretter et voir ce qui se passe - ou devrais-je les laisser dans un mode ininstallée (non déployable)?

Était-ce utile?

La solution

Si cela est uniquement sur l'environnement de test et non sur l'environnement de production (d'où le "test"), vous pouvez revenir en toute sécurité le filtream afin que le contenu soit extrait du système de fichiers.

Comme il n'y a que 4 mises en page ininsenciées, vous pouvez les saisir de la galerie de la page principale ("Télécharger une copie") sur cet environnement et appliquer une comparaison avec celle que vous avez sur vos packages, afin de les synchroniser et de les synchroniser.Appliquez les modifications pertinentes (le cas échéant) dans votre environnement de développement / package.(BeyondCompare est un outil vraiment intéressant pour cela, mais il y en a beaucoup).

Qu'en est-il de l'environnement de production?At-il une mise en page ininstallé / personnalisée?Seriez-vous capable de faire la même opération (lancez ce script PowerShell) si c'était le cas?

Enfin, un bon vieux généracodagcode comme un filet sûr est toujours le bienvenu, juste au cas où quelque chose de mal se produit (impossible de revenir à FileStream, un contenu manquant ajouté manuellement, une mise en page de page cassée, etc.).

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top