Registrační databáze

Potřebujete čas od času umožnit lidem aby se mohli snadno zaregistrovat na nějakou akci? Máte problém jak to celé zařídit? Pak je tu řešení v podobě jednoduché registrační databáze.

Čas od času se prostě hodí něco jednoduchého, kde administrátor vyplní termíny, na které je možné se hlásit a počet volných míst na každém z nich. Pak už jenom poslat uživatelům odkaz na internetovou stránku a nechat je, ať si vyberou nejvhodnější termín a přihlásí se na něj.

Registration database

Z pohledu administrátora to už snad ani jednodušší být nemůže – stáhnout databázi, nahrát ji na server, podepsat a nastavit přístupová práva (Anonymous je autor s možností vytvářet dokumenty).

Otevřít databázi, v pohledu Setup nastavit potřebné hodnoty v dokumentu (který zde musí být právě jeden) – dny a časy, ve kterých se bude možné registrovat, emailová adresa databáze (pokud chcete, aby uživatelé museli registraci potvrdit odpovědí na email; v tom případě je třeba také v Domino Directory nastavit databázi jako mail-in databázi) a texty emailů, které budou z aplikace chodit – poté co se lidé zaregistrují, když svou registraci potvrdí, pokud svou registraci zruší a pokud dojde k chybě.

Poslední krok před odesláním odkazu uživatelům – otevřít pohled Slots definitions a nastavit kolik je v kterém čase povoleno registrací. Pokud se vám v poli pro dny a časy nenabízí hodnoty, které jste zadali v Setup dokumentu, zavřete databázi a znovu ji otevřete, vše by mělo být v pořádku.

Pak už jenom odeslat odkaz uživatelům a čekat. Uživatelé to mají snad ještě jednodušší – otevřou zaslanou adresu a v zobrazené tabulce si vyberou, který termín jim vyhovuje nejvíc. Navíc vidí, kolik je v kterém čase celkově míst, kolik jich je ještě volných a kdo se na který čas přihlásil. Kliknout na vybraný termín, v následující tabulce vyplní jméno a email a kliknou na tlačíko. Aplikace otestuje, zda je pořád ještě volné místo a pokud ano tak jim pošle email s textem, který jste nadefinovali. Pokud na něj uživatel odpoví, tak se u jeho registrace nastaví, že je potvrzená.

Vývojáři, kteří se budou chtít podívat do střev aplikace mají svůj úkol také relativně jednoduchý – návrhových prvků je minimum:

  • stránky approved, deleted, emailsent, errorvalues, someonewasquicker – používají se pouze pro zobrazení textu v případě jednotlivých událostí, které jsou snad jasné z názvů stránek 🙂
  • stránka Welcome – hlavní stránka aplikace, která se zobrazí po její otevření na webu. Stránka obsahuje texty, které je možné přepsat dle potřeby a Vypočítávaný text, který generuje vlastní tabulku se seznamem míst. Pro tento účel jsou použity dva vnořené cykly, které procházejí seznam dnů a časů a zjišťují, kolik lidí se na jednotlivé časy již přihlásilo a kolik se přihlásit může.
  • formulář Register – formulář, ve kterém uživatelé vyplňují údaje o sobě. Lze měnit dle potřeby, kontrola povinných polí je řešena polem $$Return, což asi není úplně ideální, ale pro tyto účely dostačuje. V události WebQuerySave je volán agent (Register), který zajišťuje kontrolu volného místa a zaslání emailu uživateli.
  • formulář Setup, Slot – použity pro nastavení aplikace, uživatel s nimi nepřichází do styku.
  • pohledy – ty se dají měnit dle potřeby, pouze je nutné zachovat jejich aliasy a neměnit pořadí prvních dvou sloupců v pohledu Setup a prvních sloupců v pohledech Slots definistion a Slots.
  • agenti (ApproveWeb) a (DeleteWeb) – jsou voláni příslušnými tlačítky na formuláři Register a mění status dokumentu a zasílají emaily uživatelům o změně.  
  • agent (Register) je volán po uložení dokumentu formulářem Register, otestuje zda je pořád volné místo a pokud ano tak dokument uloží a pošle email uživateli.
  • agent approve – je spouštěn po příchodu nového emailu a mění status registrace konkrétního uživatele. Pro zjištění emailové adresy používá pole SMTPOriginator, který existuje pouze u emailů došlých přes SMTP. Při použití v čistě LN prostředí je třeba tuto část upravit nebo nechat uživatele registraci potvrzovat pomocí webového odkazu.
  • scriptová knihovna Functions – obsahuje jedinou funkci, která nahrazuje proměnné v textech emailů jejich pravými hodnotami. V textech emailů je tedy možné používat následující proměnné: $Day$, $Time$, $Name1$, $Name2$ and $ID$, které reprezentuje UNID dokumentu registrace.
  • style sheet main.css – jednoduchý style sheet pro definice vzhledu.

Pokud databázi použijete tak budu jenom rád, když dáte vědět.

Databáze ke stažení.

Leave a Reply