Skip to content

Podstawowe informacje o SAREscript

1. Co to jest SAREscript

SAREscript jest językiem, który powstał na potrzeby systemu SARE. Ma on za zadanie umożliwić osobom korzystającym z systemu SARE pełniejsza kontrolę nad treścią wysyłanych wiadomości e-mail. Zanim powstał SAREscript, SARE umożliwiało jedynie prostą personalizację wiadomości, poprzez podstawianie w wybrane miejsca przechowywanych w bazie cech danego odbiorcy. SAREscript umożliwia manipulację danymi odbiorcy (np. podczas wysyłki), oraz na przetwarzanie innych danych dostępnych w systemie. Na danych można wykonywać operacje czy to za pomocą podstawowych operatorów (np. łączenie, dodawanie, odejmowanie, mnożenie, dzielenie) jak i dostępnych funkcji (np. zaokrąglanie liczb, fleksja imion, słowne przedstawianie liczb, tworzenie newsletterów, planowanie wysyłek). Bardzo ważną cechą SAREscriptu jest możliwość tworzenia konstrukcji warunkowych (if, elseif, else). Istnieje możliwość tworzenia pętli (for). Dostępna jest możliwość definiowania i używania własnych zmiennych, w tym tablic. Obecnie SAREscript zawiera kilkadziesiąt funkcji, jednak będzie stale rozbudowywany.

2. Podobieństwa do innych języków

SAREscript jest w dużej mierze wzorowany na jednym z najpopularniejszych języków skryptowych – PHP. Osoba znająca język PHP nie będzie miała problemów z jego zrozumieniem i używaniem. W niniejszym dokumencie może będzie znaleźć wiele odwołań do PHP. Nazwy funkcji SAREscript mające swe odpowiedniki (jeżeli chodzi o działanie) w PHP, bardzo często mają taką samą nazwę. To wszystko powinno umożliwić łatwe korzystanie z języka SAREscript programistom przyzwyczajonym do korzystania z PHP, a jednocześnie pozwalać na tworzenie nawet zaawansowanych skryptów osobom nie mającym nic wspólnego z programowaniem.

Nawiązanie do PHP nie jest wymuszone, a celowe i zamierzone. Nie ma bowiem sensu (aczkolwiek przy projektowaniu SAREscript nic nie stało temu na przeszkodzie) tworzenia własnej, unikalnej składni języka. Jednak na przykład składnia instrukcji pętli for jest bliższa znanej z np. Basica.

3. Używanie SAREscriptu

Używanie SAREscript w systemie SARE, możliwe jest poprzez utworzenie programu, który zostanie zinterpretowany i wykonany przez system. SAREscript używany jest m.in. podczas wysyłki, przy wyświetlaniu mapy kliknięć, personalizowanym podglądzie www, czy jako filtr zaawansowany. Program może zostać wywołany samodzielnie, bądź osadzony w treści wiadomości, która ma być wysłana. System SARE sam sprawdza czy w treści wiadomości używany jest SAREscript. Jeżeli jest użyty podczas wysyłki, dla każdego odbiorcy wiadomości wykonywany jest skrypt z użyciem danych (cech) przypisanych do adresu na który prowadzona jest wysyłka. W jednej wiadomości e-mail może być osadzonych więcej niż jeden blok ze skryptem. Takie pojedynczy blok nazywamy scriptspotem.

4. Scriptspot

SAREscript używany jest poprzez stworzenie odpowiedniego scriptspotu. Scriptspot rozpoczynamy przez umieszczenie na jego początku: <!--sare

Scriptspot zamykamy poprzez: sare-->

Znacznik zamykający musi zostać poprzedzony „białym znakiem” (nowa linia, spacja, etc.)

Przykładowy scriptspot:

php
<!--sare print("To jest scriptspot"); sare-->

Scriptspot może być zawarty w jednej (jak powyżej) bądź wielu liniach:

php
<!--sare
print("To jest scriptspot");
sare-->

W obu wersjach odbiorca zobaczy w swojej wiadomości słowa:

To jest scriptspot

Niewłaściwy scriptspot:

php
<!--sare print("To jest scriptspot");sare-->

Uwaga

Brak jest białego znaku pomiędzy średnikiem a zamknięciem scriptspota (;sare--> zamiast ; sare-->)
Wewnątrz scriptspota nie powinien znaleźć się ciąg znaków sare--> . Może on znaleźć się jedynie na jego końcu.

5. Osadzanie scriptspota w wiadomości

Scriptspot może zostać osadzony w kodzie wiadomości tak jak inne znaczniki HTML, w dowolnej części kodu. Przykład:

html
<HTML>
<HEAD>
<TITLE>Newsletter</TITLE>
</HEAD>
<BODY>
Zachęcamy <!--sare print("Pana"); sare--> do odwiedzenia naszej strony <a href='http://www.naszastrona.pl/'>www.naszastrona.pl</a>
</BODY>
</HTML>

Można jednocześnie w kodzie umieścić więcej niż jeden scriptspot:
Zachęcamy <!--sare print("Pana"); sare--> do <!--sare print("ponownego"); sare--> odwiedzenia naszej strony <a href='http://www.naszastrona.pl/'>www.naszastrona.pl</a>

Uwaga

Nie powinno umieszczać się scriptspota pomiędzy znakami otwarcia i zamknięcia < > znacznika HTML.
Błędne jest takie osadzenie:
Zachęcamy Pana do odwiedzenia naszej strony <a href='http://www.naszastrona.pl/<!--sare print("panowie"); sare-->'>www.naszastrona.pl</a>

Nie wolno również przecinać znaczników (np. znacznik otwarcia generowany przez SAREscript, zaś zamknięcie statyczne. Również błędne jest takie osadzenie:
Zachęcamy Pana do odwiedzenia naszej strony <!--sare print("<a href='http://www.naszastrona.pl/panowie'>”); sare-->www.naszastrona.pl</a>

Prawidłowo powinno być np. tak:

Zachęcamy do odwiedzenia naszej strony <!--sare
print("<a href='http://www.naszastrona.pl/panowie'>www.naszastrona.pl</a>"); sare->

6. Zależności pomiędzy scriptspotami

Używanie SAREscript w postaci scriptspota osadzonego w treści wiadomości, jest jego najbardziej praktycznym zastosowaniem. Możliwe jest jednak zastosowanie SAREscript w innym kontekście (np. jako filtr zaawansowany). Poniżej miejsca (lub kontekst) w systemie, gdzie wykonywany jest SAREscript:

  1. Mailing > edytor – podgląd wiadomości
  2. Mailing > edytor – podgląd na e-mail
  3. Mailing > wysyłanie – mail testowy
  4. Mailing > wysyłanie – testowanie filtrów
  5. Mailing > wysyłanie – wysyłka właściwa
  6. SAREscript > uruchom – wykonanie i debugowanie.
  7. Raporty > mapa kliknięć
  8. Podgląd www wiadomości
  9. Scenariusze subskrypcji – wyświetlanie i wysyłanie obiektów
  10. Interfejs SOAP – wywołanie metody Execute

Użycie SAREscript w powyżej przywołanych miejscach różni się od siebie w sposób istotny. Zdarza się, że skrypty przetwarzane są jeden po drugim a kolejność ich wykonania ma zasadnicze znaczenie dla poprawności procesu. Dlatego konieczne jest zrozumienie jak wygląda proces uruchamiania scriptspotów. Szczegółowy opis znajduje się w dodatku B.