Kako narediti gradnik za obrazce
Gradnik za obrazce omogoča ljudem, da oblikujejo svoje obrazce – izberejo polja, nastavijo pravila in objavijo povezavo – nato pa zbira odgovore. V jedru so tri stvari: opredelitev obrazca, shranjena kot podatki, upodabljalnik, ki opredelitev spremeni v delujoč obrazec, ter shramba odgovorov z obvestili in izvozom. Preden ga začnete graditi, preverite, ali ga resnično potrebujete: če potrebujete le kontaktni obrazec ali obrazec za prijavo, ta obrazec izdelajte neposredno in gradnik preskočite.
Ali sploh potrebujete gradnik?
| Vaša situacija | Zgradite to |
|---|---|
| En ali dva obrazca, ki se redko spreminjata | Sam obrazec. Glejte kako dodati kontaktni obrazec. |
| Veliko obrazcev, ki jih ustvarjajo nerazvijalci v vaši ekipi | Interni gradnik za obrazce |
| Obrazci so del vašega izdelka (stranke jih ustvarjajo same) | Gradnik za obrazce z računi, omejitvami in vdelavo |
| Predvsem želite rezultate anket in grafe | Aplikacija za ankete |
Gradnik je večji projekt kot en obrazec, saj mora vsak tip polja delovati v urejevalniku, javnem obrazcu, preverjanju, shranjevanju, obvestilih in izvozu.
Kaj potrebuje gradnik za obrazce
Opredelitve obrazcev
Vsak obrazec shranite kot seznam polj, shranjen kot strukturirani podatki (JSON v stolpcu Postgres dobro deluje). Polje je lahko videti takole:
- id – stabilen ID, ki se nikoli ne spremeni, tudi če se oznaka
- tip – besedilo, e-pošta, število, dolgo besedilo, izbira, potrditveno polje, datum, datoteka
- oznaka in besedilo pomoči
- obvezno, najmanj / največ, dovoljeni tipi datotek
- možnosti za polja izbire
- vrstni red in po želji pogoj („prikaži le, če je polje X enako Y“)
Urejevalnik ureja ta seznam; javni obrazec ga bere. To je ves trik: za vsak obrazec ni potrebne nove kode.
Odgovori
- Odgovori – obrazec, različica obrazca, čas oddaje, odgovori, ključeni po ID-ju polja, stanje (novo, prebrano, arhivirano).
- Datoteke – naložene datoteke spadajo v shrambo datotek, odgovor pa hrani le sklic nanje, nikoli znotraj vrstice v bazi.
Strani
- Seznam obrazcev s številom odgovorov.
- Urejevalnik – dodajanje, preurejanje in nastavljanje polj, poleg tega živ predogled.
- Nastavitve – potrditveno sporočilo ali preusmeritev, e-poštna obvestila, datumi odprtja in zaprtja, omejitev števila odgovorov.
- Javni obrazec na lastni povezavi in različica za vdelavo na drugih spletnih straneh.
- Tabela odgovorov z iskanjem, stanjem, podrobnim pogledom in izvozom v CSV.
Odločitve in kompromisi
Različice. Nekdo bo po 200 odgovorih preimenoval „Telefon“ v „Mobilna številka“. Če odgovore shranjujete po ID-ju polja in vsak odgovor beleži različico obrazca, stari odgovori še vedno pravilno prikazujejo podatke. Brez tega se vaši podatki tiho pomešajo.
Preverjanje poteka dvakrat. Polja preverite v brskalniku za hitro povratno informacijo, nato še na strežniku, saj lahko kdorkoli pošlje podatke neposredno na vašo končno točko. Odločilno je preverjanje na strežniku.
Nalaganje datotek. Prinese stroške shrambe, omejitve velikosti, preverjanje tipov datotek in vprašanja zasebnosti (življenjepisi, osebni dokumenti, zdravniški obrazci). Omejite tipe in velikosti ter naložene datoteke privzeto naredite zasebne, tako da jih lahko berejo le lastniki obrazca. Glejte kako dodati nalaganje datotek v aplikacijo.
Obvestila. Pričakovano je „pošlji mi e-pošto, ko nekdo odda obrazec“. Za to potrebujete ponudnika e-pošte in API ključ; glejte kako pošiljati e-pošto iz aplikacije.
Neželena pošta. Javni obrazec bodo našli roboti. Uporabite skrito polje za past (ljudje ga ne vidijo, roboti ga izpolnijo), omejitve zahtevkov na naslov IP, preverjanje na strežniku in po potrebi storitev CAPTCHA.
Vdelava. Vdelava prek iframe je najpreprostejši in najvarnejši način, da obrazec postavite na tujo spletno stran. Vdelava s skripto izgleda bolj domače, vendar jo je težje zgraditi in zavarovati.
Pogojna logika. „Prikaži to polje le, če …“ je priljubljeno, vendar podvoji testiranje. Dodajte jo, ko so osnove trdne.
Prvi poziv, ki deluje
Zgradi spletno aplikacijo za gradnjo obrazcev za mojo ekipo. Prijavljeni uporabniki ustvarjajo obrazce v urejevalniku z živim predogledom. Tipi polj: kratko besedilo, dolgo besedilo, e-pošta, število, datum, enojna izbira, potrditvena polja in nalaganje datotek. Vsako polje ima stabilen ID, oznako, besedilo pomoči, oznako obveznosti in pravila glede tipa (najmanj/največ, možnosti, dovoljeni tipi datotek in omejitev velikosti 10 MB). Opredelitev obrazca shranite kot JSON s številko različice, ki se poveča ob vsaki objavi. Vsak obrazec dobi javno povezavo in kodo za vdelavo prek iframe. Oddane odgovore preverite na strežniku glede na objavljeno različico, odgovore shranite po ID-ju polja z različico obrazca, naložene datoteke pa v zasebno shrambo datotek. Dodajte skrito polje za past in omejitev zahtevkov na naslov IP. Lastniki obrazcev vidijo tabelo odgovorov s stanjem (novo, prebrano, arhivirano), podrobni pogled in izvoz v CSV. Vse shranite v bazo podatkov. Pogojno logiko in obvestila po e-pošti pustite za pozneje.
Koraki gradnje
- Urejevalnik in opredelitev. Izdelajte obrazec z vsemi tipi polj in si z agentom oglejte shranjeni JSON. Ali je čist in stabilen?
- Javni obrazec. Izpolnite ga na telefonu. Preverite sporočila o preverjanju in potrditveni zaslon.
- Preverjanje na strežniku. Prosite agenta, naj pošlje odgovor, ki krši pravila, neposredno na strežnik mimo strani. Zavrniti bi ga moral.
- Različice. Po nekaj odgovorih preimenujte in preuredite polja. Stari odgovori morajo še vedno prikazovati prave podatke.
- Nalaganje. Preizkusite preveliko datoteko in datoteko napačnega tipa. Preverite, da tujec ne more odpreti naložene datoteke tako, da ugiba povezavo.
- Tabela odgovorov in izvoz. Preverite izvoz v CSV z vejicami, prelomi vrstic in naglašenimi znaki v odgovorih.
- Obvestila, vdelave, logika. Dodajajte jih eno za drugo.
Pogoste napake
- Shranjevanje odgovorov po oznaki. Oznake se spreminjajo. Uporabljajte stabilne ID-je polj.
- Preverjanje samo v brskalniku. Je udobje, ne zaščita.
- Javno dostopne naložene datoteke. Obrazci pogosto zbirajo dokumente, ki jih ljudje ne želijo razkriti.
- Brez zaščite pred neželeno pošto. Javni obrazec se lahko v nekaj dneh napolni z smetmi.
- Gradnja gradnika za en sam obrazec. Zgradite obrazec.
- Neomejeno število odgovorov v javnem izdelku. Če stranke ustvarjajo obrazce, nastavite omejitve po paketu, sicer lahko en priljubljen obrazec napihne račun za gostovanje.
Kdaj je boljši pripravljen izdelek
Gostovana orodja za obrazce so za večino potreb odlična in poceni. Že rešujejo vdelavo, neželeno pošto, plačila, integracije in dostopnost za desetine tipov polj. Če vaši ekipi preprosto manjkajo obrazci, uporabite enega – glejte alternative Typeformu in alternative Google Forms.
Gradite lastnega, kadar morajo odgovori živeti poleg vaših podatkov (napajanje CRM-ja ali portala za stranke, ki ga upravljate), kadar potrebujete poteke dela po oddaji, ki orodja ne zmorejo, kadar je lokacija ali lastništvo podatkov zahteva, ali kadar so obrazci funkcija izdelka, ki ga prodajate.
Gradnja z Mythexom
Na Mythexu gradnik opišete v klepetu in urejevalnik ter javni obrazec preizkusite drug ob drugem v živem predogledu. Mythex za opredelitve obrazcev in odgovore doda namensko bazo podatkov, shrambo datotek pa samodejno omogoči shranjevanje datotek, kadar aplikacija potrebuje nalaganje (na paketu Free omejeno na 1 GB). Obvestila po e-pošti gredo prek ponudnika, ki ga povežete s svojim ključem. Aplikacijo objavite na povezavi mythex.ai ali na lastni domeni v paketu Pro, javne povezave do obrazcev pa delujejo od tam.
Vprašanja
Kako gradnik za obrazce shranjuje obrazce?
Običajno kot opredelitev obrazca: seznam polj, vsako s tipom, oznako, pravili za preverjanje in vrstnim redom, shranjen kot strukturirani podatki, na primer JSON. Ista opredelitev poganja tako urejevalnik kot javni obrazec, zato dodajanje polja ne zahteva nove kode.
Kako naj shranjujem odgovore na obrazce?
Vsak odgovor shranite skupaj s sklicem na različico obrazca, v kateri je bil oddan, odgovore pa ključite po ID-ju polja. Tako poznejše preimenovanje ali preurejanje polja ne pokvari starih odgovorov.
Kako preprečim neželeno pošto na javnem obrazcu?
Združite skrito polje za past (honeypot), omejitev števila zahtevkov na naslov IP, preverjanje na strežniku in, če neželena pošta vztraja, storitev CAPTCHA. Nikoli ne zanašajte se le na preverjanja, ki se izvedejo v brskalniku.
Potrebujem poln gradnik za obrazce ali le en obrazec?
Če potrebujete en ali dva fiksna obrazca, izdelajte kar ta obrazca – to je veliko preprosteje. Gradnik se splača, ko morajo nestrokovni uporabniki ustvarjati in spreminjati veliko obrazcev, ne da bi prosili razvijalca.