Troubleshooting Content Deployment Warnings

Non tutti, ovviamente🙂 In questo momento mi soffermo sul messaggio “A web part or web form control type could not be found, or is not registered as safe. The web part will still be exported.” seguito da un chiarissimo messaggio “[Unknown: {GUID}]”.

Content Deployment Warning

Pur non essendo un problema bloccante, e di fatto nemmeno un errore, mi disturba “quanto basta” trovare questi messaggi nei report dei content deployment e soprattutto mi disturba il fatto che questi warning, lato event viewer generino invece dei messaggi di errore.

Da dove cominciare quindi per arrivare alla fonte del problema? Immagino conosciate la teoria del content deployment (se siete arrivati a leggere fino a qui direi proprio di si🙂, in caso contrario vi suggerisco la serie di post di Stefan Großner, semplicemente fantastica). Sapete quindi che nella farm sorgente e in quella di destinazione viene impostato un percorso per i files temporanei creati dal processo di import / export.  In questo path, per ogni job viene creata una sottocartella con indovinate un po’ quale nome? Ovviamente un GUID! Ora… l’unico modo che ho trovato per risalire alla cartella corretta è quella di individuare l’orario di modifica della cartella stessa, non ho trovato alcun riferimento tra il GUID e il job o il path di deployment.

All’interno di ciascuna di queste cartelle sono presenti n file .cab (dove n dipende dalla mole del contenuto da “spostare” e dalle dimensioni per file impostate lato CA).

Content Deployment Temp Folder

Quello che ci interessa in questo momento è il file manifest che si trova all’interno di uno di questi archivi. A seconda della quantità di dati trasferiti potreste avere più file manifest (manifest.xml, manifest1.xml, manifest2.xml, ecc), in questo caso ci serviranno tutti. Nella mia esperienza ho trovato questi file sempre negli ultimi archivi generati.

Content Deployment CAB files

I file manifest contengono la descrizione di tutto il contenuto oggetto del deployment in una struttura del genere:

<SPObject …>
<File …>
<WebParts …>
<WebPart …></WebPart>
</WebParts>
</File>
</SPObject>

Il contenuto di SPObject varia a seconda dell’oggetto descritto, potrete quindi trovare  <ContentType …>…</ContentType> o <ListItem …></ListItem> (in poche parole tutti gli oggetti trasferiti).

La cosa estremamente utile è che tra le informazioni riportate in questi file possiamo trovare anche il GUID riportato nel report del job di deploy. Una volta individuato questo, risalendo alle informazioni del rispettivo nodo SPObject possiamo trovare tutte le indicazioni per individuare con precisione quale sia la risorsa che dobbiamo correggere. Nel mio caso ho scoperto che il problema era dovuto a 4 web parts inserite in un vecchio page layout, web part dipendenti da una feature rimossa e rimaste “orfane”. Una volta corretto il page layout (eliminato a dire la verità :)) i messaggi di warning non sono più comparsi.

– Riccardo



Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...