Hogyan építsen űrlapkészítőt
Az űrlapkészítő lehetővé teszi, hogy az emberek saját űrlapokat tervezzenek — mezőket választanak, szabályokat állítanak be, linket tesznek közzé —, majd gyűjti a beküldéseket. A háttérben három dolog van: egy űrlapdefiníció, amely adatként tárolódik, egy megjelenítő, amely a definícióból működő űrlapot készít, és egy beküldéstár értesítésekkel és exporttal. Mielőtt belefog, ellenőrizze, valóban szüksége van-e rá: ha csak egy kapcsolati vagy jelentkezési űrlapra van szüksége, építse azt közvetlenül, és hagyja ki a készítőt.
Szüksége van egyáltalán készítőre?
| Az Ön helyzete | Ezt építse |
|---|---|
| Egy-két űrlap, ami ritkán változik | Maguk az űrlapok. Lásd: kapcsolatfelvételi űrlap hozzáadása. |
| Sok űrlap, amelyeket nem fejlesztő munkatársak hoznak létre | Belső űrlapkészítő |
| Az űrlapok a termékének részei (az ügyfelek hoznak létre űrlapokat) | Űrlapkészítő fiókokkal, korlátokkal és beágyazással |
| Főleg felmérések eredményeit és diagramokat akar | Egy felmérésalkalmazás |
A készítő nagyobb projekt, mint egy űrlap, mert minden mezőtípusnak működnie kell a szerkesztőben, a nyilvános űrlapon, az ellenőrzésben, a tárolásban, az értesítésekben és az exportban.
Mit kell tudnia egy űrlapkészítőnek
Űrlapdefiníciók
Minden űrlapot mezők listájaként tároljon, strukturált adatként (JSON egy Postgres-oszlopban jól működik). Egy mező például így nézhet ki:
- id — stabil azonosító, amely soha nem változik, még ha a címke igen
- típus — szöveg, e-mail, szám, hosszú szöveg, választólista, jelölőnégyzet, dátum, fájl
- címke és súgószöveg
- kötelező, min / max, engedélyezett fájltípusok
- opciók választólista mezőknél
- sorrend, és opcionálisan egy feltétel („csak akkor jelenjen meg, ha X mező értéke Y”)
A szerkesztő ezt a listát szerkeszti; a nyilvános űrlap ezt olvassa. Ez a lényeg: nincs szükség új kódra minden űrlaphoz.
Beküldések
- Beküldések — űrlap, űrlapverzió, beküldés ideje, válaszok mező-azonosító szerint, állapot (új, megnézett, archivált).
- Fájlok — a feltöltött fájlok a fájltárolóba kerülnek, a beküldés pedig csak hivatkozást tárol, soha nem az adatbázissorban.
Oldalak
- Űrlaplista beküldésszámokkal.
- Szerkesztő — mezők hozzáadása, átrendezése, beállítása, élő előnézettel az oldal mellett.
- Beállítások — visszaigazoló üzenet vagy átirányítás, értesítő e-mailek, nyitási és zárási dátumok, beküldési korlát.
- Nyilvános űrlap saját linken, és beágyazható verzió más weboldalakhoz.
- Beküldések táblázata kereséssel, állapottal, részletes nézettel és CSV-exporttal.
Döntések és kompromisszumok
Verziókezelés. Valaki 200 beküldés után át fogja nevezni a „Telefon” mezőt „Mobilszám”-ra. Ha a válaszok mező-azonosító szerint vannak tárolva, és minden beküldés rögzíti az űrlapverziót, a régi beküldések is helyesen jelennek meg. Enélkül az adatai csendben összekeverednek.
Az ellenőrzés kétszer fut. A mezőket a böngészőben ellenőrizze a gyors visszajelzésért, és újra a szerveren, mert bárki küldhet adatot közvetlenül a végpontra. A szerveroldali ellenőrzés a döntő.
Fájlfeltöltések. Tárolási költséggel, méretkorláttal, fájltípus-ellenőrzéssel és adatvédelmi kérdésekkel jár (önéletrajzok, személyi igazolványok, orvosi űrlapok). Korlátozza a típusokat és a méreteket, és alapértelmezésben tegye a feltöltött fájlokat privátussá, csak az űrlap tulajdonosai olvashatják. Lásd: fájlfeltöltés hozzáadása az alkalmazáshoz.
Értesítések. Elvárás, hogy „e-mailt kapjak, amikor valaki beküld egy űrlapot”. Ehhez e-mail-szolgáltató és API-kulcs kell; lásd: e-mailek küldése az alkalmazásból.
Spam. A nyilvános űrlapokat a botok is megtalálják. Használjon csalimezőt (honeypot — az embereknek rejtett, a botok által kitöltött mezőt), IP-címenkénti sebességkorlátot, szerveroldali ellenőrzést, és szükség esetén CAPTCHA-szolgáltatást.
Beágyazás. Egy iframe-es beágyazás a legegyszerűbb és legbiztonságosabb módja annak, hogy űrlapot tegyen más weboldalára. A szkriptes beágyazás jobban illeszkedik az oldalhoz, de nehezebb megépíteni és biztonságosan tartani.
Feltételes logika. A „csak akkor jelenjen meg, ha…” típusú mezők népszerűek, de megsokszorozzák a tesztelést. Az alapok stabilizálása után adja hozzá.
Egy első prompt, ami működik
Építsen űrlapkészítő webalkalmazást a csapatom számára. A bejelentkezett felhasználók élő előnézettel rendelkező szerkesztőben hoznak létre űrlapokat. Mezőtípusok: rövid szöveg, hosszú szöveg, e-mail, szám, dátum, egyes választás, jelölőnégyzetek és fájlfeltöltés. Minden mezőnek van stabil azonosítója, címkéje, súgószövege, kötelező jelzője és típusspecifikus szabályai (min/max, opciók, engedélyezett fájltípusok, és 10 MB-os méretkorlát). Az űrlapdefiníciót JSON-ként tárolja egy verziószámmal, amely minden közzétételkor nő. Minden űrlap kap nyilvános linket és iframe-es beágyazó kódot. A beküldéseket szerveren ellenőrizze a közzétett verzió ellen, a válaszokat mező-azonosító szerint, az űrlapverzióval együtt tárolja, a feltöltött fájlokat pedig privát fájltárolóban helyezze el. Adjon hozzá egy rejtett csalimezőt és IP-címenkénti sebességkorlátot. Az űrlap tulajdonosai látnak egy beküldési táblázatot állapottal (új, megnézett, archivált), részletes nézettel és CSV-exporttal. Mindent adatbázisban tároljon. A feltételes logikát és az e-mail-értesítéseket hagyja későbbre.
Építési lépések
- Szerkesztő és definíció. Építsen űrlapot minden mezőtípussal, és ellenőrizze az ügynökkel a mentett JSON-t. Tiszta és stabil?
- Nyilvános űrlap. Töltse ki telefonon. Ellenőrizze az ellenőrzési üzeneteket és a visszaigazoló képernyőt.
- Szerveroldali ellenőrzés. Kérje meg az ügynököt, hogy küldjön a szabályokat megsértő beküldést közvetlenül a szervernek, az oldalt kihagyva. Vissza kell utasítania.
- Verziókezelés. Nevezzen át és rendezzen át mezőket néhány beküldés után. A régi beküldések továbbra is a helyes válaszokat mutassák.
- Feltöltések. Próbáljon ki egy túl nagy és egy rossz típusú fájlt. Győződjön meg róla, hogy egy idegen nem tudja megnyitni a feltöltött fájlt a link kitalálásával.
- Beküldési táblázat és export. Ellenőrizze a CSV-exportot vesszőkkel, sortörésekkel és ékezetes karakterekkel a válaszokban.
- Értesítések, beágyazások, logika. Egyesével adja hozzá őket.
Gyakori hibák
- Válaszok tárolása címke szerint. A címkék változnak. Használjon stabil mező-azonosítókat.
- Csak böngészőben futó ellenőrzés. Ez kényelmi funkció, nem védelem.
- Nyilvános feltöltött fájlok. Az űrlapok gyakran olyan dokumentumokat gyűjtenek, amelyeket az emberek nem szeretnének nyilvánosságra hozni.
- Nincs spamvédelem. Egy nyilvános űrlap napokon belül megtelhet szeméttel.
- Készítőt építeni egyetlen űrlaphoz. Építse meg magát az űrlapot.
- Korlátlan beküldés nyilvános terméken. Ha az ügyfelek hoznak létre űrlapokat, állítson be csomagonkénti korlátokat, különben egy népszerű űrlap megemelheti a tárhelyszámlát.
Mikor a kész termék a jobb választás
A hosztolt űrlapeszközök kiválóak és olcsók a legtöbb igényhez. Már megoldották a beágyazást, a spamet, a fizetéseket, az integrációkat és az akadálymentességet tucatnyi mezőtípusnál. Ha a csapatának csak űrlapokra van szüksége, használjon egyet — lásd: Typeform-alternatívák és Google Forms-alternatívák.
Saját megoldást akkor építsen, ha a beküldéseknek a saját adataival együtt kell élniük (egy CRM vagy ügyfélportál táplálásához, amelyet Ön üzemeltet), ha a beküldés utáni munkafolyamatokra van szükség, amelyeket az eszközök nem tudnak, ha az adatok helye vagy tulajdonjoga követelmény, vagy ha az űrlapok eladott termékének funkciói.
Építés a Mythexszel
A Mythexben a készítőt a chatben írja le, és az élő előnézetben egymás mellett tesztelheti a szerkesztőt és a nyilvános űrlapot. A Mythex dedikált adatbázist ad az űrlapdefinícióknak és a beküldéseknek, a fájltárolót pedig automatikusan bekapcsolja, ha az alkalmazásnak feltöltésre van szüksége (az ingyenes csomagban 1 GB-ra korlátozva). Az értesítő e-mailek az Ön saját kulcsával csatlakoztatott szolgáltatón mennek keresztül. Közzétegye az alkalmazást egy mythex.ai linken, vagy a Pro csomagban a saját domainjén, és a nyilvános űrlap-linkek onnan működnek.
Kérdések
Hogyan tárolja egy űrlapkészítő az űrlapokat?
Általában űrlapdefinícióként: mezők listájaként, amelyek mindegyikének van típusa, címkéje, ellenőrzési szabálya és sorrendje, strukturált adatként, például JSON-ben mentve. Ugyanez a definíció hajtja a szerkesztőt és a nyilvános űrlapot is, így új mező hozzáadásához nincs szükség új kódra.
Hogyan kell tárolni az űrlap-beküldéseket?
Mentse el minden beküldésnél a hivatkozást arra az űrlapverzióra, amellyel készült, és a válaszokat a mező azonosítója szerint kulcsolva. Így egy mező későbbi átnevezése vagy átrendezése nem töri el a régi beküldéseket.
Hogyan állíthatom meg a spamet egy nyilvános űrlapon?
Kombinálja a rejtett csalimezőt (honeypot), az IP-címenkénti sebességkorlátozást, a szerveroldali ellenőrzést, és ha a spam továbbra is fennáll, egy CAPTCHA-szolgáltatást. Soha ne támaszkodjon csak a böngészőben futó ellenőrzésekre.
Teljes értékű űrlapkészítőre van szükségem, vagy csak egy űrlapra?
Ha egy-két rögzített űrlapra van szüksége, építse meg közvetlenül azokat — ez sokkal egyszerűbb. Az űrlapkészítő akkor éri meg, ha nem fejlesztő munkatársak sok űrlapot akarnak létrehozni és módosítani fejlesztő megkérdezése nélkül.