Formuláre
Momentalne nejde. Je to dlhodobo neudrzovane, zrejme to uz ani nepojde. |
Aby ste toto tu porozumeli, musíte mať približnú predstavu o tom, čo to je HTML formulár a ako funguje.
Čo to je
Formuláre do MoinMoin dorobil v rámci bakalárskej práce študent FEI STU Peter Bódi. Sú implementované ako sústava špeciálnych makier a akcií, ktoré umožňujú autorom wiki stránok (teda aj Vám) umiestniť na stránku formulár, ktorý slúži na zber údajov.
Na čo je to dobré
Typické aplikácie v našich podmienkach sú zrejme:
- zbieranie vypracovaných zadaní od študentov
- registrácia na konferenciu.
Pôvodný zdroj
Pôvodná dokumentácia a aj zdrojové kódy sú na týchto stránkach
Príklady
Toto je formulár, ktorý umožní zbierať komentáre od návštevníkov tejto stránky.
<<FormHeader(submitcsv,targetfile=komentare.csv)>> || Meno: || <<FormText(Meno,maxlength=20)>> || || Priezvisko: || <<FormText(Priezvisko,maxlength=30)>> || || Komentár: || <<FormTextarea(Komentar,rows=10,cols=20)>> || <<FormSubmit(Zaslať)>> <<FormFooter()>>
Nazbierané údaje sú uložené tu: komentare.csv
Ďalšie príklady
Ako sa to používa
Dokumentácia je pomerne strohá, preto sa tu pokúsim vysvetliť, o čo ide.
Ak chceme zbierať dáta nejakým formulárom musia nám byť dopredu jasné dve veci.
- Aké dáta chceme zbierať.
- Čo s nimi po zaslaní robiť.
Najprv sa venujme druhému bodu.
Čo s dátami po zaslaní
Bódiho systém umožňuje urobiť s dátami dve veci (aj obe naraz).
- Poslať ich v e-maile na nejakú adresu.
Uložiť ich do súboru typu CSV, ktorý je v prílohe nejakej stránky.
FormHeader
Na určenie toho, čo s dátami po zaslaní, slúži makro FormHeader.
Akcia submitemail
Ak chceme obsah formulára posielať na adresu konferencia@math.sk, uvedieme takéto parametre
<<FormHeader(submitemail,targetemail=konferencia@math.sk>>
Akcia submitcsv
Ak cheme, aby sa dáta ukladali do súboru data.csv priloženého k tej stránke, na ktorej je formulár, uvedieme takéto parametre
<<FormHeader(submitcsv,targetfile=data.csv>>
To však znamená, že obsah súboru data.csv si môžu všetci záujemci prečítať, čo nie je vždy žiadúce.
Ak chceme, aby sa dáta ukladali do súboru data.csv priloženého k stránke !SecretData,uvedieme takéto parametre.
<<FormHeader(submitcsv,targetfile=data.csv,targetpage=SecretPage>>
SecretPage potom nastavíme ako internú stránku.
CSV súbory sa dajú importovať do OpenOffice, a uložiť potom ako XLS. Kódovanie diakritiky je UTF-8. Myslím, že to ide importovať aj priamo do Excelu. |
Akcia submitattachment
Ak chceme od užívateľov abu nám nielen vyplnili formulár, ale aj zaslali nejaké súbory (vypracované zadania, abstrakty na konferenciu), musíme použiť akciu submitattachment.
Toto
<<FormHeader(submitcsv,submitattachment,targetfile=data.csv)>>
zabezpečí, že sa zaslané súbory uložia ako prílohy na stránku, na ktorej je formulár. Ostatné položky formulára sa uložia do prílohy data.csv.
Je možné aj v tomto prípade uviesť targetpage=SecretPage, dáta potom pôjdu tam.
Aké dáta chceme zbierať
Všetky podporované formulárové elementy sú tu (Formulár nie je funkčný, lebo nemá FormHeader ani FormFooter
|| First name: || <<FormText(First name,maxlength=50)>> || || Last name: || <<FormText(Last name,maxlength=50)>> || || Gender: || Male<<FormRadio(Gender, Male)>> Female<<FormRadio(Gender, Female)>> || || Status: || <<FormSelect(Status, Single, Married, Divorced)>> || || Children: || <<FormCheckbox(Children, Yes, No)>> || || Note: || <<FormTextarea(Note, rows=10, cols=20)>> || || Attachment: || <<FormUpload(Attachment)>> ||
First name: |
|
Last name: |
|
Gender: |
Male Female |
Status: |
|
Children: |
|
Note: |
|
Attachment: |
|