تعديل موقع بالمحادثة دون أن يتعطّل
طلب تغيير بكلمات عادية سهل العرض وصعب التأمين. كيف يتحوّل التعديل إلى رقعة على تعريف موثَّق، داخل مسودة تراجعها بنفسك.
"اجعل الترويسة أغمق وانقل التقييمات فوق الأسعار."
عرض هذا الطلب سهل. أما جعله آمنًا فهو العمل الحقيقي، لأن الخطر ليس لونًا خاطئًا - بل نموذج يعيد كتابة صفحة طُلب منه تعديلها فقط، ويُسقط في الطريق ساعات العمل دون أن ينتبه أحد.
الموقع بيانات، لا شيفرة
الموقع هنا تعريف موثَّق: صفحات وأقسام ومحتوى وتصميم. المُصيِّر (renderer) وحده يحوّل ذلك إلى HTML ولا شيء آخر يفعل. لذلك لا يلمس التعديل الوسوم أبدًا - بل يغيّر التعريف، ويُفحص التعريف قبل أن يُحفظ.
والفحص أكثر من "تمّت قراءته بنجاح". قواعد تربط بين الحقول تلتقط ما لا يستطيع المخطط قوله: قسمان رئيسيان (hero) في صفحة واحدة، أو مقال بلا تاريخ، أو صفحة موضوعة في مكان لن يخدمه الموجّه أبدًا، أو جدول مرتبط بمجموعة بيانات لم يعلنها الموقع. هذه تُرفض فورًا بدل أن تُنشر ثم تُكتشف لاحقًا.
التعديل رقعة
لا نطلب من النموذج أن يعيد موقعًا جديدًا. نطلب منه أصغر رقعة تُحدث التغيير، مقابل الموقع كما هو الآن.
هذا القرار الواحد يزيل معظم الخطر:
- المحتوى الذي لا يذكره التعديل لا يمكن أن يتغير، لأنه ليس في الإجابة.
- التغيير الصغير يكلّف إجابة صغيرة، فالتعديلات سريعة ورخيصة.
- تُحفظ الرقعة، فيخبرك السجل ما الذي تغيّر، لا ما صار عليه الموقع فقط.
لا شيء يُنشر حتى تقول
كل تعديل يذهب إلى مسودة. يعرض المحرّر المسودة، ويواصل الموقع العام تقديم آخر نسخة منشورة إلى أن تنشر. تُحفظ كل النسخ، فالعودة إلى الوراء نقرة واحدة لا اعتذارًا.
وهناك فحص آخر يستحق الذكر لأنه التقط خطأً حقيقيًا. إذا تغيّرت المسودة أثناء تنفيذ تعديل طويل - كأن أجريت تغييرًا في تبويب آخر - تُرفض النتيجة بدل دمجها:
"حُفظ تغيير آخر في هذا الموقع أثناء تنفيذ هذا التعديل. يرجى مراجعة المسودة الحالية والمحاولة مرة أخرى.
ضياع تعديل أمر مزعج. أما الكتابة فوق تعديل بصمت فأسوأ بكثير.
ما لن نفعله
لا نسمح لتعديل بأن يختلق حقائق. تعديل يضيف شهادة لم يكتبها أحد، أو اعتمادًا لا يملكه أحد، ليس ميزة - والقاعدة نفسها التي تحكم الإنشاء تحكم التعديل.
ولا ندّعي أن تغييرًا حدث وهو لم يحدث. إذا تعذّر التعبير عن طلب ما كتغيير في التعريف، يقول ذلك صراحة، بدل أن ينتج شيئًا قريبًا منه ويأمل أن يمرّ.