SharePoint Services 3.0 - SPQuery Vs SPSiteDataQuery

Fino alla versione 2.0 di SharePoint, l'unico modo per effettuare delle query all'interno delle liste o delle raccolte documenti, era quello di utilizzare la classe SPQuery. Questa classe però soffre di alcuni limiti abbastanza pesanti:

  1. Possibilità di interrogare una sola lista/raccolta documenti.
  2. Possibilità di interrogare una sola cartella all'interno della lista/raccolta documenti.

Il secondo limite in particolare era piuttosto vincolante e costringeva, nel caso fosse necessario effettuare una ricerca su tutta una lista/raccolta documenti esplorando anche le sottocartelle, a creare delle viste personalizzate che esponessero tutto il contenuto senza tener conto delle cartelle.

Con la versione 3.0 questi limiti non sono stati superati ma è stata introdotta la classe SPSiteDataQuery, che offre la possibilità di effettuare delle query su più liste/raccolte documenti che si possono trovare anche su diversi WebSite a condizione che si trovino tutti nella stessa SiteCollection.

Ho provato ad utilizzarla e debbo dire che è molto utile, ci sono però alcune controindicazioni:

  1. Tutta la sintassi per configurare la classe è basata su stringhe XML e, specialmente all'inizio, non è semplicissimo venirne a capo (anche perché gli esempi non sono molti).
  2. I nomi dei campi debbono essere indicati correttamente e debbono essere presenti in tutte le liste interessate (oppure opportunamente marcati come Nullable); se si sbaglia qualcosa, non abbiamo indicazioni, l'unico effetto è quello che la DataTable restituita è priva di righe (stesso comportamento di una query che non da risultati), cosa questa che può far perdere veramente molto tempo prima di venirne a capo.

 

Technorati Tags:

posted @ martedì 10 luglio 2007 14:38

Print
Comments have been closed on this topic.
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011