Question

J'ai récemment reçu l'exigence d'une personne pour recevoir une alerte résumé quotidien pour tout changement dans un site SharePoint; chaque site a un propriétaire qui est responsable du contenu de leur site.

La façon actuelle, nous avons quelque chose de travail est d'alertes automatiquement mis en place pour chaque liste / bibliothèque du site.

// Get the Lists on this Site
SPListCollection siteLists = currentSite.Lists;
foreach (SPList list in siteLists)
{
    if (!list.ToString().Equals("Master Page Gallery"))
    {
        if (list.ReadSecurity == 1) // user has read access to all items
        {
            // Create an Alert for this List
            Guid alertID = currentUser.Alerts.Add(list, SPEventType.All, SPAlertFrequency.Daily);

            // Set any additional properties
            SPAlert newAlert = currentUser.Alerts[alertID];
        }
    }
}

Cela crée deux problèmes:

  1. L'utilisateur a beaucoup de différentes alertes créées. Idéal:. UN seul email avec le résumé quotidien
  2. Une sorte de moniteur devrait être mis en place pour vérifier les nouvelles listes ou des bibliothèques dans le site et automatiquement mis en place des alertes pour l'utilisateur.

Q: Comment puis-je créer une alerte résumé quotidien pour tous les changements dans un site

Était-ce utile?

La solution

Je crois que la solution que vous cherchez est disponible dans le cadre de l'audit. L'audit est très robuste dans SP, malheureusement, il est facile de se laisser submerger par la sortie.

La vérification est une propriété disponible sur les SPSite, SPWeb, SPList et propriétés SPItem.

Régler les indicateurs d'audit spécifiques (en utilisant les propriétés .Audit.AuditFlags) en utilisant cette propriété à la suite vos besoins (les détails dépendront de la façon dont vous définissez « changement », mais presque tout ce que vous pouvez penser est disponible).

Détails sur le objet SPAudit sont disponibles sur MSDN.

Une fois que vous avez défini ce que / où vous voulez vérifier, vous devrez obtenir ces informations à vos utilisateurs.

Par défaut, SP met en place des rapports de Nice qui est disponible au niveau de la collection de sites ([url de collection de sites] / _ layouts / Reporting.aspx? Catégorie = Audit). Ceux-ci peuvent répondre à vos besoins.

Votre solution initiale mentionné des alertes par e-mail pour les utilisateurs. Étant donné que la plupart des utilisateurs souhaitent centraliser leurs informations dans le courrier électronique (bien que leur MySite est l'endroit idéal pour mettre un lien vers les rapports!) Vous aurez un peu plus de travail à faire.

Vous pouvez tirer les informations d'audit requises par le modèle d'objet en utilisant les objets SPAuditQuery et SPAuditEntryCollection. Encore une fois, MSDN a des informations sur la façon d'utiliser ces objets.

Je recommande la mise en place d'un SPJobDefinition personnalisé qui fonctionne à la fin de la journée pour envoyer un courriel aux utilisateurs du rapport d'audit pour leur site. Andrew Connell a un grand explaination de comment configurer un travail sur mesure sur son blog.

Pour résumer:

  • activer l'audit pour les années SPWeb en question
  • créer un rapport à l'aide SPAuditQuery et SPAuditEntryCollection pour chaque SPWeb
  • créer une SPJobDefinition qui fonctionne chaque nuit pour envoyer le rapport à chaque propriétaire SPWeb

Autres conseils

Une chose à considérer avant d'activer la stratégie d'audit sur un site, est la surcharge de performance que vous ajoutez.

Je recommande garder l'empreinte aussi peu que possible ici!

Par ce que je veux dire si son seul un certain type de contenu ou d'une certaine liste que vous voulez ces informations à partir, assurez-vous d'activer uniquement la politique d'information sur ces TC ou listes!

garder également l'enregistrement à un minimum. Par exemple, si vous ne souhaitez que des vues, pas la suppression ou la restauration, ne journal ces événements!

Sur les grands sites que j'ai vu vraiment la performance trash d'audit!

Il faut aussi au courant de certaines mises en garde ici: même si vous pouvez activer l'audit sur les listes (comme dans pas des bibliothèques de documents), beaucoup d'événements (par exemple afficher les événements) ne sont pas enregistrées spécifiquement pour les éléments de la liste! Cela ne figure nulle part (en fait, je l'ai même vu l'audit au niveau des articles mentionner Ted Pattison dans un article MSDN) mais je l'ai directement de l'équipe CSS et produit audit au niveau des articles ne sont pas mis en œuvre SP2007 en raison de problèmes de performance. Au lieu de cela, vous obtenez juste un événement de liste dans le journal précisant que la liste a été touché.

Documents est suivi assez correct, mais j'ai vu des problèmes avec vue d'audit des événements à la page d'édition (qui dans l'API est considéré comme un document non un élément de la liste) en fonction de comment et où l'audit a été mis (par exemple, si les politiques d'audit ont été mis en œuvre avec TC) donc hérité des thats quelque chose à être au courant.

[edit: fait quelques tests autour hier et ses pires encore: En fait pages d'édition uniquement suivi si vous définissez la politique d'audit au niveau du site! Si vous définissez une politique sur une liste ou d'un type de contenu (ou même un type de contenu qui hérite d'un type de contenu avec une politique), vous obtiendrez pas les événements de niveau de SPAuditItemType.Document du tout. Réglez-le sur un site et vous obtiendrez trop de vérifications! Par exemple. une vue déclenche des événements de vue x2, et même avec des mises à jour, si vous vous retrouvez avec trop d'être connecté. Il semble comme un bug definetely que rien est vérifié lorsque les politiques sont sur des listes et TC ...]

Le message principal est ici: attention à ce que vous n'êtes pas connecté, car il aura une incidence sur vos performances sites Vérifiez que ce que vous attendez de se connecter est vraiment connecté!

HTH Anders Rask

Eh bien, ce n'est pas un cas qu'il n'y a pas de vérification au niveau des articles. L'audit au niveau de l'élément est mis en œuvre, mais vous devez l'activer pour élément spécifique. Si élément de la liste existe peut obtenir son instance et activer l'audit de la même chose que vous faites cela à des listes. Le problème est que la façon de le mettre en lorsque le ListItem est créé. Peut-être pourrait aider flux de travail?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top