Lors de développement sous Windows SharePoint Services 3.0 via le modèle objet, notamment sur les implémentations d’event handler, on a régulièrement besoin d’enregistrer un SPListItem sans pour autant modifier les informations d’audit (date de dernière modification, etc.) ni incrémenter le numéro de version.
Pour cela nous disposons de plusieurs méthode sur la classe Microsoft.SharePoint.SPListItem: Update(), SystemUpdate(bool) et UpdateUverWriteVersion(). Voici le détail de ce que fait exactement chaque méthode.
Update()
- Créer une nouvelle version de l’Item
- Met à jour la date et l’auteur de la modification
- Si l’item est publié, il redevient en attente
UpdateOverwriteVersion()
- Ne créer pas de nouvelle version de l’item, met à jour la version actuelle
- Met à jour la date et l’auteur de la modification
SystemUpdate()
- Seul les champs modifiés sont changés, rien d’autre n’est altéré
- Ne créer pas de nouvelle version (sinon il faut passer false a la méthode pour générer une nouvelle version)
- Les événements sont lancés et les modifications logées, mais aucune alerte n’est envoyée.
Conclusion
On voit bien que SytemUpdate() est très intéressant car il permet d’effectuer des modifications transparentes, sans altérer les informations d’audit ni la publication.
Réferences
http://msdn.microsoft.com/en-us/library/dd587321(office.11).aspx
http://omourad.blogspot.com/2009/04/moss-splistitemupdate-vs.html
Aucun commentaire:
Enregistrer un commentaire