كيف تبني منشئ نماذج
يتيح منشئ النماذج لأصحابه تصميم نماذجهم الخاصة، باختيار الحقول، ووضع القواعد، ونشر رابط، ثم يجمع الردود. يتكون من ثلاثة أجزاء: تعريف للنموذج مخزن كبيانات، وعارض يحوّل التعريف إلى نموذج يعمل، ومخزن للردود مع الإشعارات والتصدير. قبل أن تبدأ، تحقق من حاجتك الحقيقية: إذا كنت تحتاج فقط إلى نموذج تواصل أو نموذج تقديم، فابنِ هذا النموذج مباشرةً وتجاوز المنشئ كله.
هل تحتاج منشئاً من الأساس؟
| وضعك | ابنِ هذا |
|---|---|
| نموذج أو اثنان نادراً ما يتغيران | النماذج نفسها. راجع كيفية إضافة نموذج تواصل. |
| نماذج كثيرة ينشئها غير المطورين في فريقك | منشئ نماذج داخلي |
| النماذج جزء من منتجك (يُنشئ العملاء نماذجهم) | منشئ نماذج مع حسابات وحدود وتضمين |
| تريد أساساً نتائج استطلاعات ورسوماً بيانية | تطبيق استطلاعات |
المنشئ مشروع أكبر من النموذج، لأن كل نوع حقل يجب أن يعمل في المحرر، والنموذج العام، والتحقق، والتخزين، والإشعارات، والتصدير.
ما الذي يحتاجه منشئ النماذج
تعريفات النماذج
خزّن كل نموذج كقائمة من الحقول، محفوظة كبيانات منظمة (JSON داخل عمود في Postgres يعمل جيداً). قد يبدو الحقل هكذا:
- id: معرّف ثابت لا يتغير حتى لو تغيّرت التسمية
- type: نص، أو بريد إلكتروني، أو رقم، أو نص طويل، أو قائمة اختيار، أو مربعات اختيار، أو تاريخ، أو ملف
- label ونص المساعدة
- required، وmin / max، وأنواع الملفات المسموحة
- options لحقول الاختيار
- order، واختيارياً condition ("يظهر فقط إذا كان الحقل X هو Y")
المحرر يعدّل هذه القائمة، والنموذج العام يقرؤها. هذه هي الحيلة كلها: لا كود جديد لكل نموذج.
الردود
- الردود: النموذج، ونسخة النموذج، ووقت الإرسال، والإجابات مفهرسة حسب معرّف الحقل، والحالة (جديد، مقروء، مؤرشف).
- الملفات: الملفات المرفوعة تنتمي إلى تخزين الملفات، ويحمل الرد مرجعاً إليها، ولا تُحفظ داخل صف قاعدة البيانات أبداً.
الصفحات
- قائمة النماذج مع عدد الردود.
- المحرر: إضافة الحقول وترتيبها وضبطها، مع معاينة حية بجانبه.
- الإعدادات: رسالة التأكيد أو إعادة التوجيه، وإشعارات البريد، وتواريخ الفتح والإغلاق، وحد الردود.
- النموذج العام على رابطه الخاص، ونسخة قابلة للتضمين في مواقع أخرى.
- جدول الردود مع البحث والحالة وعرض التفاصيل وتصدير CSV.
القرارات والمفاضلات
الإصدارات. سيغيّر أحدهم "الهاتف" إلى "رقم الجوال" بعد 200 رد. إذا خُزّنت الإجابات حسب معرّف الحقل وسجّل كل رد نسخة النموذج، فستظل الردود القديمة تعرض إجاباتها الصحيحة. وبدون ذلك تتداخل بياناتك بصمت.
التحقق يعمل مرتين. تحقق من الحقول في المتصفح لإعطاء ردود فورية، ثم مرة أخرى على الخادم، لأن أي شخص يستطيع إرسال بيانات مباشرة إلى نقطة النهاية الخاصة بك. فحص الخادم هو الذي يُعتد به.
رفع الملفات. يجلب معه تكاليف تخزين، وحدوداً للحجم، وفحص أنواع الملفات، وأسئلة خصوصية (السير الذاتية، والهويات، والنماذج الطبية). حدّد الأنواع والأحجام، واجعل الملفات المرفوعة خاصة افتراضياً، لا يقرؤها إلا أصحاب النماذج. راجع كيفية إضافة رفع الملفات إلى تطبيقك.
الإشعارات. "أرسل لي بريداً عند كل رد" أمر متوقع، ويحتاج إلى مزود بريد ومفتاح API؛ راجع كيفية إرسال البريد الإلكتروني من تطبيقك.
الرسائل المزعجة. النموذج العام سيكتشفه الروبوتات. استخدم حقلاً مخفياً يُصيّد الروبوتات (يراه الروبوت فيملؤه، ولا يراه البشر)، وحدوداً لعدد الطلبات لكل IP، والتحقق من الخادم، وعند الحاجة خدمة CAPTCHA.
التضمين. iframe هو أبسط وأأمن طريقة لوضع نموذج على موقع آخر. أما التضمين بالسكربت فيبدو أكثر اندماجاً، لكنه أصعب في البناء والتأمين.
المنطق الشرطي. "أظهر هذا الحقل فقط إذا…" شائع جداً، لكنه يضاعف الاختبارات. أضفه بعد أن تكون الأساسيات متينة.
أول طلب يعطي نتيجة
ابنِ تطبيق ويب لمنشئ نماذج لفريقي. يُنشئ المستخدمون المسجلون النماذج في محرر مع معاينة حية. أنواع الحقول: نص قصير، ونص طويل، وبريد إلكتروني، ورقم، وتاريخ، واختيار واحد، ومربعات اختيار، ورفع ملف. لكل حقل معرّف ثابت، وتسمية، ونص مساعدة، وعلامة مطلوب، وقواعد خاصة بالنوع (الحد الأدنى والأقصى، والخيارات، وأنواع الملفات المسموحة، وحد حجم 10 ميغابايت). خزّن تعريف النموذج كـ JSON مع رقم نسخة يزداد عند كل نشر. لكل نموذج رابط عام وكود تضمين iframe. تحقق من الردود على الخادم مقابل النسخة المنشورة، وخزّن الإجابات مفهرسة حسب معرّف الحقل مع نسخة النموذج، وضع الملفات المرفوعة في تخزين ملفات خاص. أضف حقلاً مخفياً يُصيّد الروبوتات وحداً لعدد الطلبات لكل IP. يرى أصحاب النماذج جدول ردود بحالة (جديد، مقروء، مؤرشف)، وعرض تفاصيل، وتصدير CSV. خزّن كل شيء في قاعدة بيانات. أجّل المنطق الشرطي والإشعارات البريدية إلى وقت لاحق.
خطوات البناء
- المحرر والتعريف. ابنِ نموذجاً يحتوي على كل أنواع الحقول، وانظر إلى JSON المحفوظ مع الوكيل. هل هو نظيف ومستقر؟
- النموذج العام. املأه من هاتف. تحقق من رسائل التحقق وشاشة التأكيد.
- تحقق الخادم. اطلب من الوكيل إرسال ردّ يكسر القواعد مباشرة إلى الخادم متجاوزاً الصفحة. يجب أن يُرفض.
- الإصدارات. غيّر أسماء الحقول وترتيبها بعد بضعة ردود. يجب أن تظل الردود القديمة تعرض الإجابات الصحيحة.
- الرفع. جرّب ملفاً كبيراً جداً وآخر من نوع خاطئ. تأكد أن شخصاً غريباً لا يستطيع فتح ملف مرفوع بتخمين رابطه.
- جدول الردود والتصدير. تحقق من تصدير CSV مع الفواصل وأسطر جديدة وحروف معلّمة في الإجابات.
- الإشعارات والتضمين والمنطق. أضف كل واحد منها على حدة.
أخطاء شائعة
- تخزين الإجابات حسب التسمية. التسميات تتغير. استخدم معرّفات حقول ثابتة.
- التحقق في المتصفح فقط. إنه راحة للمستخدم، وليس حماية.
- ملفات مرفوعة عامة. النماذج كثيراً ما تجمع مستندات لا يرغب أصحابها في كشفها.
- عدم وجود حماية من الرسائل المزعجة. قد يمتلئ نموذج عام بالمحتوى غير المرغوب خلال أيام.
- بناء منشئ لنموذج واحد. ابنِ النموذج.
- ردود غير محدودة في منتج عام. إذا كان العملاء ينشئون نماذجهم، فحدّد الحدود حسب الخطة، وإلا فقد يرفع نموذج واحد شائع فاتورة الاستضافة.
متى يكون المنتج الجاهز هو الخيار الأفضل
أدوات النماذج المستضافة ممتازة ورخيصة لمعظم الاحتياجات. فقد حلّت التضمين والرسائل المزعجة والمدفوعات والتكاملات وإمكانية الوصول عبر عشرات أنواع الحقول. إذا كان فريقك يحتاج النماذج فقط، فاستخدم واحدة منها؛ راجع بدائل Typeform وبدائل Google Forms.
ابنِ منشئك الخاص عندما تحتاج الردود أن تعيش بجانب بياناتك (تغذية CRM أو بوابة عملاء تديرها)، أو عندما تحتاج إلى سير عمل بعد الإرسال لا تستطيع الأدوات تنفيذه، أو عندما يكون مكان البيانات وملكيتها شرطاً، أو عندما تكون النماذج ميزة في منتج تبيعه.
البناء باستخدام Mythex
في Mythex تصف المنشئ في المحادثة، وتختبر المحرر والنموذج العام جنباً إلى جنب في المعاينة الحية. يضيف Mythex قاعدة بيانات مخصصة لتعريفات النماذج والردود، ويفعّل تخزين الملفات تلقائياً عندما يحتاج تطبيقك إلى رفع ملفات (بسعة 1 غيغابايت كحد أقصى في الخطة المجانية). تمر إشعارات البريد عبر مزود تربطه بمفتاحك الخاص. انشر التطبيق على رابط mythex.ai، أو على نطاقك الخاص في خطة Pro، وتعمل روابط النماذج العامة من هناك.
الأسئلة
كيف يخزّن منشئ النماذج النماذج؟
عادةً كتعريف للنموذج: قائمة بالحقول، لكل حقل نوع وتسمية وقواعد تحقق وترتيب، مخزنة كبيانات منظمة مثل JSON. التعريف نفسه يغذي المحرر والنموذج العام، لذلك إضافة حقل لا تحتاج إلى كود جديد.
كيف يجب حفظ ردود النماذج؟
احفظ كل رد مع إشارة إلى نسخة النموذج التي تمت تعبئته عليها، مع الإجابات مفهرسة حسب معرّف الحقل. بهذه الطريقة لا يكسر تغيير اسم حقل أو ترتيبه لاحقاً الردود القديمة.
كيف أوقف الرسائل المزعجة في نموذج عام؟
اجمع بين حقل مخفي يُصيّد الروبوتات (honeypot)، وتحديد عدد الطلبات لكل عنوان IP، والتحقق من الخادم، وإذا استمرت الرسائل المزعجة فخدمة CAPTCHA. لا تعتمد أبداً على فحوص تعمل في المتصفح فقط.
هل أحتاج منشئ نماذج كاملاً أم نموذجاً واحداً فقط؟
إذا كنت تحتاج نموذجاً أو اثنين ثابتين، فابنِ هذين النموذجين مباشرةً، فذلك أبسط بكثير. يستحق منشئ النماذج الجهد عندما يحتاج أشخاص غير تقنيين إلى إنشاء نماذج كثيرة وتغييرها دون طلب مطور.