Marco Rizzi SPBlog

SharePoint, web and so many things.

Installare Page layouts e renderli un-ghosted subito dopo l'attivazione della feature

Prefazione: scrivo questo una volta per tutte (speriamo!) in modo che rimanga ai posteri e agli attenti lettori del mio blog. :-)


Quando un page layout viene modificato da SharePoint Designer, il nostro “amicone” gli inserisce nella direttiva @Page due attributi:

meta:webpartpageexpansion="full"
meta:progid="SharePoint.WebPartPage.Document"

Questi attributi se presenti indicano a SharePoint che il page layout è un-ghosted (customized). Questo comportamento è OOB se il page layout viene aperto e modificato da SharePoint Designer.
Capita spesso che gli sviluppatori usino Designer per creare i page layout e li esportino poi su Visual Studio per includerli in feature. In questo caso è d’obbligo ricordarsi di rimuovere questi due attributi per avere page layout ghosted (uncustomized).

Se ci si accorge di non averli rimossi ma si è già installato le feature occorre effettuare il re-ghost tramite object model, dato che su SharePoint non c’è un’interfaccia che permette di farlo. Per semplicare la vita segnato che Gary LaPointe ha realizzato una custom extension che si occupa di visualizzare l’elenco dei page layout un-ghosted e di fare il re-ghost.