Intégrité des données Outlook quand celui-ci interagit avec une BD SQL de clients et d’activités

Voir la version AMP

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. Cela demande du travail supplémentaire lorsqu’il faut passer d’un environnement à un autre.

BD SQL POUR OUTLOOK

Chez Analystik, on a développé une innovation permettant de transposer les compagnies (BD SQL) des représentants de son principal client dans l’environnement du logiciel de courriel d’Office. Par le fait même sur le BlackBerry (SUMMeet). De plus, dans cette innovation, les activités saisies 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 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
  • 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 », 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.

Le code

' 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

2 Commentaires

EM

Voilà donc un bon article, bien passionnant. J’ai beaucoup aimé et n’hésiterai pas à le recommander, c’est pas mal du tout ! Elsa Mondriet / june.fr

Reply

Laisser un commentaire

Votre adresse courriel ne sera pas publiée.