Avendo dovuto affrontare il discorso di sito accessibile, per un recente progetto, da realizzarsi con MOSS 2007, ho fatto un po’ di ricerche in giro per vedere come affrontare il progetto. Su CODEPLEX ho trovato alcuni interessanti progetti, uno tra tutti GSPTV, che mettevano a disposizioni soluzioni interessanti per rendere accessibili: webpart zone, menu di navigazione, box di ricerca, content query web part etc. In più ho trovato molto interessante il progetto ARF, anch’esso mette a disposizione sia controlli che adapter per sistemare alcune magagne di SharePoint. A dirla tutto, come consiglio, non ho usato un unico progetto, ma una selezione di componenti di uno e dell’altro. Di ARF in particolare ho trovato molto interessanti il ARF:Menu e ARF:SiteMap. Una delle caratteristiche principali di ARF (Alternative Render Framework) è di utilizzare il linguaggio XML per descrivere gli oggetti di MOSS e una serie di fogli di stile XSL per renderizzare il codice HTML. In questo modo il controllo in mano allo sviluppatore è completo.
martedì 30 dicembre 2008
lunedì 29 dicembre 2008
Personalizzare Content by Query WebPart (CQWP) e Summary Link (SL) con DDWRT in SharePoint 2007
Dopo aver brevemente accennato all’esistenza del namespace “CMSWRT” negli stili xsl delle CQWP di SharePoint 2007 e al fatto che ci sono pochi riferimenti a riguardo, passiamo a vedere un namespace decisamente più utile. DDWRT è un namespace per XSL derivante da SharePont 2003, che può comunque essere riutilizzato anche all’interno dei file si stile XSL di SharePoint 2007. Questo nemaspace ci mette a disposizione molte utili funzioni (per un completo elenco delle funzionalità), tra le quali GetFileExtension() che estrae l’estensione di un file dalla URL e MapToIcon() che restituisce l’icona associata con l’estensione del file. Di seguito un breve esempio di codice utilizzato in uno dei miei XSL.
<div class=”docicon-link-item”>
<img class=”docicon” alt=”Type” src=”/_layouts/images/{ddwrt:MapToIcon(”, ddwrt:GetFileExtension(string($SafeLinkUrl)))}”/>
<a href=”{$SafeLinkUrl}” target=”{$LinkTarget}” title=”{@LinkToolTip}”>
<xsl:value-of select=”$DisplayTitle”/>
</a>
</div>