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 |