Domanda

Recentemente ho avuto la necessità di una persona a ricevere un avviso di riepilogo giornaliero per ogni cambiamento all'interno di un sito di SharePoint; ogni sito ha un proprietario che è responsabile dei contenuti sul proprio sito.

Il modo corrente abbiamo qualcosa di lavoro è quello di impostare automaticamente gli avvisi per ogni lista / biblioteca all'interno del sito.

// 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];
        }
    }
}

Questo crea due problemi:

  1. L'utente ha un sacco di diversi allarmi creati. Ideale:. Solo un'email con il riepilogo giornaliero
  2. Una sorta di monitoraggio dovrebbe essere impostato per controllare i nuovi elenchi o raccolte nel sito e automaticamente impostare avvisi per l'utente.

D: Come posso creare un avviso riepilogo giornaliero per tutti i cambiamenti in un sito

È stato utile?

Soluzione

Credo che la soluzione che stai cercando è disponibile attraverso il quadro di controllo. L'auditing è molto robusto in SP, purtroppo è facile essere sopraffatti dalla uscita.

L'Audit è una proprietà disponibili sulle proprietà SPSite, SPWeb, SPList e SPItem.

Regolare le bandiere di audit specifici (utilizzando le proprietà .Audit.AuditFlags) utilizzando questa proprietà ideale per la tua (le specifiche dipenderanno da come si definisce il "cambiamento", ma quasi tutto si può pensare è disponibile).

I dettagli sul SPAudit oggetto sono disponibili su MSDN.

Una volta che avete definito che cosa / dove si desidera controllare, dovrete ottenere che le informazioni di nuovo per gli utenti.

Per impostazione predefinita, SP imposta alcuni rapporti bello che disponibile a livello di raccolta siti ([url di raccolta siti] / _ layout / Reporting.aspx? Categoria = Revisione). Questi possono soddisfare le vostre esigenze.

La soluzione iniziale menzionato avvisi via e-mail per gli utenti. Dato che la maggior parte degli utenti vogliono centralizzare le loro informazioni in e-mail (anche se il loro sito personale è ottimo posto per mettere un link ai report!) Avrete un po 'di lavoro da fare.

Si può tirare le informazioni di controllo necessarie tramite il modello a oggetti utilizzando gli oggetti SPAuditQuery e SPAuditEntryCollection. Anche in questo caso, MSDN ha alcune informazioni su come utilizzare questi oggetti.

mi sento di raccomandare la creazione di uno SPJobDefinition personalizzato che viene eseguito alla fine della giornata per e-mail gli utenti la relazione di revisione per il loro sito. Andrew Connell ha una grande spiegazione di come impostare una consuetudine di lavoro sul suo blog.

Per riassumere:

  • abilitare il controllo per le SPWeb di in questione
  • creare un report utilizzando SPAuditQuery e SPAuditEntryCollection per ogni SPWeb
  • Crea uno SPJobDefinition che corre ogni notte per inviare il rapporto a tutti i possessori SPWeb

Altri suggerimenti

Una cosa da considerare prima di abilitare la politica di controllo su un sito, è il sovraccarico di prestazioni si aggiunge.

mi sento di raccomandare mantenere il meno possibile qui l'impronta!

Con questo voglio dire se il suo solo un certo tipo di contenuto o di una certa lista che si desidera queste informazioni da, assicurarsi di attivare solo la politica di informazione su queste TA o liste!

Anche tenere la registrazione al minimo. Ad esempio, se si è interessati solo a vista, non la cancellazione o il ripristino, accedere solo questi eventi!

Su grandi siti ho visto auditing davvero prestazioni spazzatura!

Anche essere a conoscenza di alcuni avvertimenti qui: anche se è possibile attivare il controllo su liste (come in non documentare le biblioteche), un sacco di eventi (ad esempio, visualizzare gli eventi) non viene registrato appositamente per voci di elenco! Questo non è descritto da nessuna parte (in realtà Ho anche visto Ted Pattison parlare di revisione livello di articolo in un articolo di MSDN), ma ce l'ho direttamente dal CSS e di prodotto squadra che di audit a livello di elemento non è implementata in SP2007 a causa di problemi di prestazioni. Invece basta avere un evento di lista nel registro specificando che l'elenco è stato toccato.

Documenti è tracciato abbastanza ok, ma ho visto problemi con vista auditing eventi sulla pagina di pubblicazione (che a sua API è considerato un non documento una voce di elenco) a seconda di come e dove è stato istituito il controllo (ad esempio, se i criteri di controllo sono stati realizzato con ereditato di CT) così questo è qualcosa di cui essere consapevoli.

[edit: fatto dei test intorno a questo ieri e le sue anche peggio: infatti Publishing Pagine è solo rintracciato se si imposta il criterio di controllo livello di sito! Se si imposta una politica di una lista o di un tipo di contenuto (o anche un tipo di contenuto che eredita da un tipo di contenuto con una politica) si otterrà non eventi di livello SPAuditItemType.Document a tutti. Situato su un sito e si ottengono troppi controlli! Per esempio. una vista attiverà vista x2 eventi, e lo stesso con gli aggiornamenti, in modo da finire con troppa essere collegati. Sembra definitivamente come un insetto che nulla è verificato quando le politiche sono messi sulle liste e di CT ...]

Il messaggio principale è: attenti a ciò che si accede, dal momento che influenzerà le prestazioni siti TEST che quello che ci si aspetta di registrare è davvero registrato!

hth Anders Rask

Beh, non è un caso che non ci sia il controllo a livello di elemento. La verifica a livello di elemento è implementato, ma è necessario accenderlo per elemento specifico. Se esiste elemento della lista è possibile ottenere la sua istanza e attivare il controllo lo stesso che si esegue questa operazione alle liste. Il problema è che il modo di riaccenderlo quando viene creata la ListItem. Forse il flusso di lavoro potrebbe aiutare?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top