Si të ndërtosh një ndërtues formularësh
Një ndërtues formularësh u lejon njerëzve të dizajnojnë formularët e tyre — zgjedhin fusha, vendosin rregulla, publikojnë një lidhje — dhe më pas mbledh përgjigjet. Në themel ka tre gjëra: një përkufizim formulari i ruajtur si të dhëna, një renderues që e kthen përkufizimin në një formular që funksionon, dhe një depo përgjigjesh me njoftime dhe eksport. Para se të ndërtosh një të tillë, kontrollo që të të duhet vërtet: nëse të duhet vetëm një formular kontakti ose aplikimi, ndërtoje atë formular drejtpërdrejt dhe kalo ndërtuesin.
A të duhet vërtet një ndërtues?
| Situata jote | Ndërto këtë |
|---|---|
| Një ose dy formularë që ndryshojnë rrallë | Vetë formularët. Shih si të shtosh një formular kontakti. |
| Shumë formularë, të krijuar nga persona jo-zhvillues në ekipin tënd | Një ndërtues formularësh të brendshëm |
| Formularët janë pjesë e produktit tënd (klientët i krijojnë vetë) | Një ndërtues formularësh me llogari, kufij dhe integrim |
| Të intereson kryesisht rezultati i sondazheve dhe grafikët | Një aplikacion sondazhi |
Një ndërtues është projekt më i madh se një formular, sepse çdo lloj fushe duhet të funksionojë në redaktor, në formularin publik, në validim, ruajtje, njoftime dhe eksport.
Çfarë i duhet një ndërtuesi formularësh
Përkufizimet e formularëve
Ruaj çdo formular si një listë fushash, të ruajtura si të dhëna të strukturuara (JSON në një kolonë Postgres funksionon mirë). Një fushë mund të duket kështu:
- id — një ID e qëndrueshme që nuk ndryshon kurrë, edhe nëse etiketa ndryshon
- type — tekst, email, numër, tekst i gjatë, zgjedhje, kutia e zgjedhjes, datë, skedar
- label dhe tekst ndihmës
- i detyrueshëm, min / max, llojet e lejuara të skedarëve
- opsionet për fushat e zgjedhjes
- renditja, dhe opsionalisht një kusht („shfaq vetëm nëse fusha X është Y“)
Redaktori e modifikon këtë listë; formularin publik e lexon. Kjo është e gjithë mënyra: asnjë kod i ri për çdo formular.
Përgjigjet
- Përgjigjet — formulari, versioni i formularit, koha e dërgimit, përgjigjet të lidhura me ID-në e fushës, statusi (të reja, të lexuara, të arkivuara).
- Skedarët — skedarët e ngarkuar i përkasin depos së skedarëve, me përgjigjen që mban vetëm një referencë, kurrë brenda rreshtit të bazës së të dhënave.
Faqet
- Lista e formularëve me numrin e përgjigjeve.
- Redaktuesi — shto, rirendit dhe konfiguro fushat, me një pamje paraprake live pranë.
- Cilësimet — mesazhi i konfirmimit ose ridrejtimi, emailet e njoftimit, datat e hapjes/mbylljes, kufiri i përgjigjeve.
- Formulari publik në lidhjen e vet, dhe një version për t'u futur (embed) në faqe të tjera.
- Tabela e përgjigjeve me kërkim, statusin, pamjen e detajuar dhe eksport CSV.
Vendimet dhe kompromiset
Versionimi. Dikush do ta riemërtojë „Telefoni“ në „Numri i celularit“ pas 200 përgjigjesh. Nëse përgjigjet ruhen sipas ID-së së fushës dhe çdo përgjigje regjistron versionin e formularit, përgjigjet e vjetra shfaqen ende saktë. Pa këtë, të dhënat tona prishen pa u vënë re.
Validimi bëhet dy herë. Kontrollo fushat në shfletues për përgjigje të shpejtë, dhe përsëri në server, sepse çdokush mund t'i dërgojë të dhëna drejtpërdrejt pikës së fundit. Kontrolli në server është ai që vlen.
Ngarkimi i skedarëve. Sjell kosto ruajtjeje, kufizime madhësie, kontroll të llojit të skedarit dhe pyetje private (CV, dokumente identiteti, formularë mjekësorë). Kufizo llojet dhe madhësitë, dhe bëj skedarët e ngarkuar privatë si parazgjedhje, të lexueshëm vetëm nga pronarët e formularit. Shih si të shtosh ngarkim skedarësh në aplikacionin tënd.
Njoftimet. „Më dërgo email kur dikush dërgon një përgjigje“ është e pritshme. Kërkon një ofrues emaili dhe një çelës API; shih si të dërgosh email nga aplikacioni yt.
Spam. Një formular publik do të gjendet nga bote. Përdor një fushë kurth (honeypot), të fshehur nga njerëzit dhe të plotësuar nga botet, kufizime të shpejtësisë për IP, validim në server dhe, nëse nevojitet, një shërbim CAPTCHA.
Integrimi. Një integrim me iframe është mënyra më e thjeshtë dhe më e sigurt për të vendosur një formular në faqen e dikujt tjetër. Një integrim me skript duket më vendas, por është më i vështirë për t'u ndërtuar dhe për t'u siguruar.
Logjika kushtore. „Shfaq këtë fushë vetëm nëse…“ është e njohur dhe shumëfishon testimin. Shtoje pasi bazat të jenë të qëndrueshme.
Një kërkesë e parë që funksionon
Ndërto një aplikacion ndërtues formularësh për ekipin tim. Përdoruesit e hyrë krijojnë formularë në një redaktor me pamje paraprake live. Llojet e fushave: tekst i shkurtër, tekst i gjatë, email, numër, datë, zgjedhje e vetme, kutitë e zgjedhjes dhe ngarkim skedari. Çdo fushë ka një ID të qëndrueshme, etiketë, tekst ndihmës, shenjë të detyrueshme dhe rregulla specifike për llojin (min/max, opsione, llojet e lejuara të skedarëve dhe një kufi madhësie 10 MB). Ruaj përkufizimin e formularit si JSON me një numër versioni që rritet në çdo publikim. Çdo formular merr një lidhje publike dhe një kod integrimi me iframe. Valido përgjigjet në server kundrejt versionit të publikuar, ruaj përgjigjet të lidhura me ID-në e fushës bashkë me versionin e formularit, dhe vendos skedarët e ngarkuar në depo private. Shto një fushë kurth të fshehur dhe një kufi kërkesash për IP. Pronarët e formularëve shohin një tabelë përgjigjesh me statusin (të reja, të lexuara, të arkivuara), një pamje të detajuar dhe eksport CSV. Ruaj gjithçka në një bazë të dhënash. Lër logjikën kushtore dhe njoftimet me email për më vonë.
Hapat e ndërtimit
- Redaktuesi dhe përkufizimi. Ndërto një formular me çdo lloj fushe dhe shiko JSON-in e ruajtur me agjentin. A është i pastër dhe i qëndrueshëm?
- Formulari publik. Plotësoje në një telefon. Kontrollo mesazhet e validimit dhe ekranin e konfirmimit.
- Validimi në server. Kërko nga agjenti të dërgojë drejtpërdrejt te serveri një përgjigje që prish rregullat, duke kaluar faqen. Duhet të refuzohet.
- Versionimi. Riemërto dhe rirendit fushat pas disa përgjigjesh. Përgjigjet e vjetra duhet të shfaqin ende përgjigjet e sakta.
- Ngarkimet. Provo një skedar shumë të madh dhe një me lloj të gabuar. Konfirmo që një i huaj nuk mund ta hapë një skedar të ngarkuar duke hamendësuar lidhjen e tij.
- Tabela e përgjigjeve dhe eksporti. Kontrollo eksportin CSV me presje, ndarje rreshtash dhe karaktere me theks në përgjigje.
- Njoftimet, integrimet, logjika. Shtoji një nga një.
Gabimet e zakonshme
- Ruajtja e përgjigjeve sipas etiketës. Etiketat ndryshojnë. Përdor ID-të e qëndrueshme të fushave.
- Validim vetëm në shfletues. Është një lehtësi, jo mbrojtje.
- Skedarë të ngarkuar publikë. Formularët shpesh mbledhin dokumente që njerëzit nuk do t'i shihnin të ekspozuara.
- Pa mbrojtje nga spam. Një formular publik mund të mbushet me mbeturina brenda ditësh.
- Ndërtimi i një ndërtuesi për një formular të vetëm. Ndërto formularin.
- Përgjigje të pakufizuara në një produkt publik. Nëse klientët krijojnë formularë, vendos kufij sipas planit, ose një formular popullor mund ta ngrejë shumë faturën e hostingut.
Kur një produkt gati është zgjidhja më e mirë
Mjetet e hostuara të formularëve janë të shkëlqyera dhe të lira për shumicën e nevojave. Ato kanë zgjidhur tashmë integrimin, spam-in, pagesat, integrimet dhe aksesueshmërinë për dhjetëra lloje fushash. Nëse ekipi yt ka nevojë vetëm për formularë, përdor një të tillë — shih alternativat e Typeform dhe alternativat e Google Forms.
Ndërto vetë kur përgjigjet duhet të jetojnë pranë të dhënave të tua (duke ushqyer një CRM ose portal klientësh që administron), kur ke nevojë për rrjedha pune pas dërgimit që mjetet nuk i bëjnë dot, kur vendndodhja ose pronësia e të dhënave është kërkesë, ose kur formularët janë një veçori e një produkti që shet.
Ndërtimi me Mythex
Në Mythex e përshkruan ndërtuesin në chat dhe e teston redaktorin dhe formularin publik njëri pranë tjetrit në pamjen paraprake live. Mythex shton një bazë të dhënash të dedikuar për përkufizimet e formularëve dhe përgjigjet, dhe aktivizon automatikisht ruajtjen e skedarëve kur aplikacioni ka nevojë për ngarkime (i kufizuar në 1 GB në planin Free). Emailet e njoftimit kalojnë nga një ofrues që lidh me çelësin tënd. Publiko aplikacionin te një lidhje mythex.ai, ose te domeni yt në Pro, dhe lidhjet publike të formularëve funksionojnë prej andej.
Pyetje
Si ruan një ndërtues formularësh formularët?
Zakonisht si një përkufizim formulari: një listë fushash, secila me llojin, etiketën, rregullat e validimit dhe renditjen, e ruajtur si të dhëna të strukturuara, si JSON. I njëjti përkufizim i shërben si redaktorit ashtu edhe formularit publik, kështu që shtimi i një fushe nuk kërkon kod të ri.
Si duhet ruajtur përgjigjet e formularit?
Ruaj çdo përgjigje me një referencë për versionin e formularit me të cilin u plotësua dhe përgjigjet të lidhura me ID-në e fushës. Kështu, riemërtimi ose ri-renditja e një fushe më vonë nuk e prish përgjigjet e vjetra.
Si ndaloj spam-in në një formular publik?
Kombino një fushë të fshehtë kurth (honeypot), kufizim të shpejtësisë për adresën IP, validim në server dhe, nëse spam-i vazhdon, një shërbim CAPTCHA. Mos u mbështet kurrë vetëm në kontrolle që funksionojnë në shfletues.
A më duhet një ndërtues i plotë formularësh apo thjesht një formular?
Nëse ke nevojë për një ose dy formularë fiksë, ndërto ato drejtpërdrejt — është shumë më e thjeshtë. Një ndërtues formularësh vlen kur njerëz jo teknikë duhet të krijojnë dhe ndryshojnë shumë formularë pa pyetur një zhvillues.