Intégrité des données Outlook quand celui-ci interagit avec une BD SQL de clients et d’activités
Une des tâches importantes lors du développement d’une application de grande envergure est de s’assurer que l’intégrité des données est sans reproche. Cette tâche peut s’avérer relativement facile à accomplir lorsque l’application n’est disponible que dans un environnement dit de production. Par contre, dans certaines situations, gérer l’intégrité devient un peu plus complexe et demande du travail supplémentaire lorsqu’il faut passer d’un environnement à un autre par exemple.
Chez Analystik, on a développé une innovation permettant de transposer les compagnies (BD SQL) des représentants de son principal client dans l’environnemt Outlook et par le fait même sur le BlackBerry (SUMMeet). De plus, dans cette innovation, les activités saisies dans Outlook sont aussi sauvegardées dans SQL.
Dans le cas de SUMMeet, un mécanisme permettant de s’assurer qu’aucune donnée de test ne se faufilera par erreur en production a dû être implanté. Plusieurs options étaient envisageables telles la suppression manuelle, l’ajout d’un déclencheur à même l’application SUMMeet ou la suppression automatique transparente pour l’usager lors du changement d’environnement. La solution la plus appropriée pour cette situation spécifique fût la suppression des items contenus dans Outlook à même l’application permettant le changement d’environnement.
Les raisons suivantes ont motivé cette prise de décision :
- Les contacts et les activités contenus dans Outlook sont dotés d’une catégorie spécifique, donc facilement filtrable.
- Les chargés de projets ne produisent aucunes données sensibles reliées au business.
- La rapidité et facilité d’implantation dans la mécanique actuelle permettant le changement d’environnement.
- L’application de nos connaissances en VBScript et OOM (Outlook Object Model).
L’exemple de code présenté ici-bas permet donc la suppression des activités et des contacts contenus dans Outlook afin qu’aucune donnée ne transite entre les deux environnements (test et production).
Une fois la main mise sur l’objet « Application » d’Outlook, il faut récupérer tous les contacts correspondant au filtre désiré. Ensuite, il suffit de parcourir tous les items et les supprimer un à la fois. Répéter le même processus pour les activités.
' Supprime tous les contacts et les activités de catégorie SpecialSync
Dim objOL ' As Outlook.Application
Dim objNs ' As Outlook.NameSpace
Dim objF ' As Outlook.MAPIFolder
Dim objItems ' As Outlook.Items
Dim objItemsS ' As Outlook.Items - Résultat de filtre
' Déclaration général
Set objOL = CreateObject("Outlook.Application")
Set objNs = objOL.GetNamespace("MAPI")
' Contacts
Set objF = objNs.GetDefaultFolder(10)
Set objItems = objF.Items
Set objItemsS = objItems.Restrict("[Categories] = 'SpecialSync'")
ContactCount = objItemsS.Count
While ContactCount > 0
If TypeName(objItemsS(ContactCount)) = "ContactItem" Then
Set c = objItemsS(ContactCount)
c.Delete
Set c = Nothing
End If
ContactCount = ContactCount - 1
Wend
' Activités
Set objF = objNs.GetDefaultFolder(9)
Set objItems = objF.Items
Set objItemsS = objItems.Restrict("[Categories] = 'SpecialSync'")
AppointmentCount = objItemsS.Count
While AppointmentCount > 0
If TypeName(objItemsS(AppointmentCount)) = "AppointmentItem" Then
Set c = objItemsS(AppointmentCount)
c.Delete
Set c = Nothing
End If
AppointmentCount = AppointmentCount - 1
Wend
' Relâcher les objets
Set objItemsS = Nothing
Set objItems = Nothing
Set objF = Nothing
Set objNs = Nothing
Set objOL = Nothing
Pascal Groulx
Développeur
Soyez avertis des commentaires concernant cet article en vous inscrivant à notre feed RSS 2.0 . Vous pouvez ajouter un commentaire, ou un trackback provenant de votre site.
| Mots-clefs :Contrôle Qualité, Développement logiciel, Intelligence d'Affaires, Outlook, Productivité, SQL |



Ajouter un commentaire