sabato 22 novembre 2008

Personalizzare le Content Query WebPart con i WebControl Runtime

Indagando sull varie possibilità di utilizzo delle Content Query WebPart e della personalizzazione dei risultati mediante stili XSL personalizzati, mi sono imbattuto nel namespace “CMSWRT”.

Tale namespace si riferisce alle classi contenute nel namespace .NET SharePoint.Publishing.WebControls.WebPartRuntime. A dire la verità ispezionando con l’Object Viewer di Visual Studio 2008 il namespace Microsoft.SharePoint.Publishing.WebControls non ho trovato nessun WebRunTime e neanche tramite SDK sono riuscito a trovare informazioni utili. L’unica cosa che ho notato è che negli stili XSL di CQWP e Summary Links le funzioni appartenenti a questa classe sono principalmente tre:

RegisterFeedUrl(string, string)
GetPublishingResource(string)
EnsureIsAllowedProtocol(string)

Queste funzione vengono usate per gestire un feed RSS nei risultati delle sopra citate WebPart.

Tag Technorati:

lunedì 17 novembre 2008

Recuperare gli ID delle liste di sistema

In SharePoint le liste hanno ID dinamici, cioè vengono creati quando le liste sono instanziate nel sito, quindi se si vuole accedere ad una lista applicativamente senza utilizzare il suo URL (che in sharepoint è localizzato) bisogna trovare un sistema per recuperare gli ID delle liste.
Fortunatamente SharePoint memorizza gli ID delle liste di sistema in un dictionary a livello di Web (SubSite): la proprietà in questione è SPWeb.AllProperties.
Per esempio per recuperare l’ID della lista “Site Collection Images” (presente in un Publishing Portal) si può usare codice seguente:
SPList SiteCollectionImagesList = web.Lists[new Guid(web.AllProperties["__SiteColImagesListId"].ToString())];