crea.site
2 मिनट में पढ़ें product

चैट से वेबसाइट बदलना, बिना उसे बिगाड़े

सादे शब्दों में बदलाव माँगना डेमो में आसान है, सुरक्षित बनाना कठिन। हर बदलाव कैसे जाँची हुई परिभाषा पर पैच बनता है और ऐसे ड्राफ़्ट में आता है जिसे आप देख सकें।

"हेडर को थोड़ा गहरा करो और रिव्यू को कीमतों के ऊपर ले आओ।"

इसका डेमो देना आसान है। इसे सुरक्षित बनाना असली काम है, क्योंकि गड़बड़ी गलत रंग की नहीं होती - गड़बड़ी तब होती है जब मॉडल किसी पेज को सिर्फ़ थोड़ा एडजस्ट करने को कहे जाने पर उसे पूरा दोबारा लिख दे, और चुपचाप खुलने का समय हटा दे।

साइट डेटा है, कोड नहीं

यहाँ साइट एक जाँची हुई परिभाषा है: पेज, सेक्शन, कंटेंट और डिज़ाइन। रेंडरर उसे HTML में बदलता है और कोई और नहीं। इसलिए कोई भी बदलाव मार्कअप को नहीं छूता - वह परिभाषा बदलता है, और परिभाषा सहेजे जाने से पहले जाँची जाती है।

जाँच का मतलब सिर्फ़ "पार्स हो गया" नहीं है। क्रॉस-फ़ील्ड नियम वह पकड़ लेते हैं जो स्कीमा नहीं कह सकता: एक पेज पर दो हीरो, बिना तारीख़ की पोस्ट, ऐसी जगह रखा गया पेज जिसे राउटर कभी परोसेगा ही नहीं, या ऐसे कलेक्शन से जुड़ी टेबल जो साइट में घोषित ही नहीं है। इन्हें प्रकाशित करके बाद में खोजने के बजाय सीधे नकार दिया जाता है।

हर बदलाव एक पैच है

मॉडल से नई साइट लौटाने को नहीं कहा जाता। उससे कहा जाता है कि साइट जैसी अभी है, उस पर बदलाव करने वाला सबसे छोटा पैच दे।

यह एक फ़ैसला ही ज़्यादातर खतरा हटा देता है:

  • जिस कंटेंट का बदलाव में ज़िक्र नहीं, वह बदल नहीं सकता, क्योंकि वह जवाब में है ही नहीं।
  • छोटे बदलाव का जवाब भी छोटा होता है, इसलिए बदलाव तेज़ और सस्ते होते हैं।
  • पैच सहेजा जाता है, इसलिए इतिहास बताता है कि क्या बदला, सिर्फ़ यह नहीं कि साइट क्या बन गई।

आप कहें, तभी कुछ प्रकाशित होता है

हर बदलाव एक ड्राफ़्ट में जाता है। एडिटर ड्राफ़्ट दिखाता है; सार्वजनिक साइट आपके प्रकाशित करने तक आख़िरी प्रकाशित संस्करण ही परोसती रहती है। हर संस्करण सहेजा जाता है, इसलिए वापस जाना एक क्लिक की बात है, माफ़ी माँगने की नहीं।

एक और जाँच का ज़िक्र ज़रूरी है, क्योंकि उसने एक असली बग पकड़ा था। अगर कोई लंबा बदलाव चल रहा था और इस दौरान ड्राफ़्ट बदल गया - मान लीजिए आपने दूसरे टैब में कोई बदलाव किया - तो नतीजा मर्ज करने के बजाय नकार दिया जाता है:

"इस बदलाव के चलने के दौरान वेबसाइट में एक और बदलाव सहेजा गया। कृपया मौजूदा ड्राफ़्ट देखें और फिर कोशिश करें।

बदलाव खो जाना खीझ भरा है। किसी बदलाव को चुपचाप मिटा देना कहीं ज़्यादा बुरा है।

हम क्या नहीं करेंगे

हम किसी बदलाव को तथ्य गढ़ने नहीं देते। ऐसा बदलाव जो कोई ऐसी तारीफ़ जोड़ दे जो किसी ने लिखी नहीं, या ऐसा सर्टिफ़िकेट जो किसी के पास नहीं, कोई फ़ीचर नहीं है - और जो नियम वेबसाइट बनाने पर लागू होता है, वही बदलाव पर भी लागू होता है।

हम यह दिखावा भी नहीं करते कि बदलाव हो गया जबकि नहीं हुआ। अगर कोई अनुरोध परिभाषा में बदलाव के रूप में व्यक्त नहीं किया जा सकता, तो वह साफ़ कह देता है, बजाय इसके कि कुछ मिलता-जुलता बना दे और उम्मीद करे कि चल जाएगा।