2009-10-08 5 views
2

On m'a demandé de créer un composant WebPart dans Sharepoint répertoriant les 10 derniers documents auxquels l'utilisateur a accédé dans une collection de sites. Mon client veut un moyen rapide pour les utilisateurs d'accéder aux documents afin qu'ils n'aient pas à parcourir une structure de dossiers pour trouver un document, puisque les utilisateurs la plupart du temps accéder au même document encore et encore.Partie Web pour voir les derniers documents auxquels l'utilisateur a accédé

Le problème est que je ne sais pas s'il est possible que je ne peux pas sembler trouver une propriété sur SPListItem, SPItem ou SPFile qui peut me aider avec cette tâche. Quelqu'un a-t-il fait quelque chose de similaire ou est-il au courant d'une solution qui peut m'aider à vérifier que c'est possible?

Répondre

1

Cette information n'est pas facilement disponible sur les objets de fichier et d'élément dans SharePoint. Ils ne peuvent que vous indiquer la date de création et la date de dernière modification. Mais une option pourrait être d'activer le journal d'audit pour la collection de sites et d'interroger celui-ci. Mais faites attention aux performances car le journal d'audit peut devenir volumineux, rendant les requêtes en temps réel sur toutes les données très lentes. Il est préférable de créer un travail en arrière-plan qui interroge fréquemment le journal d'audit pour rechercher de nouvelles entrées et mettre à jour une liste de documents accédés pour la dernière fois.

+0

Donc, selon ce que je dois créer un travail du minuteur qui interroge le journal et insérer des données sur le stockage externe (liste par exemple) que je peux filtrer dans mon composant WebPart. Cela pourrait être lourd de performance parce que je veux montrer cette information pour chaque utilisateur. – armannvg

+0

Oui, je voudrais également utiliser un travail de minuterie. En outre, vous avez raison de dire que l'impact sur les performances peut être important si vous avez de nombreux utilisateurs et que chacun doit avoir son propre ensemble de documents accédés en dernier. Mais que diriez-vous de maintenir une liste de documents consultés au cours des 7 derniers jours et d'inclure le nom d'utilisateur en tant que colonne? Ensuite, vous pouvez interroger par utilisateur et trier par date d'accès. –

1

Une suggestion consiste à développer un module HTTP qui intercepte chaque téléchargement de document. Stockez les informations dans une liste personnalisée, avec ID de document et nom d'utilisateur. (Et peut-être plus de métadonnées telles que nom de collection de sites, nom de site, nom de liste, etc.)

Fournir un mécanisme dans la liste personnalisée qui enregistre uniquement les 10 derniers éléments. Ajoutez une partie Web de requête de contenu à votre page qui interroge la liste personnalisée en fonction du nom d'utilisateur et affiche les éléments, c'est-à-dire les 10 derniers documents consultés.

Questions connexes