Požadavek #1017
otevřený
Přidáno uživatelem David Raška před více než 8 roky(ů).
Aktualizováno před více než 8 roky(ů).
Popis
Současný stav systému upozorňování je neudržitelný pro budoucí změny. Obsahuje hromadu duplikujícího se kódu (send_email a send_emails, send_sms_message a send_sms_messages) a množství různě zanořených metod, přes které se upozornění aktivují.
Například implementovat historii aktivovaných upozornění (#884) za současného stavu systému by bylo téměř nemožné.
Je nutné celkově zjednodušit a zpřehlednit způsob aktivace.
- související s Požadavek #884: [MODUL] Historie interakcí s členem/zákazníkem přidán
- související s Požadavek #987: Upozornění na nové členy daného typu přidán
Ano, je to kvůli tomu, že se volají různé statické metody z bůhví kama.
Pro aktivaci upozornění by se měla vytvořit servisní třída.
Zkus navrhnout její PHP rozhraní.
Zároveň buď prosím více specifický, s čím si měl problém atp.
Pokud se bude předělávat rozhraní je potřeba nadefinovat cíle, analyzovat problémy stávajícího stavu, navrhnout řešení (minimálně návrh API) a odhadnout dopady na systém (co se bude muset modifikovat a v jaké míře).
Ondřej Fibich napsal:
Zároveň buď prosím více specifický, s čím si měl problém atp.
Problém je například v tom, že aktivace zprávy (sms, e-mail, přesměrování) pro jednoho člena je potřeba uložit jako jeden záznam (aktivovaly se najednou), tudíž se musí ukládat v místě volání Notifications_Controller::notify(). Výsledný text, který se posílá v SMS, nebo E-mailem se ale tvoří až v metodách Message_Model::send_emails() a Message_Model::send_sms_messages(), což je v call stacku o 2 úrovně níž, než se musí ukládat historie. Navíc může mít některý člen bílou listinu, která se ale kontroluje v metodě notify, takže při ukládání historie vůbec nepoznám jestli členovi byla zpráva vůbec aktivována.
David Raška napsal:
Ondřej Fibich napsal:
Zároveň buď prosím více specifický, s čím si měl problém atp.
Problém je například v tom, že aktivace zprávy (sms, e-mail, přesměrování) pro jednoho člena je potřeba uložit jako jeden záznam (aktivovaly se najednou), tudíž se musí ukládat v místě volání Notifications_Controller::notify(). Výsledný text, který se posílá v SMS, nebo E-mailem se ale tvoří až v metodách Message_Model::send_emails() a Message_Model::send_sms_messages(), což je v call stacku o 2 úrovně níž, než se musí ukládat historie. Navíc může mít některý člen bílou listinu, která se ale kontroluje v metodě notify, takže při ukládání historie vůbec nepoznám jestli členovi byla zpráva vůbec aktivována.
A které informace se budou v rámci #884 evidovat? Chtělo by ten požadavek rozšířit o výčet evidovaných prvků.
Když kliknu na checkbox 2x, tak už nemůžu psát do polí..
Ondřej Fibich napsal:
Když kliknu na checkbox 2x, tak už nemůžu psát do polí..
Co? Jaky checkbox?
- Přiřazeno nastaven na David Raška
Také k dispozici: Atom
PDF