SharePoint: filtrare Item in base al gruppo o all’utente

Questo è una semplice query CAML che permette di filtrare gli Item in SharePoint in base al gruppo o all’utente specificato nella colonna “AssignedTo”. <Query> <Where> <Or> <Membership Type="CurrentUserGroups"> <FieldRef Name="AssignedTo"/> </Membership> <Eq> <FieldRef Name="AssignedTo"> </FieldRef> <Value Type="Integer"> <UserID/> </Value> </Eq> </Or> </Where> </Query> La colonna “AssignedTo” in questo caso è una colonna di tipo “Person or Group” settata in questo modo: In sostanza, verranno fatti tornare solo gli item che avranno nella colonna “AssignedTo” o il nome del gruppo a cui l’utente corrente appartiene o l’utente stesso (essendoci lo statement Or) Questo può essere utilizzato sia attraverso l’Object Model, sia attreverso una WebPart come la XsltListViewWebPart presente in SharePoint 2010.

Public Folders replacement in SharePoint 2007

Come tutti sanno, è possibile utilizzare Outlook come interfaccia verso SharePoint 2007 e quindi gestire le Liste e le Document Library direttamente da Outlook. La prima volta che si connette una Lista o una Document Library di SharePoint a Outlook, viene creato un file PST nel profilo di Outlook e per ogni Library o Lista, viene creata una cartella in questo PST. In Outlook 2003 il file viene chiamato "SharePoint Folders.pst" mentre in Outlook 2007 "SharePoint Lists.pst". Utilizzando "Invia/Ricevi" si riesce a sincronizzare il contenuto fra SharePoint e Outlook. In Outlook 2003 la sincronizzazione è monodirezionale da SharePoint a Outlook, mentre in Outlook 2007 la sincronizzazione è bidirezionale per: Liste, Contatti, Calendari e Discussioni e monodirezionale per le Document Library. E' comunque possibile modificare i documenti in modalità non in linea con Outlook 2007 e effettuare la sincronizzazione manuale dei documenti salvati nella raccolta di documenti locali. Ovviamente, andando a utilizzare SharePoint come sostituto delle Public Folders, i vantaggi sono innumerevoli.Primo fra tutti è il supporto al cestino: qualsiasi elemento eliminato viene spostato nel cestino prima locale al sito e poi globale.Inoltre, è possibile applicare protezioni basate su ruoli a livello di singolo elemento, cosa che non si poteva fare prima.Esistono dei tools che riescono a migrare le Public Folders, ma è da verificare e testare cosa riescono a fare. Rimando a questo post che contiene anche una serie di link utili.

Liste di SharePoint 2007 o Tabelle su DB?

Sviluppando un’applicazione per utilizzo personale in SharePoint 2007 ho toccato con mano la problematica di decidere se utilizzare tabelle su DB o utilizzare le liste di SharePoint 2007. Le liste possono essere equiparate a un’ insieme di righe e colonne, proprio come le tabelle di un DB relazionale. Il vantaggio principale delle liste è quello di avere un modo semplice per gestire i dati. Grazie alle viste e alle web part, è virtualmente possibile creare l’interfaccia di amministrazione senza scrivere una riga di codice. A differenza invece di un database, dove bisogna realizzare sia la la parte di accesso ai dati che l'UI per amministrarli. Inoltre, con le liste è possibile registrare sia workflow sia gestori di eventi in modo semplice. Neo delle liste è quello di non supportare tipi di relazioni complesse come può avvenire con le tabelle su DB ma solo relazioni di tipo lookup. Per quanto riguarda le tabelle, i vantaggi principali sono le transazioni ACID. Quindi se la business logic richiede transazioni o comunque il modello dati è complesso, allora un DB è la soluzione. Altrimenti se il modello non è eccessivamente complesso, non si ha necessità di avere transazioni, ma è richiesto per esempio l’uso di workflow allora le liste sono un’ottima scelta. Una raccomandazione del team di SharePoint 2007 è quella di non superare il limite di 2000 item per ogni container (dove per container si intende sia la root di una lista che una folder o una sub-folder) per le liste di SharePoint 2007 o meglio, quella di non avere più di 2000 item per vista singola. A tal proposito questo link torna molto utile. Questa tabella riassume i principali vantaggi e svantaggi di entrambe le tecnologie.   VantaggiTabelleListe Gestire relazioni di tipo complesso Si No Gestire un numero elevato di elementi Si No Gestire le transazioni Si No Facile da utilizzare No Si Supporto nativo ai WorkFlow No Si Interfaccia standard di utilizzo No Si Facilità di inserimento di dati binari No Si

About the author


Fabio Franzini is Senior Consultant, Software Engineer and Trainer, specializing mainly on SharePoint, ASP.NET, web solutions and in general about everything that revolves around the Microsoft web platform. [more]

Translate

Month List

Page List