Tag

,

Dopo una migrazione da Sharepoint 2007 a Sharepoint 2010 senza visual upgrade (ovvero si sono mantenute le vecchie master page 2007 senza migrare all’interfaccia 2010), all’interno delle document library si è verificato un errore piuttosto sconcertate, ovvero non era più possibile creare delle cartelle.

Dopo aver inizialmente puntato il dito contro eventuali features custom mancanti, l’abilitazione del call stack (ovvero degli errori parlanti su Sharepoint) ha svelato l’arcano:

[HttpException (0x80004005): Cannot find ContentPlaceHolder ‘PlaceHolderUtilityContent’ in the master page ‘~masterurl/default.master’, verify content control’s ContentPlaceHolderID attribute in the content page.]
   System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection) +1149
   System.Web.UI.Page.get_Master() +69
   System.Web.UI.Page.ApplyMasterPage() +18
   System.Web.UI.Page.PerformPreInit() +58
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1256

In altri termini, la master page migrata (per inciso si trattava di una BlueBand.master personalizzata) perfettamente funzionante in ambiente 2007 anche quando applicata come system master page, mancava di un content placeholder fondamentale:

<asp:ContentPlaceHolder id="PlaceHolderUtilityContent" runat="server"/>

 

E’ stato sufficiente inserirlo fra il tag di chiusura </form> e il tag si chiusura </body>

  </form>
  <asp:ContentPlaceHolder id="PlaceHolderUtilityContent" runat="server"/>
    <SharePoint:WarnOnUnsupportedBrowsers runat="server"/>
</body></html>

e la funzionalità è tornata a girare come se fosse nuova!

Buon SharePoint,

Barbara

Advertisements