Comment prévisualiser vos données marketing avec Commerce Server

Commerce Server, Développement 1 Comment »

Comme vous devez le savoir, Microsoft Commerce Server via le Marketing System vous permets de gérer les compagnes marketing de votre site e-Commerce via les modules:

Ces modules sont tous horodatables. C’est à dire que vous allez pouvoir définir la date de début et date de fin d’affichage/application d’une opération commerciale ou d’une publicité.

Par défaut, le client riche Marketing, vous permets de visualiser une publicité pour vous donner une idée de son rendue:

image

Et là, comme la majorité de mes clients, vous allez me dire : “ok, je peux voir ma publicité, mais qu’est-ce que cela va donner sur mon site ? Comment m’assurer que le contenu et contenant soit correcte ? Et quid des opérations commerciales ?”

Si la publicité ou l’opération commerciale en question est prévue de s’afficher maintenant, il suffit d’ouvrir votre site pour voir les contenus publicitaires s’afficher et les opérations commerciales s’appliquer… ou non ! N’oubliez pas que vos contenus peuvent être soumis à condition, comme:

  • la publicité ne s’affiche que sur une certaine catégorie de pages (home, produits, panier, …),
  • la publicité ne s’affiche ou l’opération commerciale ne s’applique que si une caractéristique de l’utilisateur connecté remplis une condition (utilisateur est un homme ou une femme, …)
  • etc, etc, … (si vous avez des questions n’hésitez pas à m’en parler Sourire)

image

Mais que faire lorsque vos opérations commerciales sont prévues pour dans 2 ou 3 mois ? Devez-vous attendre le jour J tout tremblant pour voir le résultat ? La réponse est non! Sourire (ouf… l’honneur est sauf).

Dans les solutions possibles, et fonction de la qualité de votre consultant Commerce Server, vous aurez comme réponse:

  • “Ce n’est pas possible, Commerce Server ne sait pas gérer cela!”
  • “Changez la date de votre serveur et rafraîchissez votre cache pour voir le résultat” (véridique!)
    • Pratique si votre environnement de staging et sur la même machine que celui de production Envieux 
    • Oblige une intervention sur la plateforme d’hébergement par l’équipe IT
      • Pas idéal, si chaque prévisualisation demande le bien vouloir de l’IT qui en général à bien d’autres choses à faire (du moins j’espère Ange)
      • Ne pas oubliez de revenir à la vrai date du jour
  • “Désactivez les opérations commerciales en cours puis n’activez que celles que vous souhaitez voir tout en changeant leurs dates d’application pour qu’elles s’appliquent sur le champ.”
    • Fastidieux, j’ai des clients qui ont quasi cent publicités à afficher et bien souvent autant d’opérations commerciales (voir plus)…
    • Risque de confusion sur les activations ou désactivations
      • Toutes celles désactivées sont-elles à réactiver? Ou comment oublier facilement celles activées…
    • Risque d’erreur en changeant les dates pour les remettre sur la période souhaitée
    • Certains diront qu’un petit développement custom pourrait très bien activé/désactivé une liste de publicité/opération commerciale et changer les dates d’application. Cela est vrai mais ça reste quand même un peu bancal…
  • “Pas de soucis, nous avons la solution!”… et maintenant grâce à cet article nos précédents “experts” ont la solution grâce à la suite de ce post Clignement d'œil

La solution est en fait très simple. Lors du premier chargement de l’application web, le runtime de Commerce Server va charger de nombreuses informations dans son cache et context afin d’améliorer les performances d’exécution du site.

Ce remplissage du cache se fait via 2 procédures stockées (et une autre indirectement) situées dans la base de données marketing:

  • mktg_spRuntimeLoadAdvertisements
  • mktg_spRuntimeLoadDiscounts
  • mktg_spRuntimeLoadReferenceTables

 

imageimageimage

=> Ces procédures stockées sont exécutées par le runtime à chaque démarrage du site ou rafraichissement du cache.

 

L’équipe produit de Commerce Server ayant très bien fait les choses, il est possible de dire au runtime de Commerce Server de charger d’autres procédures stockées que celles-ci et donc d’y inclure notre propre logique.

L’idée ici, est d’avoir une application web de prévisualisation où nous viendrons faire charger par le runtime nos propres procédures stockées et une autre application web de production ou staging avec le comportement “par défaut”.

Afin d’exécuter d’autres procédures stockées à charger par le runtime de Commerce Server, il nous faut modifier la gestion du cache via une section du fichier web.config > CommerceServer > Caches (voir MSDN: caches Element).

Dans le web.config  de notre application web de prévisualisation, nous allons donc spécifier ces configurations de caches avec ces valeurs:

<cache
    name="Advertising"
    type="Advertising"
    refreshInterval="900"
    retryInterval="30"
    loaderProgId="Commerce.CSFLoadAdvertisements"
    writerProgId="Commerce.CSFWriteEvents">
    <config
        key="LoadAdvertisementsProcedure"
        value="spGael_staging_mktg_spRuntimeLoadAdvertisements" />
</cache>
<cache
    name="Discounts"
    type="Discounts"
    refreshInterval="0"
    retryInterval="30"
    loaderProgId="Commerce.CSFLoadDiscounts"
    writerProgId="Commerce.CSFWriteEvents">
    <config
        key="LoadDiscountsProcedure"
        value="spGael_staging_mktg_spRuntimeLoadDiscounts" />
</cache>

Comme les différents composants de pipeline prennent tous comme axe de calcul la date et l’heure du moment de l’appel, vouloir changer cela reviendrait à en redévelopper l’intégralité… Fastidieux et risqué, surtout que pour beaucoup, les pipelines sont une espèce de boite noire qu’il ne faut pas toucher…

Afin de contourner cela, l’idée est de faire venir le futur à nous Sourire en calculant le nombre de jours qui nous sépare de la date de prévisualisation et de le retrancher à l’ensemble de nos dates de début et date de fin!

Reprenons la procédure stockée “mktg_spRuntimeLoadAdvertisements” qui charge les publicités actives dans le time frame du jour:

image

On se rend compte que l’on récupère l’ensemble des publicités  applicable à la date du 8 juillet 2010. Pour ma démonstration, j’ai créé une bannière publicitaire qui s’appliquera du 01/08/2010 au 31/08/2010:

image

En exécutant de nouveau ma procédure stockée mktg_spRuntimeLoadAdvertisements, j’obtiens les même résultats que précédemment. Etonnant? Non, puisque ma nouvelle publicité n’est pas éligible !Sa  date de début est au 1er août et nous sommes le 8 juillet 2010:

image[21]

Comme expliqué précédemment, nous allons reprendre la procédure stockée précedente (“mktg_spRuntimeLoadAdvertisements”) pour en créer une nouvelle, que nous appellerons “spGael_staging_mktg_spRuntimeLoadAdvertisements”. Dans cette procédure, nous allons changer les dates de début et date de fin en retranchant le nombre de jour qui sépare la date de prévisualisation à celle d’aujourd’hui.

imageVous noterez au passage que la date de prévisualisation est stockée dans une table appelée altima_doPreview qui ne contient qu’une seule colonne et une seule ligne.

Sur l’exécution de ma procédure stockée, j’obtiens ici qu’un seul résultat, puisque seule ma publicité est valide à la date du 15 août 2010:

image

Dans ce résultat, nous constatons bien que la date de début de ma publicité a basculé au 25 juin 2010 et la date de fin au 25 juillet 2010. En effet, 37 jours séparent le 08 juillet 2010 (date du jour) au 15 août 2010 (date de la prévisualisation). Soit sur ma publicité :

  • Date de début: 1er août 2010 – 37 jours => 25 juin 2010
  • Date de fin:, 31 août 2010 – 37 jours => 25 juillet 2010

Lançons maintenant notre application web de preview (n’oubliez pas de mettre à jour le web.config comme spécifié précédemment), et miracle… Sourire

image

Mon application “normale” affiche bien quant à elle, les publicités actives et applicables du moment

image

Pour terminer, je vous livre ci-dessous la procédure stockée qui vous chargera vos opérations commerciales en mode preview:

image

A vous maintenant la prévisualisation !

MVP Commerce Server renouvelé pour 2010!

Award 1 Comment »

J’ai reçu ce jour le mail tant attendu par les MVPs leur annoncant leur renouvellement (ou non…)pour une nouvelle année.

Me revoilà donc une nouvelle fois MVP et je profite de l’occasion pour remercier:

  • mes collègues d’Altima qui travaillent de façon acharnés avec moi pour offrir des solutions Commerce Server de plus en plus performantes;
  • mes clients qui nous font confiances et font du même coup le succès de Commerce Server en le plaçant ainsi dans les meilleurs framework eCommerce;
  • Un merci spécial aussi aux équipes Microsoft Commerce Server pour cette confiance;

image

Découvrez le blog de René Lefébure sur la CRM

Altima 1 Comment »

image Ca bloggue chez Altima

Toute l'actualité sur la gestion relation client


Croissance printanière oblige, le blog CRM dirigé par René Lefébure, directeur CRM multicanal chez Altima et auteur d’ouvrages de référence, connaît une nouvelle éclosion. Traitant de l’actualité de la relation client, le blog CRM s’adresse autant aux amateurs, qu’aux étudiants ou aux professionnels. Les conseils, remarques et avis de l’expert qu’est René Lefébure sont organisés en trois axes : Datamining, Valeur client et Multicanal. De nouvelles rubriques, comme l’Applicaphone, viennent compléter le sujet. Plus moderne, plus enrichissant, le blog CRM se veut aussi plus proche de ses lecteurs : ils peuvent intervenir et échanger par le biais des commentaires, mais aussi suivre le blog via le flux RSS et le compte Twitter.

image

image

Conférence Optimisation e-Commerce – énergisez votre transfo : e-merchandising

Altima, Conférence 1 Comment »

img-RDV2

1h chrono pour comprendre comment l’e-merchandising peut booster votre taux de transfo et la satisfaction de vos clients.

Au programme de ces 60 minutes :

  • Analyse d’expert pour comprendre comment s’achète le produit pour comprendre comment mieux le vendre…
  • Illustration par de nombreux cas concrets et les meilleures pratiques du moment, cette conférence vous fera découvrir comment tirer pleinement profit de votre site e-commerce en vous appuyant sur le cœur du business : vos produits.
  • Échanges avec Stéphane Lecouturier sur vos problématiques spécifique

Inscrivez-vous gratuitement dès maintenant !

Programme de la matinée :

  • 9h00 : Petit déjeuner au salon Meert dans le musée de la Piscine
  • 9h30-10h30 : Conférence par Stéphane Lecouturier, directeur artistique chez altima
  • 11h00-12h00 : Visite guidée de l’exposition temporaire du Musée « Pincemin »

image

Stéphane Lecouturier est directeur de création et dirige le studio design Altima Roubaix. Il accompagne les marques et les enseignes dans la définition de l’expérience-utilisateur et de leur territoire d’expression graphique. Passionné de e-commerce, Stéphane est convaincu que le "beau et utile" vend mieux et rend la vie plus belle…

 

Plan d’accès

Map picture

Comment consommer ses données Commerce Server pour Power Pivot via un service de données REST

.Net, Commerce Server, Développement, WCF 1 Comment »

Suite à mes deux posts sur Commerce Server et Power Pivot (Créer des rapports simples et efficaces pour Commerce Server grâce à PowerPivot (aka Gemini) et Comprendre et analyser vos données Commerce Server grâce à Power Pivot), j’ai reçu quelques questions concernant la récupération des données provenant de Commerce Server.

En effet, il n’est pas rare (j’ose difficilement concevoir la chose autrement) que le(s) serveur(s) e-Commerce soi(en)t hébergé(s) sur un data center déconnecté de l’environnement de l’entreprise (du webmaster, du consultant,…), rendant donc impossible une connexion directe à la base de données.

Que faire donc pour récupérer les données et les exploiter?

  • Réplication SQL Server entre l’environnement de production et votre environnement local
    • Avantages:
      • Nombreuses possibilités de synchronisations (temps réels ou différés)
      • Technologie éprouvée et robuste
    • Inconvénients:
      • Nécessite d’avoir un SGBD (oui tous les consultants n’ont pas un SGBD Smile)
      • Exposer sa base de données, qui normalement doit être derrière la DMZ (même si vous filtrez les IPs ce n’est quand même pas génial en terme de sécurité ou passer par une LS)
  • Exporter les données dans un format texte pour le réintégrer dans l’environnement de base de données local
    • Avantages:
      • Possibilité d’importer de nombreux types de fichiers textes formatés dans Excel
      • Ouverture/Import des fichiers textes comme sous Excel
    • Inconvénients:
      • L’import de fichiers dans Excel n’est pas toujours simple à appréhender par un novice
      • Gestion de plusieurs fichiers pouvant être complexes à maintenir et gérer
  • Utilisez la capacité de PowerPivot à consommer un flux de données type RSS (voir la MSDN à ce sujet)
    • Avantages:
    • Inconvénients:
      • Technologie encore récente
      • Nécessite d’utiliser un protocol https ou une LS pour garantir une bonne sécurisation du transfert de données.

Ces 3 solutions ont chacune leurs avantages et inconvénients et le choix dépend fortement de votre architecture et vos besoins (ie pas de règles figées dans le marbre!). Pour ma part, j’ai décidé de vous présenter la dernière solution: à savoir un flux de données de type RSS.

Pour exposer vos données en asp.net, l’idéal est d’utiliser un service WCF qui se chargera de rendre vos données au format désiré (ici l’ATOM). Bien que l’exposition de vos données au travers d’un service WCF n’est pas nouvelle (il en existe de nombreuses façons pour le réaliser), l’exposer nativement en mode REST et au format ATOM (ou json) pour la représentation des données via une URI (autrement dit, l’utilisation du protocol OData) l’est beaucoup moins!

Pour réaliser cela, nous avons besoin d’avoir une application web dans lequel nous allons ajouter une item de type “ADO.Net Entity Data Model” connecté à votre base de données SQL Server.

image

Dans le cas où vos rapports se basent sur les commandes, vous devez choisir la base de données <site commerce server>_Transactions.

 image

Ajoutez ensuite une item de type WCF Data Service

image

Dans le service créé, ajoutez à la méthode InitializeService le code suivant:

config.SetEntitySetAccessRule("DiscountsApplied", EntitySetRights.AllRead);
config.SetEntitySetAccessRule("LineItems", EntitySetRights.AllRead);
config.SetEntitySetAccessRule("OrderAddresses", EntitySetRights.AllRead);
config.SetEntitySetAccessRule("OrderForms", EntitySetRights.AllRead);
config.SetEntitySetAccessRule("PurchaseOrderPayments", EntitySetRights.AllRead);
config.SetEntitySetAccessRule("PurchaseOrders", EntitySetRights.AllRead);
config.SetEntitySetAccessRule("Shipments", EntitySetRights.AllRead);
config.SetEntitySetAccessRule("ShippingDiscounts", EntitySetRights.AllRead);

 

Ceci vous permettant de donner un accès en lecture seule à vos entitées et donc par extension aux tables de la base de données.

Affichez votre service dans votre navigateur et vous obtenez automatiquement un flux XML Atom listant les différentes entités auxquelles vous avez accès.

image

Ajoutez par exemple LineItems à la fin de votre url (ex: http://localhost//CommerceServerOrdersDataService.svc/LineItems)

Votre navigateur affiche alors, une page similaire à n’importe quel flux RSS:

image

Pour afficher le flux XML à la place de l’interface RSS, allez dans les options internet > Contenus > Paramètres des flux RSS et décochez la case d’affichage RSS

image

image 

Et voilà la partie développement est terminée ! Vous pouvez consommer votre flux dans Power Pivot dès à présent:

image image image

image

Je vous montrerez dans un prochain post comment inclure les flux dans la même stratégie de sécurité que les web services Commerce Server.

Retrouvez plus d’informations sur:

[Wygday 2010] Session Commerce Server 2009

Commerce Server, Evénement Microsoft 1 Comment »

image

Envie de connaitre les nouveautés de Commerce Server 2009 R2? A quoi ressemble t’il? Que va t’il amener dans votre stratégie e-Commerce? Retrouvez Matthieu et moi lors d’une conférence dédiée à Commerce Server lors des Wygday 2010.

Mais qu’est ce donc que les Wygday? Open-mouthed

WygDay 2010 : l’édition Lilloise des Microsoft Days

 

image Le WygDay est une journée organisée par Wygwam et Microsoft, complètement consacré à la veille technologique. De nombreux experts de chez Wygwam et Microsoft vous présenteront un aperçu des technologies émergentes et témoigneront de leurs expériences. C’est l’occasion d’échanger directement avec eux !

Nous aborderons cette année, différents axes : Développement Visual Studio 2010, Architecture/Industrialisation, SharePoint 2010, Office 2010, Exchange 2010, Cloud Computing, Cartographie, Bing Maps, Recherche et Innovation. Pour plus d’informations sur les sessions :
http://wygday.wygwam.com/Sessions.aspx

Venez nous retrouvez en vous inscrivant sur le site des WygDay 2010.

Rendez-vous le 8 juin 2010 à EuraTechnologies
165 avenue de Bretagne 59000 Lille
Métro Canteleu (Direction St Philibert – Ligne 2)
Parking gratuit et sécurisé

Sponsorisé par Microsoft Days

mRemote ou comment gérer facilement ses accès serveurs

Administration, Windows 1 Comment »

J’ai découvert récemment un outil vraiment très pratique dans la gestion de mes accès serveurs via terminal services : mRemote.

mRemote possède un paramétrage soigné des accès serveurs (comme le RDP windows):

  • La résolution de l’écran et tout ce qui tourne autour de l’apparence (thème, wallpaper,…)
  • Les informations de connexions
  • Monter les imprimantes, disques,…

Bref, rien de neuf vous me direz sauf que vous pouvez accéder non pas seulement à vos serveurs en rdp mais à quasi l’ensemble des serveurs via ssh, telnet, PuTTy, ICA (Citrix), etc… via un seul outil ! Ce qui mérite en soit le détour Smile

Pour ma part, j’adore la gestion fine en onglet ou il est possible de regrouper ses accès machines avec comme cerise sur le gâteau la petite icône qui vous indique quel type de serveur vous avez ! Et y a même une icône dédiée à SharePoint Hot Mais aussi le principe d’héritage de vos connections! Et ca c’est vraiment le top !

Un must have!

mRemote

Comprendre et analyser vos données Commerce Server grâce à Power Pivot

Analytics, BI, Commerce Server, Power Pivot, Reporting, SQL Server 3 Comments »

Suite à mon article sur Power Pivot et Commerce Server, j’ai décidé d’aller un peu plus dans le détail et vous présenter trois scénarii basique de tableau de bord, ainsi que le fichier Excel (et Power Pivot) que j’ai utilisé pour que vous puissiez le tester et vous en servir pour monter vos propres dashboard sur votre site Commerce Server.

Le but ici, n’est donc pas de vous montrer comment créer une source de données ou relier des tables entres elles. Il existe déjà pour cela de nombreux articles :

Pour réaliser ce post, vous devez vous munir de :

Les base de données

Pour créer nos différents tableaux de bords, nous avons besoin de nous connecter à deux bases de données :

  • Profiles (ici SPGael_profiles) : Contient les informations sur le compte client
    • Dans cette table, j’ai un champ personnalisé pour stocker la date de naissance. Toutes les autres données sont natives dans Commerce Server
  • Transactions (ici SPGael_transactions) : Contient les informations de commandes
    • Toutes les données sont celles disponibles de bases dans Commerce Server.

Sélectionner les tables :

  • Commandes
    • DiscountsApplied : Contient les informations des opérations commerciales appliquées sur les commandes ;
    • LineItems : Contient les données des lignes de commandes ;
    • OrderAddresses : Contient les adresses utilisées lors du passage de commande ;
    • OrderForms : Contient les conteneurs des LineItems (une commande possède de 1 à n OrderForms et un OrderForms possède de 1 à n LineItems) ;
    • PurchaseOrderPayments : Contient les différents moyen de paiements utilisés lors du passage de commande ;
    • PurchaseOrders : Contient les informations générales sur une commande ;
    • Shipments : Contient les informations de livraisons utilisées sur une commande ;
    • ShippingDiscounts : Contient les opérations commerciales sur le mode de livraison ;
  • Clients
    • UserObjet : Contient les informations d’un client

Tableau de bord général

dashboard eCommerce

Tableau de bord Commande

dashboard eCommerce

Tableau de bord Clients

dashboard eCommerce

 

Read the rest of this entry »

Conférence Optimisation e-Commerce – Energisez votre transfo !

Altima, Conférence No Comments »

 image

Découvrez la démarche que nous mettons en oeuvre avec nos clients pour faire bondir leur taux de transfo sans tout révolutionner.

Au programme de ces 60 minutes :

  • Discours pragmatique sur comment optimiser efficacement son business en ligne sans se noyer dans les projets.
  • Retours d’expérience chiffrés d’optimisation de landing page, fiche produit et check-out à travers des campagnes de testing A/B et MVT : GAN, Cofidis, KingJouet, Afibel…
  • Echanges avec Thomas sur vos problématiques spécifiques.

Inscrivez-vous gratuitement dès maintenant !

Nombre de places limité. Inscription avant le 10 mars 2010.

le 19 mars 2010 au Musée de la Piscine à Roubaix

23, rue de l’Espérance – 59100 Roubaix

image

Thomas Tonder est directeur associé et dirige les départements Design et Optimisation d’Altima. Il aide les pixels des commerçants comme Chronodrive, La Redoute, Decathlon, Skimium ou Cofidis à délivrer des expériences différenciantes et à mieux convertir leurs visiteurs en euros.

 

>> Plan d’accès

Map picture

Techdays: Dernière ligne droite ! Rejoignez nous :)

Commerce Server, Evénement Microsoft No Comments »

Signature officielle des TechDays

Dernière ligne droite avant les techdays! Si ce n’est pas déjà fait, je vous encourage fortement à vous inscrire et à venir nombreux à cet évènement. Outre le fait que ce soit gratuit, que vous allez pouvoir assister à de nombreuses conférences de qualité, vous allez aussi pouvoir rencontrer les gens qui font la communauté et mettre enfin des visages sur des pseudos ou auteurs de vos blogs préférés.

Pour ma part, je serais au stand technet pour animer la partie ATE (ask the expert) : http://www.microsoft.com/france/mstechdays/espace-projet/default.aspx. Si vous avez des questions sur Commerce Server, n’hésitez pas! Vous savez ou me trouver :)

Concernant notre technologie préférée, Commerce Server aura droit à trois sessions:

  1. AVANADE – Le Digital Marketing montré sur la plateforme Microsoft  (PAR202)
    • lundi 8 février 2010, 11:00 – 12:00
  2. Optimisez les investissements de votre plateforme Web et E-Commerce  (RDI209), par Jean-François Gomez
    • mardi 9 février 2010, 11:00 – 12:00
  3. Intégration de Commerce Server 2009 dans le Système d’Information avec le cas client JM Bruneau  (OWB202)
    • mardi 9 février 2010, 14:30 – 15:30

       

Au plaisir de vous y rencontrer :)

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in
Creative Commons License