Drupal 5.x - Simplenews modul

A Drupal 5.x Simplenews modul kezeléséhez néhány információ

A vizsgált verzió:
Simplenews: 5.x-1.5
Simplenews Template: 5.x-1.2

Adatbázis táblákról pár adat:

TÁBLA:
simplenews_newsletters

Hírlevél-példányok
nid
A hírlevél-példányt megvalósító node (node táblához)
tid
A hírlevél azonosítója. Ezt használjuk a megrendelőkkel való összekapcsolásra a simplenews_snid_tid táblában.
s_status
A hírlevél-példány küldési állapota: 0=szerkesztés alatt áll 1=küldés alatt áll 2=kiküldve
vid, s_format, priority, receipt
Egyéb mezők...
TÁBLA:
simplenews_subscriptions

A hírlevél megrendelők listája.
Egy kiküldés során a s_status 0-1-0 sorrendben változik.
A name mezőt és megjegyzéseket utólag mi vettük fel.
snid A megrendelő azonosítója. Ezt használjuk a hírlevelekkel való összekapcsolásra a simplenews_snid_tid táblában.
Automatikus sorszám (serial)
a_status
Aktív-e a megrendelő
s_status
A levélküldés státusza: 0=alap 1=sikerült_kiküldeni 0=visszaáll_alapba
mail
Email cím
uid
A Drupal-user azonosítója, Ha az adott email-címmel van regisztrált felhasználó.
fname
A megrendelő neve (amelyet feliratkozáskor megadott) - Ezt a mezőt utólag magunk vettük fel, azaz saját kiegészítés.
TÁBLA:
simplenews_snid_tid

Hírlevelek és megrendelőik kapcsolótáblája
snid
Megrendelő azonosítója (simplenews_subscriptions tábla)
tid
Hírlevél-példány azonosítója (simplenews_newsletters tábla)

 A működés röviden:

Amíg a hírlevél példány szerkesztés alatt áll, addig a simplenews_newsletters táblában a s_status mező 0 értékű, azaz "Nincs elküldve".
Ezt az értéket a teszt-kiküldések nem befolyásolják.
Ha kiküldjük a hírlevelet a feliratkozottaknak, akkor a s_status mező értéke 1-re vált, azaz "Kiküldés alatt áll" és egyúttal a hozzájuk tartozó feliratkozások simplenews_subscriptions táblabeli s_status mező-értéke akkor vált 1-re, ha kiküldtük a hírlevelet az adott feliratozottnak, és ha mindenkinek kiment, akkor visszaáll nullára.
Ha minden feliratkozottnak sikerült elküldeni a hírlevelet, akkor vált a s_status mező értéke 2-re, azaz "Kiküldve".
Ez azt is jelenti, hogy ha a hírlevet újra szerkeszthetővé akarjuk tenni, elég ezt a mezőt 0-ra állítani.

A kiküldés ütemezetten zajlik a cron segítségével. Amint elkezdjük a kiküldést, a hírlevélhez tartozó feliratkozások s_status értéke 1 lesz, azaz "Kiküldésve". A kiküldő mechanizmus azokat hírleveleket és feliratkozottakat vizsgálja, amelyeknél 1-0 az s_status. Azaz ha volt korábbi nem kézbesített hírlevél, a következő cron-futáskor azok is kimennek.
Amint egy címre ki lett küldve a hírlevél, a feliratkozás s_status-a átáll 0-ra. Ha nincs már több címzett, azaz mindnek el lett küldve, azaz az összes s_status-a 1, csak akkor állítja át a rendszer a hírlevél s_status-át 2-re, és állítja vissza az összes feliratkozott s_status-át 0-ra.

Azaz a folyamatban az s_status meztő értéke az alábbiak szerint változik:

Esemény
Hírlevél
simplenews_newsletters
s_status
Feliratkozások (3 feliratkozó)
simplenews_subscriptions
s_status
Alapállapot 0
0, 0, 0
Kiküldést kérünk
1
0, 0, 0
Cron futása
1
1, 0, 0
Cron futása
1
1, 1, 0
Cron futása 1
1, 1, 1
Kiküldve
2 0, 0, 0