Tracciando i cambiamenti del profilo utente, senza l'iterazione tutto il tramite?
-
16-10-2019 - |
Domanda
A causa della esigenza progettuale, vogliamo tracciare le modifiche alle proprietà del profilo utente (fatta tramite miosito) ogni volta che fanno.
E 'una buona idea di inserire un javascript (attraverso un controllo di delega) e catturare la pagina dell'evento "beforeUnload". La funzione "beforeUnload" chiamerà un "gestore generico" con una corrente ID di accesso utente e in cui si può effettivamente tracciare il profilo cambia utilizzando la classe "UserProfileChangeQuery".
o c'è un evento per ignorare come ItemUpdating?
o quale sarebbe il metodo più semplice?
Inoltre non la classe "UserProfileChangeQuery" restituire informazioni aggiornate o i vecchi dati?
Soluzione
Gary Lapointe e Mathew McDermott ha recentemente pubblicato un articolo su questo argomento nella rivista SharePointPro. E 'disponibile online qui:
Sinossi di questo articolo:
Per prima cosa abilitare la registrazione tramite lo strumento STSADM (senza PS disponibile per questo)
stsadm -o profilechangelog -userprofileapplication "My User Profile Service App" -daysofhistory 28
si accede agli oggetti in Microsoft.Office.Server.UserProfiles spazio dei nomi (che si è già a conoscenza).
La classe UserProfileManager contiene il metodo GetChanges.
Questo metodo ha tre overload:
- GetChanges (), che recupera tutte le modifiche
- GetChanges (UserProfileChangeToken), che recupera tutte le modifiche da una determinata data o un evento
- GetChanges (ProfileBaseChangeQuery), che recupera i cambiamenti specifici dato un oggetto query
Tutte le GetChanges sovraccarichi restituiscono un oggetto UserProfileChangeCollection. Questo oggetto contiene tutte le modifiche memorizzate sia come oggetto UserProfileChange o uno dei suoi derivati ??tipi:
- UserProfileColleagueChange
- UserProfileCustomChange
- UserProfileLinkItemChange
- UserProfileMembershipChange
- UserProfileOrganizationMembershipChange
- UserProfilePropertyValueChange
- UserProfileWebLogChange
Altri suggerimenti
SharePoint 2010 ha la capacità di registrare quasi tutto ciò che vanno dal cane che abbaia al server è andato in crash.
Non tutto come attivata di default però.
Date un'occhiata al monitoraggio> Configura registrazione diagnostica nella Central Admin.
In SharePoint Portal Server ci sono un paio che è necessario spuntare:
SPS persone Profili utente Siti personali
Nella parte inferiore della pagina, è possibile specificare dove si desidera registrare tutto: Sharepoint Registro di traccia, o Windows App Logs. Id andare per Registri traccia.
Prendete nota delle altre impostazioni, che cancellerà i vecchi registri a un certo punto.
Avanti, su, dovreste ottenere qualcosa di simile ULSViewer per monitorarlo.
Spero che questo aiuto.