Troubleshooting SharePoint 2013 Display Templates

Uno degli aspetti di SharePoint 2013 su cui mi sono concentrato particolarmente in questi mesi è il nuovo servizio di ricerca, sia dal punto di vista dell’architettura che da quello “site-builder”.

Lavorando con i display templates mi sono imbattuto in uno strano problema di “aggiornamento” dei dati, o almeno così pensavo. Dopo aver creato Result Source, Display Template e Result Type il cliente con cui lavoravo mi ha chiesto se fosse possibile cambiare alcuni dei metadati visualizzati nei risultati della ricerca. Nessun problema, basta modificare questo file (display template) e… nulla, tutto uguale a prima.

La prima cosa che ho fatto a questo punto è stata di “esplorare” i dati restituiti dalla query con Fiddler. Analizzando la risposta JSON della chiamata “ProcessQuery” (/searchcenter/_vti_bin/client.svc/ProcessQuery) mi sono accordo che venivano richiamati ancora i vecchi metadati nonostante nel file html relativo al diplay template fossero indicati altri campi.

json

Certo l’immagine non è molto significativa, ma trovo utile mostrare la struttura completa di tutte le informazioni disponibili per ciascun risultato :) A conferma di quanto evidenziato da Fiddler anche i log ULS riportavano un messaggio identico (almeno nel significato) a quello precedente

uls

La voce evidenziata mi ha fatto venire il dubbio che in realtà il “problema” non fosse tanto nel Display Template quanto nel Result Type, visto che anche a questo livello i dati presi in considerazione erano quelli sbagliati.

Soluzione. Facendola breve per risolvere il problema mi è bastato “aggiornare” la configurazione del Result Type, cioè aprire e salvare senza alcuna modifica.

In un primo momento ho pensato fosse strano, vista l’impostazione di un’unica condizione di filtro su un Result Source specifico. Ripensandoci non è così assurdo che SharePoint “memorizzi” la struttura dei vari tipi di risultati pensando in particolare al tema “performance”.

– Riccardo

Submit a Comment