Instructions d'implémentation d'un regroupeur

Lorsque vous implémentez un regroupeur à l'aide de l'interface SPI du médiateur d'analyse de site actif, les instructions ci-après peuvent s'avérer utiles.

  1. Implémentez la fonction qui analyse le DOM pour collecter et formater toutes les données spécifiques à l'analyse de site actif.
  2. Abonnez-vous aux notifications DOM. Enregistrez la fonction que vous avez implémentée à l'étape précédente avec l'objet SiteAnalyticsMediator.
  3. Implémentez la logique qui envoie les données collectées au service d'analyse externe.
Lorsque vous effectuez ces étapes, appliquez les considérations suivantes :
  1. Implémentez la fonction qui analyse le DOM pour collecter et formater toutes les données spécifiques à l'analyse de site actif.
    • L'implémentation de collecte des données dépend fortement des thèmes, des habillages et de tous les autres composants qui peuvent générer des microformats spécifiques à l'analyse. Par conséquent, il existe une dépendance entre le thème et ses habillages d'une part et entre le thème et le regroupeur.
    • L'implémentation du regroupeur peut affecter les performances car elle augmente le temps d'affichage des pages dans le navigateur. Pour limiter ce temps supplémentaire, assurez-vous que le traitement du DOM requis pour collecter les données est implémenté de manière efficace. Pour obtenir de bonnes performances, vous pouvez utiliser les informations d'implémentation de vos thèmes et habillages. Par exemple, vous pouvez utiliser des identificateurs HTML dans le marquage du thème pour isoler les noeuds qui contiennent les données spécifiques à l'analyse de site actif dans une sous-arborescence de DOM à laquelle votre regroupeur peut accéder de manière efficace. Dans tous les cas, évitez de traverser l'intégralité du DOM.
  2. Abonnez-vous aux notifications DOM. Enregistrez la fonction que vous avez implémentée à l'étape précédente avec l'objet SiteAnalyticsMediator.
    • Ce n'est seulement qu'à l'étape d'enregistrement que vous appelez directement l'interface SPI du médiateur d'analyse de site actif. Enregistrez votre fonction avec SiteAnalyticsMediator avant que le navigateur n'envoie l'événement de chargement.
  3. Implémentez la logique qui envoie les données collectées au service d'analyse externe.
    • Pour que vos données soient analysées, envoyez-les à un service d'analyse externe. Cette étape est distincte de l'étape 1 car le regroupeur ne peut pas émettre d'hypothèses sur la fréquence à laquelle il est notifié des modifications de DOM. Dans un environnement de portail Web 2.0 comportant de nombreux composants Ajax, il peut y avoir plusieurs notifications par page de portail ou même par interaction de portlet. Par conséquent, cette étape requiert de bonnes connaissances du service d'analyse. Parfois, même le contrat avec votre fournisseur de services d'analyse peut déterminer quand et à quelle fréquence vous souhaitez envoyer les données collectées au service d'analyse.
    • Si la fréquence à laquelle les données sont transmises au service d'analyse importe peu, vous pouvez combiner les étapes 1 et 3. Par exemple, Vous pouvez envoyer les données directement au service d'analyse après ou même pendant le processus d'analyse de DOM. Si la fréquence de transmission est pertinente, stockez les données dans une mémoire tampon (par exemple, un cookie ou un objet JSON), à l'étape 1 du processus d'analyse de DOM. Pour déclencher l'envoi du contenu de la mémoire tampon au service d'analyse, vous pouvez utiliser un événement externe ou une modification de données spécifique. Le déclencheur peut être basé sur un intervalle (par exemple, un délai d'expiration JavaScript). Vous pouvez également utiliser l'événement beforeunload déclenché par le navigateur chaque fois que la page du navigateur est intégralement actualisée ou à la fermeture d'une fenêtre de navigateur ou d'un onglet de navigateur.
    • Vous disposez de plusieurs options pour envoyer les données collectées au service d'analyse externe. Une méthode couramment retenue consiste à utiliser une soi-disante image de suivi. Dans ce cas, le regroupeur ajoute un élément d'image HTML au DOM, qui est masqué via CSS. L'adresse URL de la source d'image qui pointe vers le service d'analyse externe est utilisée pour transporter les données collectées. Une fois qu'il a ajouté l'élément d'image au DOM, le navigateur lance une demande HTTP GET pour charger l'image de suivi. Vous pouvez également utiliser une demande XmlHttpRequest (XHR) asynchrone pour envoyer les données au service d'analyse externe. Cette méthode est utile si vous souhaitez utiliser des demandes HTTP POST pour soumettre une grande quantité de données.
La liste suivante donne un récapitulatif des instructions :
  1. Enregistrez votre gestionnaire avant la fin du chargement de la page, à savoir, avant que le navigateur n'envoie l'événement de chargement.
  2. N'émettez pas d'hypothèses sur la fréquence à laquelle votre regroupeur est notifié des modifications de DOM. Plusieurs notifications peuvent avoir lieu pour une même page.
  3. Utilisez des étapes distinctes pour collecter et formater les données, ainsi que pour les soumettre au serveur d'analyse externe.
  4. Le traitement effectué par votre regroupeur affecte le temps d'affichage des pages dans le navigateur.
  5. Pour garantir de meilleures performances, utilisez les informations d'implémentation des thèmes et des habillages. Par exemple, utilisez des identificateurs HTML pour des recherches de noeud DOM efficaces, s'ils sont disponibles. Evitez de traverser l'intégralité du DOM.
  6. Déterminez avec précaution quand et à quelle fréquence vous souhaitez envoyer les données collectées au service d'analyse. Cette décision peut dépendre de votre fournisseur de services d'analyse.
  7. Utilisez une méthode asynchrone pour envoyer les données collectées au service d'analyse (par exemple, une image de suivi ou un XHR asynchrone).
  8. Vous pouvez utiliser une infrastructure JavaScript pour implémenter votre regroupeur.
Pour des exemples de code, voir Modèles et exemples de regroupeur.