Marketing Automation Porady

Submit action do uaktualnienia danych kontaktu

Żeby używać Marketing Automation w Sitecore 9 potrzebujemy kontaktu w xDB. Idealnie, jeśli ten kontakt jest zidentyfikowany. Na szczęście Sitecore opublikował artykuł jak zaimplementować submit action w Forms, który mapuje pola z formularza na imię, nazwisko i adres email kontaktu w xDB. Nie musisz pisać tego kodu od zera, znajdziesz go w moim projekcie github, możesz też ściągnąć Sitecore package zawierający ten submit action, gotowy do użycia w aplikacji.

Akcja jest łatwa do użycia. W Forms designer, dodajesz ją do przycisku submit i mapujesz wybrane pola na Facet kontaktu:

Implementacja aktywności lub warunku

Niewiele mam tutaj do dodania, Sitecore opublikował bardzo dobre tutoriale jak stworzyć nową aktywność, lub dodać nowy warunek w Marketing Automation. Jeśli potrzebujesz przykładu gotowego do użycia, sprawdź mój projekt github, lub ściągnij paczkę. Po instalacji, pojawi się nowy warunek w rules engine, który możesz użyć w Marketing Automation. Nie zapomnij o zdeployowaniu go do marketing automation engine.

Deploy kodu do Marketing Automation Engine

Po zaimplementowaniu własnej aktywności albo warunku, powinieneś zdeployować plik .dll zawierający twój kod na serwer Sitecore’a, ale także do marketing automation engine, wraz z dodatkowym konfiguracyjnym plikiem .xml. Marketing Automation Engine to usługa Windows, instalowana wraz z xConnect. Domyślnie jest umieszczony w {xConnectRootFolder}\App_data\jobs\continuous\AutomationEngine. Na przykład: C:\inetpub\wwwroot\sc90.xconnect\App_data\jobs\continuous\AutomationEngine.

W solucji opartej na Helix, zwykle masz projekt(y) web ze swoim kodem, który publikujesz przez Visual Studio Publish. Aby automatycznie zdeployować ten kod do Marketing Automation, możesz wyedytować plik .csproj tego projektu i dodać w <Project>:

Ten target msbuild opublikuje plik dll projektu i pliki konfiguracyjne z wybranego katalogu, do katalogu automation engine, po opublikowaniu web’owego projektu z Visual Studio (możesz zmienić ten skrypt na <Target Name="AfterBuild"> aby zdeployować kod po zbudowaniu projektu).

Skrypt używa zmiennej @(AutomationEnginePath), którą zdefiniowałem w pliku publishingsettings.targets (prawdopodobnie masz ten plik jeśli twoja solucja jest zbudowana na Sitecore Habitat). Ta zmienna wskazuje na katalog Marketing Automation Engine w xConnect:

Odwołanie do pliku publishsettings.targets znajduje się w projekcie webowym w Properties\PublishProfiles\{Profile-Name}.pubxml:

Dodatkowo umieściłem w solucji plik .xml potrzebny w Marketing Automation Engine dla nowego warunku. Ponieważ ten plik nie jest potrzebny na serwerze Sitecore’a, nie dodałem go do projektu web. Skrypt skopiuje ten plik do katalogu Marketing Automation Engine zachowując strukturę katalogów:

Możesz sprawdzić ustawienia projektu gotowego do deploy’u do Marketing Automation Engine w solucji EmailValidatedRule w github.

Dubugowanie kodu  zdeployowanego do Marketing Automation Engine

Aby debugować kod zdeployowany do Automation Engine powinieneś podłączyć się do procesu engine’a. W Visual Studio idź do Debug -> Attach to Process… i wybierz maengine.exe (jeśli nie widzisz go na liście zaznacz “Show process for all users”):