Tag

, ,

Un’esigenza quanto mai condivisa è quella di riuscire ad agreggare (ad esempio nella home page di una Intranet) tutte le attività in corso per l’utente corrente, sia che queste siano state assegnate nel sito corrente o in un sottosito.
Eppure, per quanto questa possa sembrare un’esigenza semplice, SharePoint (2007 o 2010, WSS/Foundation o MOSS/SharePoint Server) non espone nessuna Web Part che lo faccia a costo zero (ovvero Out Of The Box – OOTB).

Vero è che se abbiamo la versione Server (o MOSS) possiamo aggirare l’ostacolo con la Content Query Web Part (e un pò di lavoro lato xslt; nel caso può essere utile questo post di Paul Galvin su come intabellare i risultatati della CQWP), ma se stessimo lavorando con la versione “povera” dovremmo arrenderci e/o necessariamente mettere mano al portafoglio (ingaggiando uno sviluppatore o comprando Web Part ad hoc come la Enhanced SharePoint User Tasks Web Part V2.0 for SharePoint 2007 and 2010 di Layer2, la List Rollup Web Part di Bamboo, o la Lightning Conductor Web Part di Lightning Tools, giusto per citare alcune soluzioni a pagamento)?

Chiaramente, la risposta è no!

Le soluzioni sono le seguenti:

  1. tuffarci nella personalizzazione di una dataview trasformandola in cross site collection:

    <SharePointWebControls:SPDataSource runat=”server”
    DataSourceMode=”CrossList”
    SelectCommand=”<Webs Scope=’Recursive’></Webs><Lists ServerTemplate=’107′</Lists><Query /><ViewFields><FieldRef Name=’Title’ /><FieldRef Name=’Status’ /><FieldRef Name=’PercentComplete’ </ViewFields><QueryOptions />”
    UseInternalName=”True”
    UseServerDataFormat=”True”
    ID=”AllTasks”>,
    ovvero modificando il datasourcemode da “List” in “CrossList” e impostando nella select command la ricorsività della ricerca (di modo che si esca dal web corrente e si cominci a cercare nei web sottostanti, piuttosto che in tutta la site collection); per maggiori dettagli, può sicuramente essere utile partire da questo post del 2007: SPDataSource and Rollups with the Data View

  2. ricorrere a un configuratore automatico (gratuito!!!) che, pur basandosi su una dataview, ci eviti il lavoro sporco di dover mettere mano a CAML e Xslt (dobbiamo comunque aprire SharePoint Designer per aggiungere il filtro dell’utente corrente):
    1. Task List Roll-Up per il 2007
    2. Task List Roll-Up per il 2010
  3. Sfruttare la Web Part OOTB “Attività utente” (si trova nel gruppo “Collaborazione)”:

Nativamente pensata (ahimè) per mostrare le attività in corso per l’utente corrente nel sito corrente, si può trasformare in cross site con un semplice trick: per i dettagli, rimando al post Inconvenient User Tasks Web Part and how to make it display all tasks del sempre più mitico Waldek Mastykarz.

Per concludere:

Non esiste una soluzione migliore e una peggiore in assoluto (diverso è sicuramente per i costi); ce ne è una migliore rispetto alle nostre esigenze. E per scoprire quale sia, credo la domanda giusta sia chiederci quanto dobbiamo interagire con i dati aggregati (oltre a quanto siamo eventualmente disposti a spendere).

Dobbiamo solamente leggere e cliccare le nostre attività? Dobbiamo scegliere quali metadata mostrare? Dobbiamo avere intestazioni che ci consentano di filtrare i dati? Dobbiamo applicare formattazioni condizionali?…?

Infine: e se la nostra esigenza di aggregazione dovesse essere Cross Site Collection?
Le soluzioni a pagamento di Lightning Tools e Bamboo, già prevedono questa funzionalità.
Se invece non volessimo (o potessimo) spendere, ricordiamoci che la Web Part dei Risultati della Ricerca (Core result Web Part) può essere usata anche al di fuori del Search Center (e per definizione, è cross Site Collection); si tratta solo di configurarla affinchè ci mostri i risultati che vogliamo (e, ancora una volta, è inutile riscrivere l’acqua calda: SharePoint 2010 My Tasks Web Part using Search Driven Cross-Site Query; tenendo presente che la logica non cambia per il 2007).

Bella l’ultima soluzione proposta. Ma se abbiamo Wss o SharePoint Foundation? E’ vero che non possiamo personalizzare la ricerca come nella versione a pagamento di SharePoint, ma eventualmente prendiamo in considerazione di espandere le funzionalità di ricerca con Search Server Express.

Per il momento, penso di avervi tediato abbastanza, alla prossima
Barbara