
भाषा 🇮🇳 हिन्दी
मूल बातें
रूप-रंग
लाइव टिप्पणी
पृष्ठांकन और क्रमबद्धता
उत्तर बॉक्स
SSO
गुमनाम टिप्पणी
विविध
अनुकूलन और कॉन्फ़िगरेशन
अनुकूलन और कॉन्फ़िगरेशन
संदर्भ
यहाँ आपको कमेंट विजेट द्वारा समर्थित प्रत्येक फीचर और सेटिंग पर विस्तृत दस्तावेज़ीकरण मिलेगा।
यह दस्तावेज़ीकरण मुख्य अवधारणाओं को कवर करेगा, और कार्यक्षमता के प्रत्येक क्षेत्र में गहराई तक जाएगा, साथ ही हाउ-टू और सामान्य सावधानियाँ (gotchas) भी प्रदान करेगा।
कोड उदाहरण प्रासंगिक पंक्तियों के हाइलाइट के साथ दिए जाएँगे। जहाँ लागू हो, वहाँ कॉन्फ़िगरेशन पृष्ठों के स्क्रीनशॉट भी दिए जाएँगे।
कोड उदाहरण हमारी वैनिला JavaScript लाइब्रेरी का उपयोग करेंगे, हालाँकि कॉन्फ़िगरेशन विकल्प कमेंट विजेट के सभी संस्करणों (React, Vue, आदि) के लिए बिल्कुल उसी नाम का उपयोग करते हैं।
इस गाइड में वर्णित अधिकांश कॉन्फ़िगरेशन और फीचर्स के लिए कोई कोड लिखने की आवश्यकता नहीं है।
अपना खाता पहचानना 
आप देख सकते हैं कि कमेंट विजेट को "demo" Tenant ID के साथ इस्तेमाल किया जा सकता है, उदाहरण के लिए:
Run 
यह केवल कमेंट विजेट को आज़माने और उसके साथ खेलने के लिए है। प्रोडक्शन में, आप अपना Tenant ID इस तरह पास करेंगे:
Run 
आपका Tenant ID पहले से लागू मिल जाएगा कमेंट विजेट के आपके खाते के कोड स्निपेट में।
आप अपना Tenant ID भी देख सकते हैं और अपनी API कुंजियाँ प्रबंधित कर सकते हैं API क्रेडेंशियल पेज पर।
इस बिंदु से आगे, यदि आप FastComments में लॉग इन हैं, तो कोड उदाहरण आपका वास्तविक Tenant ID उपयोग करेंगे (यदि आप https://fastcomments.com पर लॉग इन हैं)।
टिप्पणियाँ पृष्ठों और लेखों से कैसे जुड़ी होती हैं 
कमेंट थ्रेड रेंडर करते समय, या कमेंट छोड़ते समय, FastComments को यह जानने की आवश्यकता होती है कि वे कमेंट किस पेज, आर्टिकल या प्रोडक्ट से संबंधित हैं।
इसके लिए, हम कुछ ऐसा उपयोग करते हैं जिसे हम "URL ID" कहते हैं। यह या तो एक पहचानकर्ता (identifier) होता है, जैसे एक स्ट्रिंग या संख्या, या एक URL।
डिफ़ॉल्ट रूप से, यदि आप urlId निर्दिष्ट नहीं करते हैं, तो यह पेज URL बन जाएगा। हम वर्तमान पेज URL लेंगे, और उसमें से किसी भी सामान्य मार्केटिंग पैरामीटर या ट्रैकिंग पहचानकर्ताओं को हटाने के लिए उसे साफ़ (clean) करेंगे।
थर्ड पार्टी इंटीग्रेशन के मामले में, जैसे WordPress, हमारा प्लगइन आमतौर पर उस पहचानकर्ता का उपयोग URL ID के रूप में करेगा जो वर्तमान में देखी जा रही जानकारी का प्रतिनिधित्व करता है, उदाहरण के लिए आर्टिकल/पेज id।
Run 
एक चीज़ जिसका हम इस दस्तावेज़ में अक्सर उल्लेख करेंगे, वह है Widget Customization UI।
इस UI का उपयोग कोड का उपयोग किए बिना कमेंट विजेट में कई बदलाव करने के लिए किया जा सकता है।
कोई कस्टमाइज़ेशन नियम बनाते समय, हम अक्सर चाहते हैं कि वह हमारी साइट के सभी पेजों पर लागू हो। हालाँकि, कुछ मामलों में हम किसी विशेष पेज पर कमेंट विजेट को कस्टमाइज़ करना चाहते हैं, या तो कस्टम स्टाइलिंग लागू करने के लिए, या शायद उस विशेष पेज के लिए कमेंट को अनाम (anonymous) बनाने के लिए। उदाहरण के लिए, आप कुछ पेजों पर लाइव कमेंट को तुरंत दिखा सकते हैं, जबकि अन्य पर उन्हें नोटिफिकेशन बटन के नीचे छिपा सकते हैं।
यह सब इस पेज पर URL ID इनपुट फ़ील्ड के माध्यम से संभव है, जो निम्नानुसार दिखता है:
इस फ़ील्ड का मान कमेंट विजेट में पास किए गए urlId पैरामीटर से मेल खाना चाहिए। यदि आप चाहते हैं कि आपका कस्टमाइज़ेशन नियम urlId से स्वतंत्र (agnostic) हो, तो इस फ़ील्ड को खाली छोड़ दें या * दर्ज करें।
2023 से, विजेट कस्टमाइज़ेशन में URL ID फ़ील्ड अब पैटर्न भी स्वीकार करता है! उदाहरण के लिए आप
अपने ब्लॉग के लिए विशिष्ट स्टाइलिंग जोड़ने के लिए */blog/* और अपने स्टोर के लिए विशिष्ट स्टाइलिंग के लिए */store/* का उपयोग कर सकते हैं,
सब कुछ एक ही डोमेन का उपयोग करते हुए।
सावधानियाँ (Gotchas)
- यदि आपके पेज में हैश पैरामीटर हैं (जैसे example.com#page-1) - तो यह डिफ़ॉल्ट रूप से URL ID का हिस्सा बन जाएगा।
- माइग्रेशन के दौरान, उदाहरण के लिए WordPress से Gatsby तक, आपको प्रारंभिक माइग्रेशन के बाद URL ID कमेंट मानों को माइग्रेट करना पड़ सकता है। इसके लिए, हमसे संपर्क करें।
अलग-अलग पृष्ठों पर वही टिप्पणियाँ दिखाना 
चूंकि urlId पैरामीटर हमें यह परिभाषित करने की अनुमति देता है कि टिप्पणियाँ किस पेज या id से जुड़ी हैं, हम उन पेजों पर urlId को वही मान सेट कर सकते हैं।
Run 
कस्टम स्टाइलिंग 
FastComments को कस्टमाइज़ करने के लिए डिज़ाइन किया गया है। सुरक्षा कारणों से कमेंटिंग विजेट स्वयं एक iframe के अंदर चलता है, इसलिए कस्टम स्टाइलिंग लागू करने के लिए आपको दो तरीकों में से एक का पालन करना होगा।
पहला, सबसे आसान तरीका, और हमारे द्वारा पसंदीदा, widget customization page का उपयोग करना है।
विजेट कस्टमाइज़ेशन पेज में, "Show Advanced Options" सेक्शन देखें, जिसके नीचे "Custom CSS" नाम से एक क्षेत्र है:
इस तरीके के कुछ फायदे हैं:
- दर्ज की गई CSS को यूज़र को भेजने से पहले minify किया जाता है, और एडिटिंग UI में फॉर्मेटिंग सुसंगत रखी जाती है।
- आपको विजेट कस्टमाइज़ेशन UI के सभी फायदे मिलते हैं, उदाहरण के लिए अलग-अलग साइटों के लिए कमेंटिंग विजेट को आसानी से अलग-अलग कस्टमाइज़ करना।
- जब हम कमेंट विजेट में बदलाव करते हैं, तो आपकी कस्टम स्टाइलिंग को हमारी रिलीज़ प्रक्रिया के हिस्से के रूप में टेस्ट किया जाएगा।
दूसरा तरीका विजेट कॉन्फ़िगरेशन में customCSS पैरामीटर निर्दिष्ट करना है, इस प्रकार:
Run 
हालाँकि, इसमें सीमाएँ हैं:
- हेडर के आकार के कारण, हमारे सर्वर द्वारा अनुरोध अस्वीकार किए जाने से पहले पास की जा सकने वाली कस्टम CSS की एक सीमा है।
- आपको अपने इंफ्रास्ट्रक्चर और बिल्ड सिस्टम में कस्टम CSS को प्रबंधित करना होगा। हालाँकि, यह एक नुकसान के बजाय फायदा भी हो सकता है।
- इस उपयोग के मामले में कस्टम CSS को नेटवर्क पर दो बार भेजने का अतिरिक्त ओवरहेड होता है, क्योंकि इसे हमारे सर्वर पर भेजा जाना है, और फिर iframe कंटेंट में वापस भेजा जाना है। हालाँकि अधिकांश पेलोड आकारों के लिए यह ध्यान देने योग्य नहीं है।
- एक सामान्य अनुकूलन नेटवर्क पर आकार कम करने के लिए CSS को minify करना है, लेकिन इस तरीके से आपको यह स्वयं संभालना होगा।
- जब हम बदलाव करते हैं तो आपकी कस्टम CSS का टेस्ट नहीं किया जाएगा।
बाहरी CSS फ़ाइलें
आप @import का उपयोग करके विजेट को एक बाहरी फ़ाइल फ़ेच करने के लिए कह सकते हैं!
यह अनुशंसा की जाती है कि @import को एक कस्टमाइज़ेशन रूल में रखा जाए। इस तरह, यदि हमें कभी कमेंट विजेट में बदलाव करने की आवश्यकता होती है, तो हम अपने ऑटोमेशन टूलिंग का उपयोग करके आपके सेटअप को सत्यापित कर सकते हैं। उदाहरण के लिए, आप Widget Customization UI में एक कस्टमाइज़ेशन रूल बनाएंगे, Advanced पर क्लिक करेंगे, और Custom CSS में दर्ज करेंगे:
@import url(https://example.com/styles.css);
कोड में - अनुशंसित नहीं
आप customCSS प्रॉपर्टी के माध्यम से भी एक बाहरी CSS फ़ाइल लोड कर सकते हैं:
Run 
हालाँकि, याद रखें कि यदि आप ऐसा करते हैं तो हम आपकी CSS का टेस्ट नहीं कर पाएंगे।
यूज़र प्रोफ़ाइल मोडल स्टाइलिंग
यूज़र प्रोफ़ाइल मोडल को भी कस्टम CSS से स्टाइल किया जा सकता है। हालाँकि, यह सुनिश्चित करने के लिए कि कस्टम स्टाइलिंग यूज़र प्रोफ़ाइल पर लागू हो, सभी CSS सिलेक्टर के आगे .user-profile लगाना अनिवार्य है। इस प्रीफ़िक्स के बिना, यूज़र प्रोफ़ाइल मोडल के लिए कस्टम स्टाइलिंग को अनदेखा किया जाएगा।
उदाहरण के लिए:
Run 
पश्चगामी संगतता (Backwards Compatibility)
FastComments में, हम जानते हैं कि हमारे ग्राहक कमेंटिंग विजेट को कस्टमाइज़ करते हैं। यह डिज़ाइन द्वारा है - हम यह बिल्कुल नहीं चाहते कि हमारा उत्पाद आपके उत्पाद में डिज़ाइन विसंगतियाँ पैदा करे।
चूँकि यह हमारे उत्पाद का एक महत्वपूर्ण हिस्सा है, हमारे पास एक बिल्ड पाइपलाइन है जो हमें प्रत्येक रिलीज़ में, प्रति-ग्राहक, कमेंट विजेट में बदलावों की समीक्षा करने की अनुमति देती है।
यदि हमें छोटी समस्याएँ मिलती हैं, तो हम यह सुनिश्चित करने के लिए आपके खाते को अपडेट करेंगे कि हमारी रिलीज़ सुचारू रूप से हो। यदि हमें बड़े ब्रेकिंग बदलाव दिखते हैं, तो यह हमें रिलीज़ को रोकने की अनुमति देता है।
कस्टम फ़ॉन्ट 
FastComments को अनुकूलित (customize) करने के लिए डिज़ाइन किया गया है, और हमारे विजेट्स द्वारा उपयोग किया जाने वाला फ़ॉन्ट भी इसका अपवाद नहीं है।
डिफ़ॉल्ट रूप से, FastComments विभिन्न प्रकार के डिवाइसेस पर सर्वोत्तम दिखने के लिए system font stack का उपयोग करता है।
अपने स्वयं के फ़ॉन्ट परिभाषित करने के लिए, Custom CSS दस्तावेज़ीकरण देखें।
वहाँ आपको कस्टम CSS परिभाषित करने का तरीका मिलेगा, जो आपको अपने इच्छित फ़ॉन्ट परिभाषित करने की अनुमति देगा।
फ़ॉन्ट कैसे परिभाषित करें
फ़ॉन्ट को ओवरराइड करने के लिए, हम अनुशंसा करते हैं कि आप अपनी CSS को .fast-comments, textarea सेलेक्टर्स का उपयोग करके परिभाषित करें। उदाहरण के लिए:
Run 
ब्रांडिंग हटाना 
Pro या Enterprise खातों वाले ग्राहकों के लिए व्हाइट लेबलिंग की अनुमति है। बस हमसे संपर्क करें और हम आपकी सहायता करने में खुशी होंगे।
यदि आप केवल कमेंट विजेट से हमारा लोगो हटाना चाहते हैं, तो यह Flex और Pro प्लान पर स्वचालित रूप से सक्षम है।
ये प्लान हमारे प्लेटफ़ॉर्म से भेजे जाने वाले ईमेल के लिए भी वही सुविधा प्रदान करते हैं।
गहरे बैकग्राउंड का समर्थन (डार्क मोड) 
डिफ़ॉल्ट रूप से, FastComments कमेंट विजेट अधिकांश साइटों पर डार्क मोड को स्वचालित रूप से पहचान लेगा।
जब डार्क मोड पहचाना जाता है, तो FastComments सफेद पृष्ठभूमि पर काले टेक्स्ट से काली पृष्ठभूमि पर सफेद टेक्स्ट में बदल जाएगा। छवियाँ भी बदल जाएँगी।
पेज लोड होने पर, विजेट यह निर्धारित करने की कोशिश करेगा कि कमेंट विजेट के पीछे पेज की पृष्ठभूमि कितनी गहरी है। इसका मतलब है कि पेज की पृष्ठभूमि सफेद हो सकती है, लेकिन यदि आप कमेंट विजेट को काली पृष्ठभूमि वाले कंटेनर के अंदर रखते हैं, तो डार्क मोड कमेंट्स को पढ़ने योग्य बनाने के लिए फिर भी स्वचालित रूप से सक्रिय हो जाना चाहिए।
हालाँकि, पहचान तंत्र, जो "luminance" निर्धारित करने पर निर्भर करता है, हो सकता है जब आप चाहें तब डार्क-मोड को सक्रिय न करे। इसे ज़बरदस्ती सक्रिय करने के लिए, hasDarkBackground फ्लैग को true इस प्रकार सेट करें:
Run 
डार्क मोड टॉगल करना 
उन साइटों के लिए जो प्रारंभिक पेज लोड के बाद डार्क मोड टॉगल करने की अनुमति देती हैं, यह थोड़ा अधिक जटिल है।
सबसे पहले, कमेंट विजेट लाइब्रेरी (React, Vue) के सभी वर्तमान संस्करणों में अपने-अपने रिपॉजिटरीज़ में डार्क मोड टॉगल करने के उदाहरण मौजूद हैं।
VanillaJS विजेट के लिए, हमें कुछ अतिरिक्त काम करना होगा। सबसे पहले, FastCommentsUI एक ऑब्जेक्ट लौटाता है जिसमें "destroy" और "update" फ़ंक्शन होते हैं।
हम जब भी कमेंट विजेट कॉन्फ़िगरेशन को अपडेट करना चाहें, बस update फ़ंक्शन को कॉल कर सकते हैं, जैसा कि नीचे दिखाया गया है। यहाँ VanillaJS विजेट के साथ डार्क मोड टॉगल करने का एक पूर्ण कार्यशील उदाहरण दिया गया है।
Run 
टेक्स्ट ओवरराइड करना 
FastComments के साथ, कमेंट विजेट का सारा टेक्स्ट कस्टमाइज़ किया जा सकता है।
आप एक टेक्स्ट को ओवरराइड कर सकते हैं, जैसे सबमिट बटन, या पूरे कमेंट विजेट का सारा टेक्स्ट।
डिफ़ॉल्ट रूप से, कमेंट विजेट का टेक्स्ट यूज़र के लोकेल के आधार पर अनुवादित होता है। हालाँकि, यदि हमें विश्वास है कि हमारे यूज़र-बेस एक ही लोकेल/भाषा का उपयोग कर रहे हैं, तो हम टेक्स्ट को ओवरराइड कर सकते हैं, उदाहरण के लिए:
Run 
सभी कस्टमाइज़ेबल ट्रांसलेशन यहाँ "advanced options" टैब के अंतर्गत मिल सकते हैं।
हालाँकि, विजेट कस्टमाइज़ेशन UI के माध्यम से इसका एक आसान तरीका भी है। वहाँ हम EN_US लोकेल में कमेंटिंग विजेट में दिखने वाला टेक्स्ट ढूँढकर एक प्रतिस्थापन निर्दिष्ट कर सकते हैं।
अभी सभी ट्रांसलेशन ओवरराइड सभी लोकेल को प्रभावित करते हैं।
यह विजेट के अपने टेक्स्ट को कवर करता है। आपके विज़िटर द्वारा लिखे गए कमेंट्स का अनुवाद करने के लिए, Comment Translation देखें।
डिफ़ॉल्ट अवतार बदलना 
जब कोई उपयोगकर्ता पहली बार FastComments के साथ कमेंट करता है, तो हम https://gravatar.com/ से उनका अवतार प्राप्त करने का प्रयास करेंगे।
हालाँकि, यदि हमें कोई अवतार नहीं मिलता, या उपयोगकर्ता ने अपने खाते में कभी कोई अवतार सेट नहीं किया है, तो हम एक स्थिर डिफ़ॉल्ट अवतार छवि प्रदर्शित करते हैं।
अपनी स्वयं की स्थिर अवतार छवि निर्दिष्ट करने के लिए हम defaultAvatarSrc सेटिंग का उपयोग कर सकते हैं।
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में, "Default Avatar" सेक्शन देखें।
ध्यान दें कि किसी विशेष उपयोगकर्ता के लिए अवतार परिभाषित करना, जैसे कि SSO के साथ, अपने स्वयं के सेक्शन में कवर किया गया है।
अवतार अक्षम करना 
कमेंट विजेट से अवतार पूरी तरह हटाए जा सकते हैं, भले ही उपयोगकर्ताओं ने अपना अवतार परिभाषित किया हो।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
सभी डिफ़ॉल्ट स्टाइल अक्षम करना 
बड़े कस्टम स्टाइलिंग प्रोजेक्ट्स के लिए, यह बेहतर हो सकता है कि आप एक साफ़ स्लेट से शुरुआत करें और डिफ़ॉल्ट स्टाइलिंग का बिल्कुल उपयोग न करें।
सभी डिफ़ॉल्ट स्टाइलिंग को noStyles पैरामीटर को true पर सेट करके हटाया जा सकता है, जैसा कि नीचे दिखाया गया है:
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर, Advanced Options के अंतर्गत कस्टमाइज़ किया जा सकता है:
टिप्पणियों से पृष्ठों का लिंक करना 
नोटिफिकेशन ईमेल भेजते समय, या मॉडरेशन पेज जैसे यूज़र इंटरफेस में कमेंट्स रेंडर करते समय, कमेंट से उसके पेज तक लिंक बनाने में सक्षम होना उपयोगी होता है।
यदि URL ID हमेशा एक ID नहीं है, तो हमें URL को किसी अन्य स्थान पर स्टोर करना होगा। इसी काम के लिए "url" प्रॉपर्टी है, जिसे निम्न प्रकार परिभाषित किया गया है।
Run 
एक सामान्य उपयोग का मामला कमेंट थ्रेड को किसी पहचानकर्ता, जैसे एक आर्टिकल, से जोड़ना और फिर किसी विशेष पेज पर वापस लिंक करना है, उदाहरण के लिए:
Run 
URL से सामान्य मार्केटिंग पैरामीटर नहीं हटाए जाते। डिफ़ॉल्ट रूप से, जो भी वर्तमान पेज URL है, वही URL कमेंट के साथ स्टोर किया जाता है।
डिफ़ॉल्ट रूप से उत्तर संकुचित करना 
डिफ़ॉल्ट रूप से, टॉप लेवल कमेंट्स के जवाब दिखाए जाते हैं।
इसे इस तरह कॉन्फ़िगर किया जा सकता है कि उपयोगकर्ता को चाइल्ड कमेंट्स देखने के लिए टॉप-लेवल कमेंट्स पर "Show Replies" पर क्लिक करना पड़े।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
यह सेटिंग शुरू में लोड किए गए टॉप लेवल कमेंट्स की संख्या को प्रभावित नहीं करेगी। यदि आपके पास एक टॉप लेवल कमेंट और 29 चाइल्ड कमेंट्स हैं, तो इस सेटिंग के चालू होने पर आप:
- टॉप लेवल कमेंट देखेंगे।
- इस कमेंट के नीचे Show Replies (29) देखेंगे।
यदि आप इस विकल्प के साथ सभी टॉप लेवल कमेंट्स दिखाना चाहते हैं, तो starting page को -1 पर सेट करें।
WYSIWYG सक्षम करें 
डिफ़ॉल्ट रूप से, FastComments में फ़ॉर्मेटिंग की सुविधा आपके टेक्स्ट के चारों ओर <b></b> जैसे दृश्यमान एंकर टैग जोड़कर की जाती है। टूलबार पर क्लिक करना या शॉर्टकट का उपयोग करना यह आपके लिए कर देता है। हालाँकि, कुछ समुदाय एंकर टैग के बिना फ़ॉर्मेटिंग का उपयोग करना चुन सकते हैं। इसे WYSIWYG (what you see is what you get) एडिटर सक्षम करना कहा जाता है। यह एडिटर डिफ़ॉल्ट वाले जैसा बिल्कुल दिखता है, सिवाय इसके कि यह कुछ अतिरिक्त कोड लोड करता है जो उपयोगकर्ताओं को दृश्यमान एंकर टैग के बिना अपने टेक्स्ट को बोल्ड, अंडरलाइन आदि करने की अनुमति देता है।
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में, "Enable Advanced Formatting" विकल्प देखें।
टूलबार अक्षम करना 
डिफ़ॉल्ट रूप से, FastComments कमेंट लिखते समय टेक्स्ट को स्टाइल करने और इमेज अपलोड करने के शॉर्टकट प्रदान करने के लिए एक टूलबार दिखाता है।
इस टूलबार को कोड में या Customization UI के साथ अक्षम किया जा सकता है।
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में, "Disable The Reply Toolbar" विकल्प देखें।
ब्लॉकिंग अक्षम करना 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ताओं को अन्य उपयोगकर्ताओं को ब्लॉक करने की अनुमति देता है। किसी उपयोगकर्ता को ब्लॉक करने से उनकी टिप्पणियाँ छिप जाती हैं, उपयोगकर्ताओं के बीच सूचनाएँ रुक जाती हैं, और इसी तरह की सुविधाएँ प्रभावित होती हैं।
हो सकता है कि आप इस सुविधा को अक्षम करना चाहें। इसे इस प्रकार किया जा सकता है:
Run 
यह कोड के बिना भी किया जा सकता है, जिससे उचित सर्वर-साइड सत्यापन भी सक्षम होता है, Widget Customization UI के माध्यम से:
कौन सा पृष्ठ रेंडर करना है यह निर्धारित करना 
कमेंट्स को फ़ेच और रेंडर करते समय, कमेंट विजेट को यह जानना ज़रूरी होता है कि किस पेज से शुरू करना है। डिफ़ॉल्ट रूप से, यह पहले पेज से शुरू होता है और केवल उसी पेज को रेंडर करता है।
यदि चाहें, तो रेंडर किए जाने वाले सटीक पेज को startingPage सेटिंग के रूप में कमेंट विजेट को पास किया जा सकता है।
Run 
ध्यान दें कि पेज नंबर शून्य से शुरू होते हैं, इसलिए ऊपर दिया गया उदाहरण दूसरा पेज रेंडर करता है।
पृष्ठ पुनः लोड किए बिना टिप्पणी थ्रेड बदलना 
हमने देखा कि urlId वह पेज या आर्टिकल आईडी है जिससे कमेंट्स जुड़े होते हैं।
साथ ही, याद दिलाने के लिए, यदि परिभाषित नहीं किया गया है तो urlId डिफ़ॉल्ट रूप से वर्तमान पेज URL पर सेट हो जाता है।
लेकिन SPAs, यानी Single-Page-Applications का क्या, जहाँ कमेंट्स जिस पेज या कंटेंट से जुड़े हैं वह बिना पेज रीलोड के डायनामिक रूप से बदल जाता है?
Angular, React, Vue, आदि
हमारी लाइब्रेरीज़ जैसे Angular और React के साथ, विजेट को पास की गई urlId प्रॉपर्टी को अपडेट करने से ही कमेंट विजेट रिफ्रेश हो जाता है। आप इसे React ऐप में एक्शन में देख सकते हैं, उदाहरण के लिए, यहाँ।
VanillaJS
यदि आप VanillaJS लाइब्रेरी का उपयोग कर रहे हैं तो यह थोड़ा अधिक जटिल है, क्योंकि Angular या React जैसा कोई फ्रेमवर्क नहीं होता जो डेटा बाइंडिंग या स्टेट प्रोपेगेशन को संभालता हो।
जब आप VanillaJS विजेट को इंस्टेंटिएट करते हैं, तो यह कुछ फ़ंक्शंस रिटर्न करता है जिन्हें इसे अपडेट करने के लिए कॉल किया जा सकता है।
यहाँ एक फंक्शनल उदाहरण है जहाँ हम पेज हैश बदलते हैं और कमेंट विजेट को अपडेट करते हैं:
Run 
पूर्ण तिथियाँ (मानव-अनुकूल टाइमस्टैम्प अक्षम करें) 
डिफ़ॉल्ट रूप से, स्थानीयकृत सापेक्ष तिथियों का उपयोग किया जाता है। उदाहरण के लिए, हाल ही में छोड़ी गई टिप्पणी के पास आप "11 minutes ago" देख सकते हैं।
पूर्ण तिथियों का उपयोग करना आवश्यक या वांछित हो सकता है, जिस स्थिति में आप इस पैरामीटर को true पर सेट करते हैं।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर, Advanced Options के अंतर्गत कस्टमाइज़ किया जा सकता है:
पूर्ण और सापेक्ष दोनों तिथियाँ दिखाना 
डिफ़ॉल्ट रूप से, स्थानीयकृत सापेक्ष तिथियों का उपयोग किया जाता है। उदाहरण के लिए, हाल ही में छोड़ी गई टिप्पणी के आगे आप "11 minutes ago" देख सकते हैं।
यह आवश्यक या वांछित हो सकता है कि इस सापेक्ष तिथि प्रारूप को बनाए रखा जाए, लेकिन साथ ही उसके आगे पूरी तिथि भी दिखाई जाए, जिस स्थिति में आप इस पैरामीटर को true पर सेट करते हैं।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर, Advanced Options के अंतर्गत कस्टमाइज़ किया जा सकता है। इस विकल्प को UI में देखने के लिए आपको पहले Absolute Dates सक्षम करना होगा।
हेडर टेक्स्ट जोड़ना 
कुछ टेक्स्ट, जैसे हेडर या संदेश, कमेंट काउंट के नीचे लेकिन लॉगिन स्थिति टेक्स्ट के ऊपर रेंडर किया जा सकता है।
हम इसे हेडर कहते हैं, और डिफ़ॉल्ट रूप से यह छिपा होता है।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर, Advanced Options के अंतर्गत कस्टमाइज़ किया जा सकता है:
लिंक को टेक्स्ट के रूप में दिखाना 
डिफ़ॉल्ट रूप से, FastComments इस तरह के लिंक रेंडर करेगा: https://exmaple.com - जहाँ लिंक URL एक क्लिक करने योग्य HTML anchor टैग बन जाता है।
कुछ साइटें इसे अक्षम करना चाह सकती हैं, उदाहरण के लिए घोटालेबाज़ों को हतोत्साहित करने के लिए। हम यह Comment HTML Rendering Option को Links as Text पर सेट करके प्रदान करते हैं।
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर, पूरे डोमेन या पेज के लिए कस्टमाइज़ किया जा सकता है:
बटन से टिप्पणियाँ टॉगल करना 
डिफ़ॉल्ट रूप से, FastComments कमेंट इनपुट बॉक्स और कमेंट थ्रेड को एक ही समय पर रेंडर करता है। कुछ वर्टिकल स्पेस बचाने के लिए, यह विजेट के साथ इंटरैक्शन होने तक किसी भी अन्य आवश्यक फ़ील्ड को भी छिपा देता है।
हालाँकि, कमेंट विजेट को एक बटन के पीछे छिपाया जा सकता है, उदाहरण के लिए:
बटन अलग-अलग अनुवादित टेक्स्ट का उपयोग करता है, जो इस बात पर निर्भर करता है कि कमेंट्स वर्तमान में दिखाए जा रहे हैं या नहीं। यदि कमेंट्स छिपे हुए हैं, तो यह translations.SHOW_COMMENTS_BUTTON_TEXT का उपयोग करता है। यदि
कमेंट्स दिखाए जा रहे हैं, तो यह translations.HIDE_COMMENTS_BUTTON_TEXT का उपयोग करता है। अनुवादों में टेक्स्ट [count] हो सकता है, जिसे
स्थानीयकृत संख्या से बदल दिया जाएगा।
Run 
यह hideCommentsUnderCountTextFormat कॉन्फ़िगरेशन को बदलने के लिए डिज़ाइन किया गया है।
संख्या को कमेंट थ्रेड के साथ लाइव अपडेट किया जाता है। यदि कोई कमेंट नहीं हैं तो बटन नहीं दिखाया जाता है।
इसे कोड के बिना एक कस्टमाइज़ेशन रूल बनाकर और "Click to Show Comments" सक्षम करके चालू किया जा सकता है:
टिप्पणी संख्या टेक्स्ट को अनुकूलित करना 
कमेंट विजेट के शीर्ष पर दिखाया गया कमेंट काउंट कस्टमाइज़ किया जा सकता है।
इसे किसी भी स्ट्रिंग से बदला जा सकता है, और [count] मान को काउंट मान से बदल दिया जाएगा, जो उपयोगकर्ता के लिए स्थानीयकृत (localized) होता है।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
छवि रीडायरेक्ट अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ताओं को इमेज अपलोड करने की अनुमति देता है। जब कोई उपयोगकर्ता उस इमेज पर क्लिक करता है, तो FastComments डिफ़ॉल्ट रूप से उस इमेज को पूरी तरह दिखाने के लिए एक नया टैब खोलता है। इस फ्लैग को true पर सेट करने से यह व्यवहार अक्षम हो जाता है:
Run 
यदि आप इमेज क्लिक को स्वयं कैप्चर करने की योजना नहीं बना रहे हैं (देखें onImageClicked), तो हम अनुशंसा करते हैं कि इसे कुछ स्टाइलिंग के साथ जोड़ा जाए ताकि यह दिखावा हट जाए कि इमेज पर क्लिक किया जा सकता है।
स्वचालित हैशटैग निर्माण अक्षम करें 
जब उपयोगकर्ता #someexampletag के रूप में हैशटैग दर्ज करते हैं, तो FastComments स्वचालित रूप से वह HashTag बना देगा और
उनकी टिप्पणी में उसे हाइलाइट कर देगा।
कुछ मामलों में इस सुविधा को अक्षम करना, या API के माध्यम से यह नियंत्रित करना वांछनीय होता है कि कौन से हैशटैग उपयोग किए जा सकते हैं।
ऐसा करने के लिए, बस Widget Customization UI में Disable Automatic #hashtag Creation को सक्षम करें।
सूचना घंटी अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments कमेंट एरिया के ऊपरी दाएँ कोने में एक नोटिफिकेशन बेल दिखाएगा।
यह बेल लाल हो जाएगी और उपयोगकर्ता के पास मौजूद नोटिफिकेशन की संख्या दिखाएगी। नोटिफिकेशन के कुछ उदाहरण हैं:
- किसी उपयोगकर्ता ने आपको उत्तर दिया।
- किसी उपयोगकर्ता ने उस थ्रेड में उत्तर दिया जिसमें आपने कमेंट किया था।
- किसी उपयोगकर्ता ने आपके कमेंट को अप-वोट किया।
- किसी उपयोगकर्ता ने उस पेज पर उत्तर दिया जिसकी आपने सदस्यता ली है।
नोटिफिकेशन बेल पूरे पेज की सदस्यता लेने का एक तरीका भी प्रदान करती है।
हालाँकि, हम नोटिफिकेशन बेल को पूरी तरह से अक्षम कर सकते हैं:
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज पर, "Disable Notification Bell" सेक्शन देखें।
प्रोफ़ाइल अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ता के अवतार पर क्लिक करने पर उसकी प्रोफ़ाइल दिखाएगा।
हालाँकि, हम इस सुविधा को अक्षम कर सकते हैं:
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज पर, "प्रोफ़ाइल अक्षम करें" सेक्शन देखें।
प्रोफ़ाइल टिप्पणियाँ अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ता प्रोफाइल पर एक "Profile Comments" टैब दिखाएगा, जिससे विज़िटर किसी के प्रोफाइल पर टिप्पणियाँ छोड़ सकते हैं।
हालाँकि, हम इस टैब को अक्षम कर सकते हैं:
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज पर, "Disable Profile Comments" सेक्शन देखें।
प्रोफ़ाइल डायरेक्ट संदेश अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments यूज़र प्रोफाइल पर एक "Direct Messages" टैब दिखाएगा, जिससे विज़िटर किसी यूज़र को डायरेक्ट मैसेज भेज सकते हैं।
हालाँकि, हम इस टैब को अक्षम कर सकते हैं:
Run 
इसे कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज पर, "Disable Direct Messages" सेक्शन देखें।
सफलता संदेश अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments कमेंट करने के बाद एक सफलता संदेश दिखाता है। इसे निम्न प्रकार से अक्षम किया जा सकता है:
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में:
GIF की सामग्री रेटिंग बदलना 
डिफ़ॉल्ट रूप से, FastComments कमेंट विजेट gif rating को pg पर सेट करेगा।
उपलब्ध विकल्प g, pg, pg-13, और r हैं।
इसे कोड में या UI के माध्यम से सेट किया जा सकता है। कोड में हम इसे इस प्रकार कर सकते हैं:
Run 
UI में, आप इसे Gif Picker Rating के अंतर्गत पाएंगे, जब तक कि Disable Image Uploads? चेक नहीं किया गया है।
छवि सामग्री मॉडरेशन 
डिफ़ॉल्ट रूप से, FastComments कमेंट विजेट में इमेज कंटेंट मॉडरेशन off रहता है।
उपलब्ध विकल्प off, low, medium, और high हैं।
विजेट कस्टमाइज़ेशन UI में, आपको यह Image Content Moderation Level के अंतर्गत मिलेगा, बशर्ते Disable Image Uploads? चेक न हो।
वोटिंग शैली बदलना 
डिफ़ॉल्ट रूप से, FastComments वोटिंग विकल्पों को ऊपर और नीचे तीरों के रूप में प्रदर्शित करता है, जिससे उपयोगकर्ता किसी कमेंट को ऊपर या नीचे वोट कर सकते हैं।
हालाँकि, वोट टूलबार की शैली को बदलना संभव है। वर्तमान विकल्प डिफ़ॉल्ट Up/Down बटन हैं, या Heart शैली की वोटिंग प्रणाली का उपयोग करना।
हम voteStyle फ्लैग का उपयोग इस प्रकार करते हैं:
Run 
हम दृढ़ता से सुझाव देते हैं कि आप इसे कोड के बिना करें क्योंकि इससे सर्वर-साइड वैलिडेशन भी सक्षम होती है। विजेट कस्टमाइज़ेशन पेज में, "Vote Style" सेक्शन देखें।
वोटिंग को अक्षम भी किया जा सकता है, शैली विकल्पों के ऊपर Disable Voting देखें।
हटाना अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ताओं को अपनी टिप्पणियाँ हटाने की अनुमति देगा।
हालाँकि, इसे रोकना संभव है।
विजेट कस्टमाइज़ेशन पेज पर, "Disable Deleting" विकल्प देखें।
- यह केवल सामान्य टिप्पणीकारों को प्रभावित करता है, मॉडरेटर या एडमिन को नहीं, जो अभी भी हटा सकते हैं।
- यह उन API इंटीग्रेशन को भी प्रभावित करेगा जब
contextUserIdपास किया जाता है।
संपादन अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ताओं को उनकी टिप्पणियाँ संपादित करने की अनुमति देगा।
हालाँकि, इसे रोकना संभव है।
विजेट कस्टमाइज़ेशन पेज पर, "Disable Editing" विकल्प देखें।
- यह केवल सामान्य टिप्पणीकारों को प्रभावित करता है, मॉडरेटर या एडमिन को नहीं, जो अभी भी संपादित कर सकते हैं।
- यह
contextUserIdपास किए जाने पर API इंटीग्रेशन को भी प्रभावित करेगा।
नई टिप्पणियों को हाइलाइट करना 
FastComments नई टिप्पणियों को हाइलाइट करने के कई तरीके प्रदान करता है।
सबसे पहले, डिफ़ॉल्ट रूप से, जिन टिप्पणियों ने इन-ऐप नोटिफिकेशन ट्रिगर किया (उत्तर, उसी थ्रेड में उत्तर, या उस पेज पर टिप्पणियाँ जिनकी आप सदस्यता लेते हैं), वे स्वचालित रूप से उपयोगकर्ता के अवतार के हल्के चमकने के साथ हाइलाइट की जाएँगी। रंग को is-unread क्लास का उपयोग करके CSS के माध्यम से अनुकूलित किया जा सकता है।
पिछले 24 घंटों में पोस्ट की गई टिप्पणियों पर 24hr क्लास लागू होती है जिसका उपयोग स्टाइलिंग के लिए किया जा सकता है।
अंत में, उपयोगकर्ता के सेशन में दिखने वाली कोई भी नई लाइव टिप्पणियाँ कुछ सेकंड के लिए एनिमेशन के माध्यम से हाइलाइट की जाएँगी। यह is-live CSS क्लास के माध्यम से किया जाता है और इसे भी अनुकूलित किया जा सकता है।
पृष्ठ आकार 
डिफ़ॉल्ट रूप से, FastComments पेज साइज़ 30 होता है। इसमें थ्रेड्स के उत्तर (replies) भी शामिल हैं।
पेज साइज़ को Widget Configuration UI में 10 से 200 तक की विभिन्न साइज़ों में कस्टमाइज़ किया जा सकता है।
ध्यान दें कि पेज साइज़ बदलने के लिए आपके खाते के सभी कमेंट थ्रेड्स को पुनर्गणना (recalculate) करना आवश्यक है। इसमें कुछ मिनट लग सकते हैं।
इसे क्लाइंट-साइड विजेट में कॉन्फ़िगर नहीं किया जा सकता, क्योंकि पेज सर्वर-साइड पर गणना किए जाते हैं।
उदाहरण कॉन्फ़िगरेशन नीचे दिखाया गया है:
पेज साइज़ को विभिन्न कस्टमाइज़ेशन नियम बनाकर वैश्विक (globally), प्रति-डोमेन, या प्रति-पेज कस्टमाइज़ किया जा सकता है।
यह उन सभी क्लाइंट्स, इंटीग्रेशन्स और फ्रेमवर्क्स को प्रभावित करेगा, जिनका उपयोग आप हमारे प्लेटफ़ॉर्म के माध्यम से कमेंट्स दिखाने के लिए कर रहे हों।
ईमेल टेम्पलेट 
FastComments से आपके ग्राहकों को भेजे जाने वाले ईमेल को कस्टमाइज़ किया जा सकता है। टेम्पलेट, लॉजिक और अनुवाद सभी को बदला जा सकता है। टेक्स्ट को प्रति-लोकेल कस्टमाइज़ किया जा सकता है, और स्टाइलिंग को प्रति-डोमेन भी बदला जा सकता है। कस्टम ईमेल टेम्पलेट के बारे में यहाँ और जानें।
उपयोगकर्ता नाम प्रारूप 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ता का नाम वैसे दिखाएगा जैसा उन्होंने दर्ज किया था, या जैसे वह SSO के माध्यम से हमें भेजा गया था।
हालाँकि, उपयोगकर्ता के नाम को छिपाना या किसी अलग तरीके से दिखाना बेहतर हो सकता है। उदाहरण के लिए, यदि उपयोगकर्ता का नाम Allen Rex है, तो शायद आप केवल "Allen R." दिखाना चाहें।
यह Widget Customization UI में, Commenter Name Format नामक सेटिंग के तहत, बिना कोड के किया जा सकता है:
उपलब्ध फ़ॉर्मैट हैं:
- Capitalize (उदाहरण उपयोगकर्ता को Example User के रूप में दिखाएं)
- Last Initial (Example User को Example U. के रूप में दिखाएं)
- All Initials (Example User को E. U. के रूप में दिखाएं)
- "Anonymous" दिखाएं
इसे बदलने का प्रभाव तुरंत होता है। उपयोगकर्ता खुद के लिए कमेंट क्षेत्र के शीर्ष पर अपना पूरा उपयोगकर्ता नाम देखेंगे, लेकिन उनके कमेंट में संशोधित उपयोगकर्ता नाम दिखाया जाएगा।
उपयोगकर्ताओं की सुरक्षा के लिए उपयोगकर्ता नाम सर्वर-साइड पर छिपाए जाते हैं।
छवि अपलोड अक्षम करना 
डिफ़ॉल्ट रूप से FastComments इमेज अपलोड की अनुमति देता है। इसे noImageUploads फ्लैग को true सेट करके अक्षम किया जा सकता है।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
मीडिया एम्बेड की अनुमति दें 
डिफ़ॉल्ट रूप से FastComments कमेंट्स में iframes की अनुमति नहीं देता। जब आप मीडिया एम्बेड सक्षम करते हैं, तो कमेंटर्स YouTube, Vimeo, SoundCloud, और Spotify जैसे विश्वसनीय प्रदाताओं से एम्बेड कोड (<iframe> स्निपेट) पेस्ट कर सकते हैं, और यह कमेंट में इनलाइन रेंडर होगा।
सुरक्षा के लिए, यह क्लाइंट-साइड विजेट कॉन्फ़िग फ़्लैग नहीं है। यह एक सर्वर-साइड सेटिंग है, जो हर कमेंट सेव होने पर सत्यापित होती है, इसलिए इसे पेज से चालू नहीं किया जा सकता। केवल विश्वसनीय प्रदाताओं की बिल्ट-इन सूची की ओर इशारा करने वाले iframes की अनुमति है। कोई भी अन्य iframe हटा दिया जाता है।
यह बिना कोड के, विजेट कस्टमाइज़ेशन पेज पर किया जाता है:
अपने प्रदाता जोड़ना
यदि आप किसी ऐसे प्रदाता से एम्बेड की अनुमति देना चाहते हैं जो बिल्ट-इन विश्वसनीय सूची में नहीं है, तो उसी पेज पर "Additional Embed Domains" फ़ील्ड में उसका होस्टनेम जोड़ें। ये होस्टनेम बिल्ट-इन प्रदाताओं के अतिरिक्त अनुमत हैं। मिलान सटीक होता है, इसलिए पूरा होस्टनेम शामिल करें (उदाहरण के लिए, player.example.com)। जो कुछ भी आप सूचीबद्ध नहीं करते, वह ब्लॉक रहता है।
सादा कमेंट बॉक्स और WYSIWYG एडिटर दोनों एम्बेड पेस्ट करने का समर्थन करते हैं। WYSIWYG एडिटर में एम्बेड एक हटाने योग्य ब्लॉक के रूप में डाला जाता है।
खोज बॉक्स सक्षम करें 
डिफ़ॉल्ट रूप से, कमेंट विजेट में कोई सर्च बॉक्स नहीं दिखाया जाता है।
हालाँकि, हम enableSearch फ्लैग को true सेट करके इसे चालू कर सकते हैं:
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में, "Enable Search Box" विकल्प देखें।
स्पॉइलर सक्षम करें 
हम enableSpoilers फ्लैग को true सेट करके स्पॉइलर सपोर्ट सक्षम कर सकते हैं:
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में, "Enable Spoilers" विकल्प देखें।
जब टेक्स्ट हाइलाइट किया जाता है और अब दिखाई दे रहे SPOILER बटन पर क्लिक किया जाता है, तो टेक्स्ट तब तक मास्क (छिपा) रहेगा जब तक उपयोगकर्ता उस पर माउस न ले जाए। डार्क मोड के लिए हम वही काम करते हैं, लेकिन अलग रंगों के साथ जो डार्क मोड से बेहतर मेल खाते हैं।
यह WYSIWYG एडिटर के साथ भी संगत है।
टिप्पणी देखने की संख्या सक्षम करें 
डिफ़ॉल्ट रूप से, FastComments यह ट्रैक नहीं करता कि किसी कमेंट को किसने देखा, और इससे संबंधित कोई आंकड़े भी उपलब्ध नहीं कराता।
हालाँकि, हम इस सुविधा को सक्षम कर सकते हैं, और फिर सिस्टम तब से ट्रैक करना शुरू कर देगा जब भी कोई यूज़र किसी कमेंट तक स्क्रॉल करेगा।
जब ऐसा होता है, तो प्रत्येक कमेंट पर दिखाए जाने वाले आई (eye) आइकन के बगल में एक काउंटर बढ़ जाता है। यह काउंटर लाइव अपडेट होता है और यूज़र के लोकेल के अनुसार संक्षिप्त रूप में दिखाया जाता है।
हम enableViewCounts फ्लैग को true सेट करके इसे सक्षम कर सकते हैं:
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर भी कस्टमाइज़ किया जा सकता है:
हम कमेंट देखने वाले यूज़र आईडी* को एक सप्ताह तक ट्रैक करते हैं, ताकि यदि आप उस सप्ताह के भीतर कमेंट को फिर से देखें तो काउंटर न बढ़े। यदि आप सप्ताह बीतने के बाद कमेंट को फिर से देखते हैं, तो काउंटर फिर से बढ़ जाएगा।
- *नोट: या एनॉन सेशन आईडी, या यूज़र के IP का हैश किया हुआ मान।
लाइव टिप्पणियाँ तुरंत दिखाएँ 
डिफ़ॉल्ट रूप से, लाइव कमेंटिंग सक्षम होती है। इसका मतलब है कि यदि कोई कमेंट जोड़ा, हटाया, संपादित या पिन किया जाता है, तो ये बदलाव कमेंट थ्रेड देख रहे सभी उपयोगकर्ताओं को एक ही समय पर दिखाई देने चाहिए।
हालाँकि, डिफ़ॉल्ट रूप से वे नए कमेंट एक डायनामिक रूप से दिखाए जाने वाले बटन के नीचे दिखाई देंगे, जिसका टेक्स्ट "Show 2 New Comments" जैसा होगा।
यदि नए कमेंट सीधे पेज के जवाब हैं, तो बटन कमेंट थ्रेड के शीर्ष पर दिखाई देगा। यदि वे किसी विशेष कमेंट के जवाब हैं, तो बटन उस कमेंट के नीचे दिखाई देगा।
यह इसलिए है ताकि पेज का आकार उपयोगकर्ता के लिए लगातार न बदले, जो स्क्रॉल बार पकड़ने की कोशिश करते समय निराशा पैदा कर सकता है।
कुछ उपयोग मामलों के लिए, जैसे लाइव बिडिंग या ऑनलाइन इवेंट्स, यह वांछित व्यवहार नहीं है - आप चाह सकते हैं कि कमेंटिंग विजेट एक "चैट" बॉक्स जैसा अधिक हो, जहाँ नए कमेंट "तुरंत दिखाई दें"।
इसलिए, उस सुविधा को सक्षम करने वाले फ्लैग का नाम है: showLiveRightAway।
हम इसे निम्न प्रकार चालू कर सकते हैं:
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
लाइव टिप्पणी अक्षम करना 
डिफ़ॉल्ट रूप से, FastComments में लाइव कमेंटिंग सक्षम रहती है।
इसका मतलब है कि कमेंट थ्रेड के हर दर्शक को एक ही कंटेंट दिखना चाहिए।
उदाहरण के लिए, यदि एक कमेंट जोड़ा जाता है, तो वह कमेंट दिखना चाहिए। यदि कोई कमेंट संपादित या हटाया जाता है, तो वे कमेंट थ्रेड के सभी दर्शकों के लिए संपादित या हटाए जाएंगे। वोट्स और सभी मॉडरेशन कार्यों के साथ भी यही लागू होता है।
हालाँकि, हम इसे अक्षम कर सकते हैं:
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में, "Disable Live Commenting" सेक्शन देखें।
नई लाइव टिप्पणियाँ नीचे दिखाएँ 
डिफ़ॉल्ट रूप से, नए लाइव कमेंट्स वास्तविक समय में पोस्ट होते ही कमेंट लिस्ट के शीर्ष पर दिखाई देते हैं।
जब यह विकल्प सक्षम किया जाता है, तो नए लाइव कमेंट्स लिस्ट के निचले हिस्से में जोड़े जाएंगे। यह तब कमेंट्स के दिखने के तरीके को प्रभावित करता है जब उपयोगकर्ता कमेंट थ्रेड देख रहे हों और कमेंट्स लाइव पोस्ट हो रहे हों।
Run 
इस सेटिंग के सक्षम होने पर:
- अन्य उपयोगकर्ताओं द्वारा पोस्ट किए गए नए लाइव कमेंट्स कमेंट लिस्ट के निचले हिस्से में दिखाई देंगे
- उपयोगकर्ता वास्तविक समय में मौजूदा कमेंट्स के नीचे नए कमेंट्स देखेंगे
- यह केवल लाइव कमेंट अपडेट को प्रभावित करता है - पेज के प्रारंभिक लोड को नहीं
- यह उपयोगकर्ताओं को चर्चा का पालन करते समय पढ़ने के प्रवाह को बनाए रखने में मदद कर सकता है
ध्यान दें कि यह सेटिंग केवल वास्तविक समय में आने वाले नए लाइव कमेंट्स के स्थान को प्रभावित करती है। यह पेज लोड होने पर प्रारंभिक सॉर्ट क्रम को प्रभावित नहीं करती है।
अनंत स्क्रॉलिंग सक्षम करना 
डिफ़ॉल्ट रूप से, FastComments विजेट खुद को लंबवत रूप से रीसाइज़ कर लेता है ताकि सभी दिखाई देने वाली कमेंट्स फिट हो जाएं। पेजिनेशन मौजूदा पेज के अंत में एक "View Next" बटन के माध्यम से होती है, क्योंकि हमने पाया है कि यह इंटरैक्शन अधिकांश उपयोगकर्ताओं को सबसे अच्छा लगता है।
हालाँकि, कुछ मामलों में इनफिनिट स्क्रॉलिंग बेहतर होती है। उदाहरण के लिए, हम इस फीचर का उपयोग अपने Stream Chat प्रोडक्ट में करते हैं।
हम enableInfiniteScrolling फ्लैग को true सेट करके "View Next" बटन छिपा सकते हैं और इनफिनिट स्क्रॉलिंग पर स्विच कर सकते हैं:
Run 
इसके लिए कस्टम CSS जोड़ना भी आवश्यक है। स्क्रॉलिंग सक्षम करने के लिए .comments सिलेक्टर के लिए कस्टम CSS जोड़ें, उदाहरण के लिए:
Run 
एक पूर्ण कार्यशील उदाहरण इस प्रकार होगा:
Run 
उपरोक्त उदाहरण में हम customCSS प्रॉपर्टी का उपयोग करते हैं, हालाँकि परफॉर्मेंस कारणों से सुझाव दिया जाता है कि इसके बजाय Widget Configuration UI का उपयोग किया जाए। कस्टम CSS दस्तावेज़ीकरण देखें।
डिफ़ॉल्ट क्रम दिशा बदलना 
डिफ़ॉल्ट रूप से, FastComments टिप्पणियों को "Most Relevant" सॉर्ट दिशा के अनुसार क्रमबद्ध करता है।
Most Relevant सॉर्टिंग टिप्पणी करने के समय और वोटों की संख्या को ध्यान में रखकर क्रमबद्ध करती है।
उपयोगकर्ता तब कमेंट विजेट UI में सॉर्ट दिशा को Oldest या Newest First में बदल सकता है।
हालाँकि, हम डिफ़ॉल्ट को इन तीनों में से किसी भी विकल्प में बदल सकते हैं। उदाहरण के लिए, यदि आप सबसे पुरानी टिप्पणियाँ पहले दिखाना चाहते हैं:
Run 
हमने defaultSortDirection का मान "OF" सेट किया ताकि दिशा "OF" हो जाए।
Newest-first सॉर्ट दिशा के लिए, हम निम्नलिखित करेंगे:
Run 
defaultSortDirection के लिए मान्य मान हैं:
- MR: "Most Recent"
- NF: "Newest First"
- OF: "Oldest First"
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में, "Default Sort Direction" सेक्शन देखें।
ध्यान दें कि, प्रत्येक सॉर्ट दिशा के लिए प्रत्येक पेज की टिप्पणियाँ पूर्व-गणना (pre-computed) की जाती हैं, इसलिए सभी सॉर्ट दिशाओं का प्रदर्शन समान होता है।
सभी टिप्पणियाँ एक साथ दिखाना - पृष्ठांकन अक्षम करें 
पेजिनेशन को अक्षम करने के लिए, और सभी कमेंट्स को एक साथ रेंडर करने के लिए, startingPage को -1 पर सेट करें।
Run 
उत्तर बॉक्स को टिप्पणियों के बाद ले जाना 
डिफ़ॉल्ट रूप से कमेंट इनपुट एरिया कमेंट थ्रेड के पहले होता है। हालाँकि, इस कॉन्फ़िगरेशन पैरामीटर को true पर सेट करके हम इसे बाद में ले जा सकते हैं।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
टिप्पणी की लंबाई सीमित करना 
कमेंट इनपुट फ़ील्ड में दर्ज किए जा सकने वाले अधिकतम वर्णों की संख्या maxCommentCharacterLength पैरामीटर द्वारा सीमित की जा सकती है।
डिफ़ॉल्ट 2000 है।
इमेज URL जैसी चीज़ें लंबाई निर्धारण में शामिल नहीं होती हैं।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
बहु-पंक्ति टिप्पणी अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ता को डिफ़ॉल्ट वर्ण सीमा तक जितनी चाहें उतनी पंक्तियों का कमेंट दर्ज करने की अनुमति देता है।
हालाँकि, उपयोगकर्ता को केवल एक ही पंक्ति का टेक्स्ट दर्ज करने तक सीमित करना बेहतर हो सकता है। कुछ उदाहरण उपयोग के मामलों में ऑनलाइन बिडिंग या लाइव चैट शामिल हैं, जिनके लिए FastComments का उपयोग किया जा सकता है।
हम useSingleLineCommentInput फ्लैग को इस प्रकार सक्षम करते हैं:
Run 
यह कोड के बिना भी किया जा सकता है। विजेट कस्टमाइज़ेशन पेज में, "Enable Single-Line Comment Input" सेक्शन देखें।
ध्यान दें कि, प्रत्येक सॉर्ट दिशा के लिए प्रत्येक पेज पर कमेंट्स पहले से गणना की जाती हैं, इसलिए सभी सॉर्ट दिशाओं में प्रदर्शन समान होता है।
प्रति उपयोगकर्ता टिप्पणी सीमा 
डिफ़ॉल्ट रूप से, प्रत्येक उपयोगकर्ता एक ही मिनट में अधिकतम 5 comments सबमिट कर सकता है।
यह user id, anon user id, और ip address (hashed) द्वारा ट्रैक किया जाता है।
इसे बिना कोड के, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
ध्यान दें कि यदि आप कमेंट बनाने की API का उपयोग कर रहे हैं, तो आप अपने बैकएंड को भेजे गए रिक्वेस्ट में उपयोगकर्ता का मूल ip पता पास करना चाह सकते हैं, ताकि रेट लिमिटिंग प्रति उपयोगकर्ता लागू हो, न कि आपके पूरे खाते पर वैश्विक स्तर पर।
नई शीर्ष-स्तरीय टिप्पणियाँ रोकें 
noNewRootComments को true पर सेट करने से विजेट रूट रिप्लाई एरिया को छिपा देगा, लेकिन उपयोगकर्ताओं को अभी भी चाइल्ड कमेंट्स का जवाब देने की अनुमति रहेगी। उदाहरण के लिए, आप इसे पेज लोड पर शर्त के आधार पर सेट कर सकते हैं ताकि केवल कुछ उपयोगकर्ता ही टॉप-लेवल कमेंट कर सकें।
Run 
अधिकतम उत्तर गहराई 
डिफ़ॉल्ट रूप से, FastComments उत्तरों की असीमित नेस्टिंग की अनुमति देता है, जिससे एक थ्रेड संरचना बनती है जहाँ उपयोगकर्ता असीमित रूप से उत्तरों का उत्तर दे सकते हैं।
maxReplyDepth विकल्प आपको यह सीमित करने की अनुमति देता है कि उत्तर थ्रेड कितनी गहराई तक जा सकते हैं। जब अधिकतम गहराई तक पहुँच जाता है, तो उपयोगकर्ता उस स्तर पर टिप्पणियों पर उत्तर (reply) बटन नहीं देखेंगे।
Run 
maxReplyDepth को 2 पर सेट करने पर:
- उपयोगकर्ता शीर्ष स्तर पर टिप्पणी कर सकते हैं (गहराई 0)
- उपयोगकर्ता शीर्ष-स्तरीय टिप्पणियों का उत्तर दे सकते हैं (गहराई 1)
- उपयोगकर्ता उन उत्तरों का उत्तर दे सकते हैं (गहराई 2)
- गहराई 2 से आगे कोई उत्तर की अनुमति नहीं है
इसे 1 पर सेट करने से केवल शीर्ष-स्तरीय टिप्पणियों के उत्तर की अनुमति मिलेगी, जिससे अधिक सपाट चर्चा संरचना बनेगी।
maxReplyDepth को 0 पर सेट करने से सभी उत्तर अक्षम हो जाएंगे, जिससे केवल शीर्ष-स्तरीय टिप्पणियों की अनुमति मिलेगी। यदि निर्दिष्ट नहीं किया गया है, तो उत्तर बिना सीमा के नेस्ट किए जा सकते हैं।
सेवा की शर्तों की स्वीकृति आवश्यक करें 
FastComments आपको पहली बार टिप्पणी करने वालों के लिए यह आवश्यक करने की सुविधा देता है कि वे टिप्पणी सबमिट करने से पहले आपकी सेवा की शर्तें (Terms of Service) स्वीकार करें।
सक्षम होने पर:
- गुमनाम (Anonymous) उपयोगकर्ता हर बार टिप्पणी करते समय TOS चेकबॉक्स देखेंगे
- प्रमाणित (Authenticated) उपयोगकर्ता चेकबॉक्स केवल अपनी पहली टिप्पणी पर देखेंगे, या जब आप अपनी TOS अपडेट करें
कॉन्फ़िगरेशन
विजेट कस्टमाइज़ेशन पेज पर जाएं और "Require Terms of Service acceptance" चेकबॉक्स सक्षम करें। सक्षम होने के बाद, आपको निम्नलिखित विकल्प दिखाई देंगे:
- TOS Text Mode: डिफ़ॉल्ट रूप से, चेकबॉक्स "I agree to the Terms of Service and Privacy Policy" प्रदर्शित करता है, जिसमें दोनों दस्तावेज़ों के लिंक होते हैं। प्रत्येक भाषा के लिए अपना टेक्स्ट प्रदान करने के लिए "Customize text per locale" चुनें।
- TOS Last Updated Date: जब आप अपनी सेवा की शर्तें अपडेट करें, तो यह तिथि सेट करें। इस तिथि से पहले स्वीकृति देने वाले उपयोगकर्ताओं को दोबारा स्वीकार करना होगा।
यह कैसे काम करता है
- TOS स्वीकृति का टाइमस्टैम्प प्रति-उपयोगकर्ता और प्रति-टिप्पणी संग्रहीत किया जाता है
- जब कोई उपयोगकर्ता TOS स्वीकार करता है, तो तिथि उनके उपयोगकर्ता प्रोफ़ाइल पर दर्ज की जाती है (प्रति-टेनेंट)
- यदि आप उपयोगकर्ता की स्वीकृति तिथि के बाद की कोई "Last Updated" तिथि सेट करते हैं, तो उन्हें दोबारा स्वीकार करना होगा
- गुमनाम उपयोगकर्ताओं, जिन्हें ट्रैक नहीं किया जा सकता, के लिए चेकबॉक्स हर टिप्पणी सबमिशन पर दिखाई देता है
अनभेजी टिप्पणी के साथ छोड़ने से पहले चेतावनी दें 
डिफ़ॉल्ट रूप से, यदि कोई उपयोगकर्ता एक कमेंट टाइप करता है और फिर सबमिट करने से पहले पेज रिफ्रेश करता है, टैब बंद करता है, या दूसरे पेज पर नेविगेट करता है, तो ड्राफ्ट चुपचाप खो जाता है।
warnOnUnsavedComment को true पर सेट करने से ब्राउज़र उपयोगकर्ता से पेज छोड़ने से पहले पुष्टि करने के लिए कहता है, जब तक कोई कमेंट बॉक्स, या चल रहा कोई संपादन, अभी भी टेक्स्ट रखता है। कमेंट सबमिट होने के बाद टेक्स्ट साफ़ हो जाता है, इसलिए कोई प्रॉम्प्ट नहीं दिखाया जाता।
Run 
प्रॉम्प्ट ब्राउज़र के अपने डायलॉग का उपयोग करता है। आधुनिक ब्राउज़र अपनी खुद की भाषा दिखाते हैं और कस्टम टेक्स्ट को अनदेखा करते हैं, इसलिए संदेश को कस्टमाइज़ नहीं किया जा सकता।
यह विकल्प मांग पर एक छोटा एक्सटेंशन लोड करता है, इसलिए जिन साइटों पर इसे सक्षम नहीं किया जाता, उनके लिए यह विजेट में कुछ भी नहीं जोड़ता।
पोल सक्षम करना 
पोल (Polls) कमेंटर्स को किसी कमेंट के साथ 2 से 10 विकल्पों वाला एक प्रश्न जोड़ने की सुविधा देते हैं। पेज पर मौजूद सभी लोग वहीं वोट कर सकते हैं और परिणाम लाइव अपडेट होते देख सकते हैं।
पोल डिफ़ॉल्ट रूप से बंद रहते हैं। कमेंट टूलबार में पोल बटन जोड़ने के लिए विजेट कस्टमाइज़ेशन सेटिंग्स में Enable Polls चुनें। इसके बाद दो और सेटिंग्स दिखाई देंगी:
- Who Can Create Polls: केवल Admins/Moderators (डिफ़ॉल्ट), या Everyone।
- Allow Anonymous Poll Votes: जब अनचेक हो (डिफ़ॉल्ट), तो केवल लॉग इन किए हुए उपयोगकर्ता ही वोट कर सकते हैं।
पोल बनाना, वोटिंग, प्राइवेसी और पोल नोटिफिकेशन कैसे काम करते हैं, इसके लिए Polls गाइड देखें।
सिंगल साइन ऑन (SSO) अवलोकन 
SSO, या सिंगल-साइन-ऑन, कन्वेंशन्स का एक सेट है जिसका उपयोग आपको या आपके उपयोगकर्ताओं को बिना दूसरा खाता बनाए FastComments का उपयोग करने की अनुमति देने के लिए किया जाता है।
मान लें कि आप गुमनाम (anonymous) टिप्पणी की अनुमति नहीं देते हैं, तो FastComments के साथ टिप्पणी करने के लिए एक खाता आवश्यक है। हम इस साइन अप प्रक्रिया को बहुत आसान बनाते हैं - उपयोगकर्ता केवल टिप्पणी करते समय अपना ईमेल छोड़ देता है। हालाँकि, हम समझते हैं कि कुछ साइटें यहाँ तक कि इस अतिरिक्त बाधा से भी बचना चाहती हैं।
हम आपकी पूरी साइट के लिए केवल एक लॉगिन फ्लो रखकर इस बाधा को कम कर सकते हैं।
मैं इसे कैसे प्राप्त करूँ?
वर्तमान में सभी खाता प्रकारों को SSO तक पहुँच प्राप्त है। हालाँकि, SSO उपयोगकर्ताओं की अधिकतम संख्या आपके पैकेज के आधार पर भिन्न होगी। अन्य सुविधाओं की तरह, Pro प्लान और उससे ऊपर के प्लान सीधा डेवलपमेंट समर्थन प्रदान करते हैं।
आइए विकल्पों की तुलना करें, और फिर प्रत्येक के विवरण में जाएँ।
उपयोगकर्ता और टिप्पणी माइग्रेशन
जब आप Disqus जैसे SSO वाले प्लेटफ़ॉर्म से माइग्रेट कर रहे होते हैं, तो आपके पास पहले से ही उपयोगकर्ता और उनकी टिप्पणियाँ होती हैं।
टिप्पणियाँ आपके माइग्रेशन के हिस्से के रूप में आयात की जाती हैं, चाहे API द्वारा, हमारे Import UI द्वारा, या ग्राहक सहायता द्वारा। Import UI को प्राथमिकता दी जाती है यदि यह उस प्लेटफ़ॉर्म का समर्थन करता है जिससे आप माइग्रेट कर रहे हैं, क्योंकि इसमें त्रुटि हैंडलिंग, अवतार और मीडिया निष्कर्षण तथा अपलोड, और बैच जॉब मॉनिटरिंग सिस्टम शामिल है।
उपयोगकर्ता स्वयं पहली बार टिप्पणी थ्रेड देखते समय स्वचालित रूप से जोड़े जाते हैं। वैकल्पिक रूप से, उन्हें API के माध्यम से पहले से जोड़ा जा सकता है, लेकिन इस काम के अधिक लाभ नहीं हैं।
यदि टिप्पणियाँ आयात की जाती हैं, और SSO उपयोगकर्ता API के माध्यम से मैन्युअल रूप से नहीं जोड़े जाते हैं, तो टिप्पणियाँ स्वचालित रूप से उपयोगकर्ता के खाते में माइग्रेट हो जाएँगी जब वे पहली बार कोई टिप्पणी थ्रेड देखते हैं और उनका खाता बनाया जाता है। इसके बाद वे उन टिप्पणियों को प्रबंधित, संपादित और हटा सकेंगे जो उन्होंने मूल रूप से लिखी थीं।
स्वचालित माइग्रेशन ईमेल या उपयोगकर्ता नाम के माध्यम से किया जाता है। कुछ प्लेटफ़ॉर्म, जैसे Disqus, एक्सपोर्ट पर ईमेल प्रदान नहीं करते हैं, इसलिए इस स्थिति में हम उपयोगकर्ता नाम का उपयोग करते हैं।
- जब तक आप SSO पेलोड में एक मिलान करने वाला उपयोगकर्ता नाम और एक ईमेल पास करते हैं, हम व्यक्तिगत टिप्पणी ऑब्जेक्ट्स में ईमेल जोड़ देंगे ताकि सूचनाएँ और मेंशन काम करें।
यदि आप अपनी टिप्पणियों और उपयोगकर्ताओं को एक साथ आयात करना चाहते हैं, तो API के माध्यम से उपयोगकर्ताओं को आयात करने के बाद समर्थन टीम के साथ मिलकर टिप्पणियों को उपयोगकर्ताओं के संबंधित खातों में माइग्रेट करें।
इसलिए, माइग्रेशन के लिए सबसे आसान रास्ता इस प्रकार है:
- टिप्पणियाँ आयात करें।
- यदि आप
Manage Data -> Importsमें Import UI का उपयोग कर रहे हैं तो अवतार और अन्य मीडिया स्वचालित रूप से माइग्रेट हो जाते हैं।
- यदि आप
- Secure या Simple SSO सेटअप करें।
- जब उपयोगकर्ता पहली बार लॉग इन करें तो माइग्रेशन प्रति-उपयोगकर्ता स्वचालित रूप से होने दें।
- यदि उपयोगकर्ता के पास 50k से कम टिप्पणियाँ हैं तो यह आमतौर पर पेज लोड समय में एक सेकंड से कम जोड़ता है।
WordPress उपयोगकर्ता
यदि आप हमारे WordPress प्लगइन का उपयोग कर रहे हैं तो कोई कोड लिखने की आवश्यकता नहीं है! बस प्लगइन के एडमिन पेज पर जाएँ, SSO Settings पर क्लिक करें, और फिर Enable करें।
इससे आप एक सिंगल-बटन क्लिक विज़ार्ड पर पहुँचेंगे जो आपकी API कुंजी बनाएगा, इसे आपके WordPress इंस्टॉल पर भेजेगा और SSO चालू कर देगा। हमने इसे आपके लिए एक सिंगल बटन क्लिक में समेकित किया है।
ध्यान दें कि यदि आप प्लगइन को पहली बार इंस्टॉल कर रहे हैं तो आपको SSO Settings बटन वाला एडमिन पेज देखने से पहले सेटअप प्रक्रिया को पूरा करना होगा।
WordPress SSO - मॉडरेटर
ध्यान दें कि वर्तमान में FastComments WordPress प्लगइन के साथ टिप्पणी करते समय आपके मॉडरेटर के आगे "Moderator" बैज दिखाने के लिए, उन्हें FastComments डैशबोर्ड में भी मॉडरेटर के रूप में जोड़ा जाना चाहिए, और उनका ईमेल सत्यापित होना चाहिए।
कस्टम इंटीग्रेशन
कस्टम इंटीग्रेशन के लिए, दो विकल्प हैं।
विकल्प एक - Secure SSO
Secure SSO के साथ, FastComments जानता है कि टिप्पणी करने, वोट करने और टिप्पणियाँ पढ़ने वाला उपयोगकर्ता आपकी साइट का वास्तविक उपयोगकर्ता है।
जब तक आप एक वैध पेलोड बनाते हैं, उपयोगकर्ता को हमेशा एक निर्बाध टिप्पणी अनुभव मिलेगा।
Secure SSO के साथ, SSO पेलोड सर्वर-साइड पर HMAC प्रमाणीकरण का उपयोग करके बनाया जाता है और फिर क्लाइंट पर विजेट को पास किया जाता है।
Secure SSO के साथ, उपयोगकर्ता का खाता FastComments के बाकी उपयोगकर्ता-आधार से पूरी तरह अलग होता है। इसका मतलब है कि यदि हमारे पास दो पार्टनर Company A और Company B हैं, तो प्रत्येक के पास "Bob" उपयोगकर्ता नाम वाला एक SSO उपयोगकर्ता हो सकता है।
आवश्यकताएँ
- बैकएंड डेवलपमेंट के बारे में कुछ बुनियादी ज्ञान।
- गुप्त API कुंजियों के साथ काम करने के बारे में कुछ बुनियादी ज्ञान।
- API डेवलपमेंट या सर्वर-साइड रेंडरिंग के बारे में कुछ बुनियादी ज्ञान।
फायदे
- सुरक्षित।
- निर्बाध टिप्पणी अनुभव।
नुकसान
- बैकएंड डेवलपमेंट की आवश्यकता है।
उपयोगकर्ता डेटा अपडेट करना
Secure SSO के साथ, हर बार जब आप sso उपयोगकर्ता पेलोड पास करते हैं, हम उनके उपयोगकर्ता को नवीनतम जानकारी के साथ अपडेट कर देंगे। उदाहरण के लिए, यदि
उपयोगकर्ता का उपयोगकर्ता नाम X है, और आप SSO पेलोड में Y पास करते हैं, तो उनका उपयोगकर्ता नाम Y हो जाएगा।
यदि आप इस दृष्टिकोण का उपयोग करके मान हटाना चाहते हैं तो उन्हें null पर सेट करें (undefined नहीं)।
Secure SSO API
हम SSO उपयोगकर्ताओं के साथ इंटरैक्ट करने के लिए एक API भी प्रदान करते हैं। दस्तावेज़ देखें।
ध्यान दें कि Secure SSO का उपयोग करते समय, उपयोगकर्ता पेज लोड पर पर्दे के पीछे स्वचालित रूप से बनाए जाते हैं। आपको अपने उपयोगकर्ताओं को बल्क इंपोर्ट करने की आवश्यकता नहीं है।
विकल्प दो - Simple SSO
Secure SSO का विकल्प यह है कि उपयोगकर्ता की जानकारी को सीधे टिप्पणी विजेट को पास कर दिया जाए।
Simple SSO के साथ ईमेल प्रदान करना आवश्यक नहीं है, हालाँकि इसके बिना उनकी टिप्पणियाँ "Unverified" के रूप में दिखाई देंगी।
ध्यान दें! 2022 की शुरुआत से Simple SSO के उपयोगकर्ता नामों का पूरे FastComments.com पर अद्वितीय होना आवश्यक नहीं है।
आदर्श रूप से, Simple SSO को केवल तब चुना जाना चाहिए जब ऐसे प्लेटफ़ॉर्म पर डेवलपमेंट कर रहे हों जो बैकएंड एक्सेस प्रदान नहीं करते।
आवश्यकताएँ
- क्लाइंट-साइड डेवलपमेंट के बारे में कुछ बुनियादी ज्ञान।
- कम से कम उपयोगकर्ता का ईमेल जानना आवश्यक है।
फायदे
- सरल।
- सभी गतिविधि अभी भी सत्यापित होती है।
- उपयोगकर्ता कभी अपना उपयोगकर्ता नाम या ईमेल दर्ज नहीं करता।
नुकसान
- Secure SSO की तुलना में कम सुरक्षित, क्योंकि क्लाइंट-साइड पेलोड को किसी भी उपयोगकर्ता बनने के लिए तैयार किया जा सकता है।
Simple SSO API
Simple SSO फ्लो के माध्यम से स्वचालित रूप से बनाए गए उपयोगकर्ता SSOUser ऑब्जेक्ट्स के रूप में संग्रहीत होते हैं। इन्हें SSOUser API के माध्यम से एक्सेस और प्रबंधित किया जा सकता है। दस्तावेज़ देखें।
कस्टम एकीकरण - सुरक्षित सिंगल साइन ऑन (SSO) 
FastComments Secure SSO, SSO लागू करने के तंत्र के रूप में HMAC-SHA256 एन्क्रिप्शन का उपयोग करता है। पहले हम समग्र आर्किटेक्चर को समझेंगे, उदाहरण और विस्तृत चरण प्रदान करेंगे।
समान SSO तंत्र वाले अन्य प्रदाताओं से माइग्रेट करने और अंतरों के बारे में भी कुछ दस्तावेज़ीकरण उपलब्ध है।
प्रवाह इस प्रकार दिखता है:
चूंकि Secure SSO में फुल-स्टैक विकास शामिल है, Java/Spring, NodeJS/Express, और vanilla PHP में पूर्ण कार्यशील कोड उदाहरण वर्तमान में GitHub पर उपलब्ध हैं।
हालाँकि हम NodeJS उदाहरण में ExpressJS और Java उदाहरण में Spring का उपयोग करते हैं, FastComments SSO लागू करने के लिए इन रन-टाइम में किसी फ्रेमवर्क/लाइब्रेरी की आवश्यकता नहीं है - नेटिव crypto पैकेज काम करते हैं।
FastComments SSO के साथ आपको कोई नए API endpoints लिखने की आवश्यकता नहीं है। बस अपनी secret key का उपयोग करके उपयोगकर्ता की जानकारी एन्क्रिप्ट करें और payload को comment widget को पास करें।
अपनी API Secret Key प्राप्त करें
आपकी API Secret इस पेज से प्राप्त की जा सकती है। आप यह पेज My Account में जाकर, API/SSO टाइल पर क्लिक करके, और फिर "Get API Secret Key" पर क्लिक करके भी ढूंढ सकते हैं।
Comment Widget पैरामीटर
Comment widget के लिए हाई-लेवल API दस्तावेज़ीकरण यहाँ मिल सकता है।
आइए इन पैरामीटर्स के अर्थ को और विस्तार से समझें।
Comment widget एक configuration object लेता है - यदि आप FastComments का उपयोग करके अपनी customer id (जिसे tenantId कहा जाता है) पास कर रहे हैं, तो आप यह पहले से ही पास कर रहे हैं।
SSO सक्षम करने के लिए, एक नया "sso" object पास करें, जिसमें निम्नलिखित पैरामीटर होने चाहिए। ये मान server side पर जेनरेट किए जाने चाहिए।
- userDataJSONBase64: JSON फॉर्मेट में उपयोगकर्ता का डेटा, जिसे फिर Base64 एन्कोड किया जाता है।
- verificationHash: UNIX_TIME_MILLIS + userDataJSONBase64 से बनाया गया HMAC-SHA256 हैश।
- timestamp: Epoch timestamp, milliseconds में। यह भविष्य में नहीं, और दो दिन से अधिक पुराना नहीं होना चाहिए।
- loginURL: एक URL जिसे comment widget उपयोगकर्ता को लॉग इन कराने के लिए दिखा सकता है।
- logoutURL: एक URL जिसे comment widget उपयोगकर्ता को लॉग आउट कराने के लिए दिखा सकता है।
- loginCallback: login URL के स्थान पर प्रदान किए जाने पर, एक फ़ंक्शन जिसे comment widget login बटन पर क्लिक करने पर कॉल करेगा।
- logoutCallback: logout URL के स्थान पर प्रदान किए जाने पर, एक फ़ंक्शन जिसे comment widget logout बटन पर क्लिक करने पर कॉल करेगा।

User Object
User object में निम्नलिखित schema होता है:

मॉडरेटर और एडमिनिस्ट्रेटर
एडमिन और मॉडरेटर के लिए, SSOUser object में संबंधित isAdmin या isModerator फ्लैग पास करें।
नोटिफिकेशन
नोटिफिकेशन सक्षम या अक्षम करने के लिए, optedInNotifications का मान क्रमशः true या false सेट करें। जब उपयोगकर्ता पहली बार SSO payload में यह मान लेकर पेज लोड करता है, तो उनकी नोटिफिकेशन सेटिंग्स अपडेट हो जाएंगी।
इसके अतिरिक्त, यदि आप चाहते हैं कि उपयोगकर्ता उन पेजों की गतिविधि के लिए नोटिफिकेशन ईमेल प्राप्त करें जिनकी उन्होंने सदस्यता ली है (केवल इन-ऐप नोटिफिकेशन के बजाय), तो optedInSubscriptionNotifications को true सेट करें।
VIP उपयोगकर्ता और विशेष लेबल
आप वैकल्पिक "displayLabel" फ़ील्ड का उपयोग करके उपयोगकर्ता के नाम के बगल में एक विशेष लेबल प्रदर्शित कर सकते हैं।
अप्रमाणित उपयोगकर्ता
एक अप्रमाणित उपयोगकर्ता को दर्शाने के लिए, बस userDataJSONBase64, verificationHash, या timestamp को पॉपुलेट न करें। एक loginURL प्रदान करें।
ये उपयोगकर्ता टिप्पणी नहीं कर पाएंगे, और इसके बजाय उन्हें एक लॉगिन संदेश दिखाया जाएगा (संदेश, लिंक, या बटन, configuration के आधार पर)।
उपयोगकर्ता डेटा को सीरियलाइज़ और हैश करने के सीधे उदाहरण
उदाहरण के रूप में अधिक विवरण यहाँ (js), यहाँ (java) और यहाँ (php) उपलब्ध हैं।
हम समझते हैं कि कोई भी इंटीग्रेशन एक जटिल और कठिन प्रक्रिया हो सकती है। अपने प्रतिनिधि से संपर्क करने या सपोर्ट पेज का उपयोग करने में संकोच न करें।
कस्टम एकीकरण - सरल सिंगल साइन ऑन (SSO) 
Simple SSO के साथ, हम कमेंटिंग विजेट को यूज़र के बारे में जानकारी दे सकते हैं ताकि उन्हें कमेंट करने के लिए अपना यूज़रनेम या ईमेल दर्ज न करना पड़े।
हम Simple SSO को इस प्रकार कॉन्फ़िगर कर सकते हैं:
Run 
यूज़र लॉग इन हो जाएगा, और पर्दे के पीछे एक SSO यूज़र बनाया जाएगा। यदि API से फ़ेच किया जाए तो यूज़र का createdFromSimpleSSO true पर सेट होगा।
नोट्स:
- ईमेल Simple SSO के लिए यूनिक आइडेंटिफ़ायर है।
- Simple SSO के साथ ईमेल देना आवश्यक नहीं है, हालाँकि डिफ़ॉल्ट रूप से उनके कमेंट्स "Unverified" दिखेंगे। यदि कोई ईमेल नहीं दिया गया है, तो यूज़र पूरी तरह से प्रमाणित नहीं हो सकता।
- नया जनवरी 2022 से: यूज़रनेम का पूरे fastcomments.com पर यूनिक होना ज़रूरी नहीं है
- Simple SSO स्वचालित रूप से SSO यूज़र्स बना और अपडेट कर सकता है, बशर्ते ईमेल दिया गया हो और यूज़र मूल रूप से Secure SSO से न बना हो। यदि Simple SSO पेलोड Secure SSO या API द्वारा बनाए गए यूज़र को नामित करता है, तो उस यूज़र को अछूता छोड़ दिया जाता है और विज़िटर को एक अलग यूज़र मिलता है।
- आप
badgeConfigप्रॉपर्टी के साथ यूज़र के लिए बैज निर्दिष्ट कर सकते हैं।badgeIdsऐरे में यूज़र से संबद्ध करने के लिए ग्लोबल बैज की IDs होती हैं।pageBadgeIdsऐरे में वर्तमान पेज (urlId) तक सीमित बैज IDs होती हैं — ये बैज केवल उस पेज पर दिखाए जाते हैं जहाँ उन्हें असाइन किया गया था। यदिoverridetrueपर सेट है, तो यह मौजूदा दिखाए जा रहे बैजों को बदल देगा (ग्लोबल और पेज-स्कोप्ड को स्वतंत्र रूप से ओवरराइड किया जाता है); यदिfalseहै तो यह मौजूदा बैजों में जोड़ेगा।
Simple SSO सेटिंग्स
Simple SSO हमेशा उपलब्ध है। दो सेटिंग्स नियंत्रित करती हैं कि FastComments इस पर कितना भरोसा करता है। आप इन्हें customization rule में SSO खोजकर पा सकते हैं। दोनों डिफ़ॉल्ट रूप से बंद हैं, और ये तब लागू होती हैं चाहे "Require SSO To View Comments" चालू हो या नहीं।
इन सेटिंग्स के जोड़े जाने के समय पहले से Simple SSO का उपयोग करने वाले अकाउंट्स में दोनों चालू कर दी गई थीं, इसलिए उनके लिए कुछ नहीं बदला।
केवल वही customization rule लागू होता है जो किसी पेज से सबसे अच्छी तरह मेल खाता है, इसलिए यदि आपके पास एक से अधिक रूल हैं, तो इन्हें उनमें से प्रत्येक पर सेट करें। यदि आपके किसी अन्य रूल में ये चालू हैं, तो नया रूल इन्हें चालू अवस्था में शुरू होता है।
Simple SSO के माध्यम से कमेंट्स को स्वतः सत्यापित करें
जब यह चालू हो, Simple SSO यूज़र्स के कमेंट्स तुरंत सत्यापित हो जाते हैं।
जब यह बंद हो, Simple SSO यूज़र्स के कमेंट्स "Unverified" दिखते हैं जब तक कि यूज़र हमारे द्वारा Simple SSO पेलोड में दिए गए पते पर भेजे गए लिंक पर क्लिक न करे। यदि आप केवल सत्यापित कमेंट्स को स्वतः अप्रूव करते हैं, तो वे भी उस लिंक की प्रतीक्षा करते हैं। यदि पेलोड में कोई ईमेल नहीं है, तो कमेंट असत्यापित रहता है।
यह सेटिंग केवल कमेंट्स को प्रभावित करती है। Simple SSO यूज़र्स के वोट हमेशा तुरंत गिने जाते हैं।
Simple SSO एडमिन्स की अनुमति दें
जब यह चालू हो, एक Simple SSO यूज़र आपके अकाउंट का एडमिन या मॉडरेटर हो सकता है:
- जिस Simple SSO यूज़र के पास एडमिन या मॉडरेटर अनुमतियाँ हैं, वे उसके पास बनी रहती हैं।
- जिस Simple SSO यूज़र का ईमेल आपके किसी एडमिनिस्ट्रेटर या मॉडरेटर के समान है, वह उनकी अनुमतियाँ प्राप्त कर लेता है।
जब यह बंद हो, Simple SSO ये अनुमतियाँ नहीं देता। जो Simple SSO पेलोड ऐसे यूज़र को नामित करता है जिसके पास ये अनुमतियाँ हैं, उसे बिना अनुमतियों वाला एक अलग यूज़र मिलता है, और मूल यूज़र अछूता रहता है।
Simple SSO पेलोड साइन नहीं किए जाते, इसलिए जब यह चालू हो, कोई भी व्यक्ति जो किसी एडमिनिस्ट्रेटर का ईमेल या यूज़र आईडी जानता है, वह उनकी तरह काम कर सकता है। यदि यह आपकी साइट के लिए मायने रखता है, तो इसे बंद रखें और अपने एडमिनिस्ट्रेटर्स के लिए Secure SSO का उपयोग करें।
Secure SSO या API द्वारा बनाए गए यूज़र्स तक Simple SSO नहीं पहुँच सकता, चाहे यह चालू हो या नहीं।
कस्टम एकीकरण - Disqus SSO से माइग्रेशन 
Disqus और FastComments Secure SSO के बीच सबसे बड़ा अंतर यह है कि Disqus एन्क्रिप्शन के लिए SHA1 का उपयोग करता है जबकि हम SHA256 का उपयोग करते हैं। इसका मतलब है कि Disqus से माइग्रेट करना आसान है - उपयोग किए गए हैशिंग एल्गोरिथम को SHA1 से SHA256 में बदलें और UI को पास की गई प्रॉपर्टी नामों को अपडेट करें।
कस्टम एकीकरण - Commento SSO से माइग्रेशन 
Commento एक पूरी तरह से अलग SSO दृष्टिकोण अपनाता है - वे आपसे एक endpoint रखने की मांग करते हैं जिसे वे user को प्रमाणित करने के लिए invoke करते हैं। FastComments इसके विपरीत है - बस अपनी secret key का उपयोग करके user की जानकारी को encode और hash करें और उसे साथ में पास करें।
सिंगल-साइन-ऑन से टिप्पणी थ्रेड की सुरक्षा 
FastComments SSO (विवरण यहाँ) आपके उपयोगकर्ताओं को किसी अन्य प्लेटफ़ॉर्म पर लॉग इन किए बिना टिप्पणी करने का एक तरीका प्रदान करता है।
हालाँकि, इसके अकेले आपके कमेंट थ्रेड्स सुरक्षित नहीं होते, क्योंकि डिफ़ॉल्ट रूप से कमेंट डेटा सार्वजनिक रूप से उपलब्ध जानकारी होती है - जो कोई भी पेज देख सकता है, वह कमेंट्स भी देख सकता है।
एक सेटिंग बदलकर, हम कमेंट्स को प्राप्त (fetch) होने से प्रतिबंधित कर सकते हैं, जब तक कि वह एक व्यवस्थापक (administrator) या वैध SSO उपयोगकर्ता द्वारा न हो।
No-Code सेटअप
जब SSO सेट अप हो, तो हम एक customization rule बनाकर अपने कमेंट थ्रेड्स को देखने और उनके साथ इंटरैक्ट करने से रोक सकते हैं।
ऐसा करते समय, SSO खोजें, और आपको यह विकल्प मिलेगा:
इसे सक्षम करें और customization rule सहेजें।
केवल एक विशेष डोमेन या पेज की सुरक्षा करें
केवल एक विशेष डोमेन या पेज की सुरक्षा करने के लिए, हम बस customization rule को ऐसा करने के लिए कॉन्फ़िगर करेंगे।
customization UI के शीर्ष पर, हमें दो इनपुट मिलेंगे - Domain और URL ID।
किसी विशेष डोमेन की सुरक्षा करने के लिए, संबंधित डोमेन को "domain" फ़ील्ड में दर्ज करें।
किसी विशेष पेज की सुरक्षा करने के लिए, "URL ID" फ़ील्ड में एक पेज URL दर्ज करें। यदि आपके पास FastComments के साथ एक कस्टम इंटीग्रेशन है, तो आप URL के बजाय यहाँ एक प्रकार की ID दर्ज कर सकते हैं।
सुरक्षा स्तर
SSO आवश्यक करते समय, आप यह तय करना चाहेंगे कि आपको Simple SSO चाहिए या Secure SSO। यदि आप Simple SSO आवश्यक करते हैं, तो दोनों की अनुमति होती है, लेकिन यदि आप Secure SSO आवश्यक करते हैं, तो सामग्री को देखने के लिए उसे आपकी API key के साथ हैश किए गए Secure SSO पेलोड के साथ प्राप्त किया जाना चाहिए।
सुरक्षा स्तर का विकल्प तब दिखाई देगा जब आप "Require SSO To View Comments" चुनेंगे, और यह केवल तभी प्रभावी होता है जब वह विकल्प चालू हो।
Auto Verify Comments via Simple SSO और Allow Simple SSO Admins सेटिंग्स अलग हैं, और इस विकल्प के चालू होने या न होने पर भी लागू होती हैं।
पढ़ने से परे सुरक्षा
इस विकल्प को सक्षम करने से पेज या डोमेन पर टिप्पणी करने से सुरक्षा मिलेगी, जब तक कि उपयोगकर्ता SSO के माध्यम से लॉग इन न हो।
सावधानियाँ (Gotchas)
आपके SSO इंटीग्रेशन से पहले कमेंट बनाने वाले कोई भी उपयोगकर्ता उन्हें नहीं देख पाएंगे, जब तक कि वे आपके SSO इंटीग्रेशन के माध्यम से लॉग इन न करें।
गुमनाम टिप्पणी की अनुमति दें 
डिफ़ॉल्ट रूप से, FastComments टिप्पणी करने के लिए एक ईमेल की आवश्यकता रखेगा। हालाँकि, यह एक वैध ईमेल होना ज़रूरी नहीं है, लेकिन जब तक उपयोगकर्ता उन्हें भेजे गए लिंक पर क्लिक नहीं करता, उनकी टिप्पणी पर "Unverified Comment" लेबल दिखाई देगा।
हालाँकि, हम ईमेल की आवश्यकता को हटा सकते हैं। ईमेल इनपुट फ़ील्ड अभी भी दिखाई देगा, लेकिन अब यह आवश्यक नहीं रहेगा।
इसे विजेट कस्टमाइज़ेशन UI के माध्यम से कॉन्फ़िगर किया जा सकता है:
एक उपयोगकर्ता नाम अभी भी आवश्यक है। इस चरण को भी हटाने के लिए, आप एक डिफ़ॉल्ट उपयोगकर्ता नाम सेट कर सकते हैं जिसे सभी साझा करते हैं, या FastComments को प्रत्येक आगंतुक के लिए एक अद्वितीय उपयोगकर्ता नाम जनरेट करने दे सकते हैं।
गुमनाम टिप्पणियों को समाप्त होने से रोकना 
FastComments को असत्यापित (unverified) कमेंट्स को एक निर्धारित संख्या में दिनों के बाद हटाने के लिए कॉन्फ़िगर किया जा सकता है। इससे स्पैम से लड़ने में मदद मिलती है।
डिफ़ॉल्ट रूप से, यह ऐसा नहीं करता है।
इसे Moderation Settings पेज के माध्यम से कॉन्फ़िगर या अक्षम किया जा सकता है।
ईमेल इनपुट अक्षम करें 
जब उपयोगकर्ता टिप्पणी करते हैं और वे लॉग इन नहीं होते हैं, तो उनसे उनका ईमेल प्रदान करने के लिए कहा जाएगा।
इससे उस उपयोगकर्ता के लिए एक "असत्यापित सत्र" बनेगा, और हम उनसे ईमेल के माध्यम से उस सत्र को सत्यापित करने के लिए कहेंगे।
कुछ साइटों या एप्लिकेशनों के लिए, टिप्पणी करते या वोट करते समय उपयोगकर्ता से उनका ईमेल न पूछना बेहतर होता है।
अनाम टिप्पणी (anonymous commenting) सक्षम करने से ईमेल इनपुट फ़ील्ड वैकल्पिक हो जाता है। हालाँकि, हम इसे पूरी तरह से अक्षम भी कर सकते हैं। सबसे पहले अनाम टिप्पणी सक्षम करें, और फिर ईमेल इनपुट फ़ील्ड को अक्षम करने का विकल्प दिखाई देगा।
इसे चालू करने पर, हमारे सभी टिप्पणी उत्पादों में ईमेल फ़ील्ड बिल्कुल भी नहीं दिखेंगे।
ध्यान दें कि, इस कॉन्फ़िगरेशन के साथ, सभी टिप्पणियाँ असत्यापित रहेंगी जब तक कि उपयोगकर्ता खाता न बनाए और https://fastcomments.com पर लॉग इन न करे।
आप असत्यापित लेबल अक्षम करने पर विचार कर सकते हैं।
असत्यापित लेबल अक्षम करें 
डिफ़ॉल्ट रूप से, FastComments उन टिप्पणियों के लिए "Unverified Comment" लेबल दिखाएगा जो ऐसे उपयोगकर्ता के लिए छोड़ी गई हैं जिनका ब्राउज़र सत्र सत्यापित नहीं है। असत्यापित टिप्पणी के बारे में अधिक पढ़ें यहाँ।
Run 
इसके अतिरिक्त, इस सुविधा का उपयोग कोड लिखे बिना, कस्टमाइज़ेशन UI में किया जा सकता है:
डिफ़ॉल्ट उपयोगकर्ता नाम सेट करना 
जब उपयोगकर्ता कमेंट या वोट करते हैं और वे लॉग इन नहीं होते, तो उनसे उनका ईमेल और यूज़रनेम मांगा जाएगा।
अनाम (anonymous) कमेंटिंग के मामले में, कभी-कभी कमेंट करते समय घर्षण (friction) कम करने के लिए एक डिफ़ॉल्ट यूज़रनेम परिभाषित करना उपयोगी होता है। यह Customization UI से किया जा सकता है। इसके लिए पहले Anonymous Commenting सक्षम (enable) किया जाना आवश्यक है।
डिफ़ॉल्ट यूज़रनेम साझा करना
डिफ़ॉल्ट यूज़रनेम एक साझा डिस्प्ले नाम है, कोई पहचान नहीं। जो विज़िटर डिफ़ॉल्ट को वैसे ही रखता है और अपना ईमेल दर्ज करता है, उसे उसका अपना खाता मिलता है, जिसमें डिफ़ॉल्ट उसके सार्वजनिक नाम के रूप में दिखाया जाता है। कोई भी संख्या में विज़िटर एक ही डिफ़ॉल्ट रख सकते हैं, इसलिए "Anonymous" कभी भी पहले से उपयोग में होने के रूप में रिपोर्ट नहीं किया जाता।
विज़िटर द्वारा स्वयं टाइप किए गए यूज़रनेम अभी भी अद्वितीय (unique) होने चाहिए।
यदि आप चाहते हैं कि प्रत्येक विज़िटर को सोचे बिना एक अलग नाम मिले, तो देखें Generate Usernames Automatically।
उपयोगकर्ता नाम स्वचालित रूप से बनाएँ 
जब उपयोगकर्ता कमेंट या वोट करते हैं और वे लॉग इन नहीं होते, तो उनसे उनका ईमेल और यूज़रनेम प्रदान करने के लिए कहा जाएगा।
कुछ साइटों के लिए, विज़िटर से एक अनोखा यूज़रनेम बनाने के लिए कहना एक बाधा हो सकती है, विशेष रूप से मोबाइल पर। FastComments प्रत्येक नए विज़िटर के लिए एक तटस्थ यूज़रनेम बना सकता है और उसे यूज़रनेम फ़ील्ड में पहले से भर सकता है, जैसे BraveOtter4172।
विज़िटर इसे जैसा है वैसा छोड़ सकता है, या अपनी पसंद के नाम से बदल सकता है।
इसे Customization UI से, Generate Usernames Automatically नामक सेटिंग के तहत सक्षम किया जा सकता है:
यह कैसे व्यवहार करता है
- प्रत्येक जनरेट किया गया नाम अनोखा होता है। इसे मौजूदा खातों के विरुद्ध जाँचा जाता है और उस विज़िटर के ब्राउज़र सेशन के लिए आरक्षित किया जाता है, ताकि दो विज़िटरों को एक ही नाम न दिया जाए।
- नाम केवल उन विज़िटरों के लिए जनरेट किया जाता है जिनके पास अभी कोई नाम नहीं है। लॉग इन उपयोगकर्ता, SSO उपयोगकर्ता, और जो विज़िटर पहले ही कमेंट कर चुके हैं, वे अपना मौजूदा नाम बनाए रखते हैं।
- यह anonymous commenting के साथ या उसके बिना काम करता है। Anonymous commenting बंद होने पर, विज़िटर अभी भी अपना ईमेल दर्ज करता है, लेकिन अब यूज़रनेम सोचने की ज़रूरत नहीं होती।
- कोई वापस आने वाला विज़िटर जो पहले उपयोग किया गया ईमेल दर्ज करता है, उसे उसके मौजूदा खाते से मैच किया जाता है, और वह उस खाते पर मौजूद नाम बनाए रखता है।
- यदि कोई Default Username भी सेट है, तो जनरेट किया गया नाम प्राथमिकता रखता है।
कॉलबैक 
कमेंट विजेट के लिए सभी लाइब्रेरी (वर्तमान में Angular, React, Vue) कॉलबैक का समर्थन करती हैं।
कॉलबैक कॉन्फ़िगरेशन ऑब्जेक्ट में निर्दिष्ट किए जाते हैं, और प्रत्येक लाइब्रेरी के लिए उनका सिग्नेचर समान होता है।
समर्थित कॉलबैक ये हैं:
- onInit
- onAuthenticationChange
- onRender
- commentCountUpdated
- onReplySuccess
- onVoteSuccess
- onImageClicked
- onOpenProfile
- onCommentSubmitStart
- onCommentsRendered
सटीक सिग्नेचर TypeScript परिभाषाओं में पाए जा सकते हैं।
सभी कॉलबैक के उपयोग का एक उदाहरण यहाँ दिया गया है:
Run 
उपयोगकर्ता की लोकेल मैन्युअल रूप से परिभाषित करना 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ता के सिस्टम और ब्राउज़र द्वारा निर्धारित लोकेल में कमेंट विजेट रेंडर करेगा।
जब कोई उपयोगकर्ता कमेंट करता है या लॉग इन करता है, तो हम उनका अंतिम उपयोग किया गया लोकेल अपडेट करते हैं और ईमेल भेजने के लिए भी इसका उपयोग करते हैं।
यह इस बात को प्रभावित करता है कि कमेंटिंग विजेट उपयोगकर्ता के लिए किस भाषा में अनुवादित होगा। लोकेल में उपयोगकर्ता की भाषा और क्षेत्र शामिल होते हैं, इसलिए लोकेल को कॉन्फ़िगर करने से आमतौर पर उपयोगकर्ता को दिखाए जाने वाले टेक्स्ट की भाषा बदल जाएगी।
UI के माध्यम से
इसे विजेट कस्टमाइज़ेशन UI का उपयोग करके परिभाषित किया जा सकता है। "Locale / Language" विकल्प देखें:
कोड के माध्यम से
इसे किसी इच्छित लोकेल के साथ ओवरराइड किया जा सकता है।
Run 
समर्थित भाषाएँ और लोकेल कोड
समर्थित भाषाओं और संबंधित लोकेल कोड की पूरी सूची आप यहाँ पा सकते हैं।
SSO नोट
यदि आप SSO का उपयोग कर रहे हैं, तो आप उपयोगकर्ता ऑब्जेक्ट में उपयोगकर्ता का लोकेल पास करना चाह सकते हैं, ताकि ईमेल और अन्य चीज़ें उनके लिए सही ढंग से लोकलाइज़ हों।
अनुमत भाषाओं को सीमित करना 
डिफ़ॉल्ट रूप से, FastComments टिप्पणी करने के लिए उपयोग की जाने वाली भाषाओं पर कोई सीमा नहीं रखता।
किसी समुदाय द्वारा उपयोग की जाने वाली भाषाओं को सीमित करना वांछनीय हो सकता है।
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कॉन्फ़िगर किया जा सकता है:
सिस्टम उनकी टिप्पणी को पार्स करेगा, उसकी भाषा निर्धारित करेगा, और फिर उसे अनुमत सूची से मिलाएगा।
यदि टिप्पणी किसी ऐसी भाषा में लिखी गई है जो अनुमत नहीं है, तो एक स्थानीयकृत त्रुटि संदेश दिखाया जाता है।
टिप्पणी अनुवाद 
डिफ़ॉल्ट रूप से, FastComments विजेट के अपने इंटरफ़ेस (बटन, लेबल, त्रुटि संदेश) को दर्शक की भाषा में अनुवादित करता है, लेकिन टिप्पणियाँ ठीक उसी रूप में दिखाई जाती हैं जैसी वे लिखी गई थीं।
Comment Translation टिप्पणियों के अनुवाद को भी जोड़ता है, ताकि एक से अधिक भाषाओं में लिखने वाला समुदाय हर टिप्पणी को अपनी भाषा में पढ़ सके।
इसके दो मोड हैं:
- स्वचालित (Automatic): विजेट की भाषा से अलग भाषा में लिखी गई टिप्पणियाँ अनुवादित रूप में दिखाई जाती हैं। टिप्पणी के नीचे "Translated from Spanish" जैसी एक पंक्ति दिखाई देती है, जिसमें एक Show original लिंक होता है जो अनुवाद और अनुवादित-न-हुए टेक्स्ट के बीच स्विच करता है।
- मैनुअल (Manual): हर टिप्पणी पर एक Translate लिंक मिलता है। उस पर क्लिक करने से वह एक टिप्पणी दर्शक की भाषा में अनुवादित हो जाती है, और उसके बाद वही Show original टॉगल उपलब्ध होता है। जो टिप्पणियाँ पहले से दर्शक की भाषा में होती हैं, उनके लिए यह बताया जाता है कि वे पहले से उसी भाषा में हैं।
लक्ष्य भाषा विजेट की भाषा होती है: यदि उसी कस्टमाइज़ेशन नियम पर Locale / Language सेटिंग सेट है तो वह, अन्यथा विज़िटर के ब्राउज़र की भाषा। विज़िटर से कुछ भी आवश्यक नहीं है — न कोई खाता, न एक्सटेंशन या अतिरिक्त सॉफ़्टवेयर — और यह एम्बेडेड विजेट और स्टैंडअलोन टिप्पणी पृष्ठों दोनों पर एक जैसा काम करता है।
यह प्रत्येक कस्टमाइज़ेशन नियम के अनुसार चालू किया जाता है, इसलिए यह आपकी पूरी साइट, एक डोमेन, या एक ही पृष्ठ पर लागू हो सकता है। यह डिफ़ॉल्ट रूप से बंद रहता है।
अनुवाद एक सर्वर-साइड सेटिंग है। विजेट के JavaScript कॉन्फ़िगरेशन में commentTranslation पास करने से यह सक्षम नहीं होता; नियम ही इसे सक्षम करता है।
प्रत्येक टिप्पणी का अनुवाद प्रति लक्ष्य भाषा अधिकतम एक बार किया जाता है और परिणाम टिप्पणी के साथ संग्रहीत किया जाता है, इसलिए हज़ार स्पेनिश बोलने वालों द्वारा पढ़ी गई टिप्पणी का अनुवाद केवल एक बार होता है। यदि लेखक या कोई मॉडरेटर टिप्पणी को संपादित करता है, तो संग्रहीत अनुवाद हटा दिया जाता है और अगली बार देखने पर टिप्पणी का फिर से अनुवाद किया जाता है। अनुवादित टेक्स्ट मूल टिप्पणी की तरह ही सैनिटाइज़ेशन और लिंक नियमों से गुज़रता है। बहुत लंबी टिप्पणियाँ, या जिनकी भाषा पहचानी नहीं जा सकती, उन्हें बिना अनुवाद के दिखाया जाता है।
उपयोग का बिल AI Agents की तरह ही दर पर LLM टोकन के रूप में लगाया जाता है और यह आपके बिलिंग विवरण में उसी स्थान पर दिखाई देता है।
पृष्ठ शीर्षक 
वर्तमान पेज टाइटल निर्दिष्ट urlId के साथ संबद्ध किया जाता है और मॉडरेशन टूल्स में उपयोग के लिए सहेजा जाता है।
डिफ़ॉल्ट रूप से, यह document.title से प्राप्त किया जाता है।
यदि चाहें, तो अपना स्वयं का पेज टाइटल निम्न प्रकार से निर्दिष्ट किया जा सकता है:
Run 
नए उत्तर रोकें और वोट अक्षम करें 
readonly फ्लैग को true सेट करके कमेंटिंग को लॉक किया जा सकता है ताकि कोई नए कमेंट या वोट न दिए जा सकें।
कमेंट्स को एडिट या डिलीट भी नहीं किया जा सकेगा।
Run 
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर, पूरे डोमेन या पेज के लिए कस्टमाइज़ किया जा सकता है:
अपडेट!
नवंबर 2022 से, एडमिनिस्ट्रेटर और मॉडरेटर रिप्लाई एरिया के ऊपर तीन-डॉट मेन्यू के ज़रिए थ्रेड्स को लाइव लॉक या अनलॉक कर सकते हैं।
इससे नए कमेंट्स रोके जाएंगे, लेकिन वोटिंग की अनुमति बनी रहेगी, और उपयोगकर्ता चाहें तो अपने कमेंट्स डिलीट कर सकेंगे, जबकि readonly इन चीज़ों की अनुमति नहीं देता।
यह Page API में isClosed फ़ील्ड से मेल खाता है।
लिंक डोमेन प्रतिबंधित करना 
डिफ़ॉल्ट रूप से, FastComments किसी भी बाहरी साइट से लिंक करने की अनुमति देता है।
इसे इच्छित साइटों या डोमेन की सूची तक सीमित किया जा सकता है। परिभाषित सूची में शामिल नहीं किसी साइट या डोमेन का लिंक पोस्ट करने का प्रयास करने पर उपयोगकर्ता को एक त्रुटि दिखाई जाएगी।
यह सत्यापन केवल Comment Widget और API के लिए है। Imports प्रभावित नहीं होते।
यह कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर किया जाता है:
टिप्पणी संख्या और सभी नेस्टेड उत्तरों की गिनती 
कमेंट विजेट के शीर्ष पर दिखाया गया कमेंट काउंट या तो सभी "टॉप-लेवल" कमेंट्स दिखा सकता है, यानी वे रिप्लाई जो सीधे पेज या आर्टिकल के जवाब में हैं, या यह सभी नेस्टेड कमेंट्स की गिनती हो सकती है।
डिफ़ॉल्ट रूप से, यह true है - यानी बाद वाली गिनती - सभी कमेंट्स। कमेंट विजेट के पुराने संस्करणों में डिफ़ॉल्ट मान false है।
हम countAll फ्लैग को true सेट करके व्यवहार बदल सकते हैं, ताकि यह सभी नेस्टेड कमेंट्स की गिनती हो।
Run 
यदि हम चाहते हैं कि गिनती केवल टॉप-लेवल कमेंट्स को दर्शाए, तो हम फ्लैग को false सेट करते हैं।
Run 
इसे वर्तमान में कोड बदलाव के बिना कस्टमाइज़ नहीं किया जा सकता।
टिप्पणीकार लिंक सक्षम करना 
डिफ़ॉल्ट रूप से, FastComments उपयोगकर्ता से केवल उनकी टिप्पणी, उनका उपयोगकर्ता नाम और उनका ईमेल पूछेगा।
हालाँकि, कुछ स्थितियों में आप चाह सकते हैं कि उपयोगकर्ता अपने ब्लॉग या वेबसाइट का लिंक छोड़ दे।
हम enableCommenterLinks फ्लैग को true सेट करके उपयोगकर्ता की वेबसाइट URL छोड़ने के लिए एक अतिरिक्त इनपुट फ़ील्ड दिखाना सक्षम कर सकते हैं:
Run 
जब वह URL प्रदान किया जाता है, तो उपयोगकर्ता का खाता अपडेट हो जाएगा और उनका उपयोगकर्ता नाम सभी पिछली और भविष्य की टिप्पणियों में इस URL से लिंक हो जाएगा।
इसे कोड के बिना, विजेट कस्टमाइज़ेशन पेज पर कस्टमाइज़ किया जा सकता है:
मॉडरेशन समूह 
Moderation Groups पेज से जेनरेट की गई ids की एक सूची।
जब निर्दिष्ट किया जाता है, तो निर्दिष्ट कॉन्फ़िगरेशन का उपयोग करके छोड़ी गई टिप्पणियों में उसी सेट के moderationGroupIds होंगे।
यदि एक Moderator के लिए एक या अधिक Moderation Groups परिभाषित हैं, तो वे
केवल अपने समूह(s) से संबंधित Moderate Comments पेज की टिप्पणियाँ देखेंगे।
Run 
मेंशन समूह आईडी 
@mentions ऑटोकम्प्लीट के लिए उपयोग करने हेतु ids की एक सूची। उपयोगी जब आप यह रोकना चाहते हैं कि ऐसे उपयोगकर्ताओं को टैग किया जाए जिनके समूह आपस में मेल नहीं खाते।
जब निर्दिष्ट किया जाता है, तो @ कैरेक्टर टाइप करने के बाद ऑटोकम्प्लीट में केवल अन्य समूहों के उपयोगकर्ता ही दिखाए जाएंगे।
Run 
थर्ड पार्टी कुकी बायपास 
प्रमाणीकरण के लिए, FastComments आपके ब्राउज़र में थर्ड पार्टी कुकीज़ सक्षम होने पर निर्भर करता है। इनके बिना, उपयोगकर्ताओं को कमेंट करने के लिए हमेशा अपना ईमेल छोड़ना होगा (जब तक कि ईमेल इनपुट फ़ील्ड छिपा न हो), और उनके कमेंट हमेशा असत्यापित (डिफ़ॉल्ट रूप से) दिखाई देंगे।
इससे बचने के लिए, आप थर्ड पार्टी कुकी बायपास सक्षम कर सकते हैं।
जब यह सेटिंग सक्षम होती है, तो एक छोटा पॉपअप दिखाई देगा जिसमें एक संदेश दिखेगा कि उपयोगकर्ता लॉग इन हो रहा है। यह पॉपअप तब दिखता है जब भी उपयोगकर्ता कमेंट विजेट के साथ इंटरैक्ट करता है; उदाहरण के लिए, यदि वे कोई कमेंट छोड़ते हैं।
हम कोड में enableThirdPartyCookieBypass फ्लैग को true सेट करके ऐसा कर सकते हैं:
Run 
हम इसे Widget Customization UI के माध्यम से भी सेट कर सकते हैं, Enable Third-Party Cookie Popup के अंतर्गत:
उत्तरों सहित टिप्पणियाँ हटाना 
डिफ़ॉल्ट रूप से, उपयोगकर्ता अपनी खुद की टिप्पणियाँ हटा सकते हैं। साथ ही, उनकी टिप्पणी हटाने पर थ्रेड में सभी चाइल्ड और ट्रांजिएंट टिप्पणियाँ भी स्वतः हट जाती हैं। यह व्यवहार भी लाइव है।
आप इसे निम्नलिखित तरीकों से प्रतिबंधित कर सकते हैं:
- इसके बजाय, हटाई गई टिप्पणी को गुमनाम (anonymize) करें (नाम और टेक्स्ट को
[deleted]या किसी कस्टम मान पर सेट करें)। - जब कोई उत्तर (replies) मौजूद हों तो टिप्पणियाँ हटाने की अनुमति न दें। एक अनुकूलन योग्य त्रुटि संदेश दिखाया जाता है।
- जब किसी टिप्पणी पर उत्तर हों तो हटाने को केवल व्यवस्थापकों और मॉडरेटर्स तक सीमित करें।
इसे Widget Customization UI के Comment Thread Deletion अनुभाग के माध्यम से कॉन्फ़िगर किया जा सकता है।
टॉप बार में बैज दिखाएँ 
डिफ़ॉल्ट रूप से, FastComments यूज़र बैज केवल कमेंट थ्रेड के भीतर उनकी टिप्पणियों पर प्रदर्शित करता है।
हालाँकि, हम विजेट कस्टमाइज़ेशन पेज में इस सुविधा को सक्षम करके कमेंट फ़ॉर्म के ऊपर उनके नाम के बगल में यूज़र बैज दिखा सकते हैं:
यह टॉप बार क्षेत्र में यूज़र के बैज को उनके नाम के साथ प्रदर्शित करेगा, जिससे कमेंट लिखते समय उनकी उपलब्धियाँ और स्थिति अधिक प्रमुख होगी।
ध्यान दें कि यह सुविधा काम करने के लिए विजेट कस्टमाइज़ेशन UI में सक्षम होनी चाहिए। आप वैकल्पिक रूप से अपने कोड कॉन्फ़िगरेशन में showBadgesInTopBar फ़्लैग को false पर सेट करके इसे चुनिंदा रूप से अक्षम कर सकते हैं, भले ही यह सर्वर स्तर पर चालू हो:
Run 
ऑनलाइन उपयोगकर्ताओं की सूची दिखाएँ 
डिफ़ॉल्ट रूप से, FastComments पेज पर उपयोगकर्ताओं की सूची नहीं दिखाता है।
आप कमेंट विजेट के साथ, उन लोगों की सूची दिखा सकते हैं जो इस समय पेज देख रहे हैं। यह सूची उपयोगकर्ताओं के जुड़ने और छोड़ने पर लाइव अपडेट होती है, और उनका नाम, अवतार और ऑनलाइन संकेतक दिखाती है।
तीन लेआउट विकल्प हैं:
1- ऊपर: कमेंट्स के ऊपर रेंडर किया गया ओवरलैपिंग अवतारों की एक क्षैतिज पंक्ति।2- बाएँ: विजेट के बाईं ओर रेंडर किया गया नामों और ऑनलाइन डॉट्स वाला साइडबार।3- दाएँ: वही साइडबार विजेट के दाईं ओर रेंडर किया गया।
इस सुविधा को सक्षम करने के लिए usersListLocation फ्लैग सेट करें:
Run 
डिफ़ॉल्ट रूप से सूची में केवल वर्तमान में ऑनलाइन उपयोगकर्ता दिखते हैं। उन लोगों को भी शामिल करने के लिए जिन्होंने पहले पेज पर कमेंट किया है (लेकिन अभी इसे देख नहीं रहे हैं), usersListIncludeOffline को true सेट करें:
Run 
पिछले कमेंटर्स हरे ऑनलाइन डॉट के बिना रेंडर किए जाते हैं ताकि यह स्पष्ट रहे कि इस समय कौन मौजूद है।
प्राइवेट प्रोफ़ाइल वाले उपयोगकर्ताओं को एक सामान्य अवतार और "Private Profile" लेबल के साथ दिखाया जाता है ताकि पहचान उजागर किए बिना गिनती सटीक रहे।
इसे कोड के बिना भी कॉन्फ़िगर किया जा सकता है। विजेट कस्टमाइज़ेशन पेज पर, "Users List Location" विकल्प देखें। जब लोकेशन Off के अलावा किसी अन्य मान पर सेट हो, तो उसके नीचे एक "Include past commenters" चेकबॉक्स दिखाई देता है।
500 लाइव उपयोगकर्ताओं से अधिक होने पर, सूची 30 सेकंड तक पुरानी हो सकती है।