Salesforce में FullCalendar बनाम MultiDatePick: कौन-सा LWC कैलेंडर ज़्यादा कस्टमाइज़ होता है?
एक JavaScript कैलेंडर इंजन है जिस पर आप खुद बनाते हैं। दूसरा Salesforce कैलेंडर है जिसे आप बस कॉन्फ़िगर करते हैं। यहाँ "कस्टमाइज़ होने वाले कैलेंडर" की आम चेकलिस्ट का हर पॉइंट आमने-सामने है, उन जगहों समेत जहाँ FullCalendar बेहतर विकल्प है।
"Salesforce के लिए बहुत ज़्यादा कस्टमाइज़ होने वाला LWC कैलेंडर" खोजिए, तो दो नाम बार-बार आते हैं: FullCalendar, वह ओपन-सोर्स JavaScript कैलेंडर जो अब एक आधिकारिक Lightning Web Component wrapper के साथ आता है, और MultiDatePick, एक नेटिव कैलेंडर और बुकिंग सूट। दोनों को कस्टमाइज़ होने वाला कहा जाता है, पर दोनों का मतलब बिल्कुल अलग है।
FullCalendar कोड से कस्टमाइज़ होता है: आप एक options ऑब्जेक्ट देते हैं, callback लिखते हैं, और Salesforce वाला हिस्सा (रिकॉर्ड लोड करने वाला Apex, सेव, परमिशन) खुद बनाते हैं। MultiDatePick सेटिंग्स से कस्टमाइज़ होता है: इसके तीन कंपोनेंट में 130 से ज़्यादा सेटिंग्स, जो Setup Wizard या Lightning App Builder में किसी भी स्टैंडर्ड या कस्टम ऑब्जेक्ट पर सेट होती हैं। Apex की ज़रूरत नहीं।
चेकलिस्ट, आमने-सामने
ये वे फ़ीचर हैं जो लोग कस्टमाइज़ होने वाला Salesforce कैलेंडर माँगते समय गिनाते हैं। "बिल्ट-इन" का मतलब है एडमिन क्लिक से चालू करता है। "आप बनाते हैं" का मतलब है डेवलपर कोड लिखता है।
| फ़ीचर | MultiDatePick | FullCalendar LWC |
|---|---|---|
| व्यू | पाँच बिल्ट-इन: महीने का कैलेंडर, resource टाइमलाइन, घंटेवार सप्ताह, उपयोग हीटमैप और एजेंडा सूची, हर प्लेसमेंट के लिए अलग चुनें | महीना, सप्ताह, दिन और सूची; टाइमलाइन और resource व्यू के लिए Premium लाइसेंस चाहिए |
| ड्रैग एंड ड्रॉप | टाइमलाइन पर बुकिंग को खींचकर खिसकाएँ, किनारा खींचकर छोटा-बड़ा करें; कई दिनों पर खींचकर रेंज चुनें | ड्रैग, ड्रॉप और रीसाइज़, आपके लिखे callback के साथ |
| Salesforce फ़ील्ड से रंग | किसी भी picklist की हर वैल्यू के लिए एक रंग, भराव, पट्टियों या दोनों के रूप में, फ़िल्टर पिल के साथ | फ़ील्ड वैल्यू को रंगों से आप JavaScript में जोड़ते हैं |
| कस्टम ऑब्जेक्ट को सोर्स बनाना | Date या Date/Time फ़ील्ड वाला कोई भी ऑब्जेक्ट, स्टैंडर्ड या कस्टम, Task और Event समेत | Apex और डेटा लेयर आप लिखते हैं |
| फ़िल्टर | स्थिति फ़िल्टर पिल, OwnerId=ME; Status__c=Confirmed जैसा रिकॉर्ड फ़िल्टर, resource फ़िल्टर और छिपी हुई स्थितियाँ | फ़िल्टर आप बनाते हैं |
| इवेंट विवरण और रिकॉर्ड लिंक | किसी भी फ़ील्ड (lookup भी) वाला होवर कार्ड, महीने के दिनों पर नाम, एजेंडा में अतिरिक्त कॉलम, एक क्लिक में रिकॉर्ड | इवेंट रेंडरिंग पर कोड में पूरा नियंत्रण |
| लेबल और बटन | बटन, शीर्षक, सेव और रिकॉर्ड लेबल, स्विचर में कौन-से व्यू दिखें, सबसे छोटे से पूरी चौड़ाई तक आकार | कोड में कॉन्फ़िगर होने वाला टूलबार |
| रिकॉर्ड सहेजना | सहेजें दबाने पर आपके रिकॉर्ड लिखता है, हर तारीख, रेंज, टाइम ब्लॉक या resource के लिए एक; या तारीखें स्क्रीन फ़्लो (Screen Flow) को लौटाता है | सेव आप बनाते हैं |
| बुकिंग नियम | क्षमता, टकराव जाँच, न्यूनतम अग्रिम सूचना, आगे बढ़ती बुकिंग विंडो, बफ़र, व्यावसायिक घंटे और हर resource के लिए बंद दिन | आप बनाते हैं |
| भाषाएँ और टाइम ज़ोन | नौ भाषाएँ, तारीख और समय हर यूज़र के Salesforce locale और टाइम ज़ोन में | कोड में locale और टाइम ज़ोन के ढेरों विकल्प |
| सुरक्षा | हर query और सेव देखने वाले यूज़र के रूप में चलता है, इसलिए sharing और फ़ील्ड-लेवल सिक्योरिटी लागू रहती है। Salesforce Security Review पास | आपके लिखे Apex पर निर्भर |
| रखरखाव | वेंडर पैकेज में अपडेट भेजता है | अपना कोड आपको अपडेट रखना होता है |
FullCalendar के शब्द, और MultiDatePick में वे कहाँ हैं
अगर आप FullCalendar जानते हैं, तो उसकी ज़्यादातर शब्दावली का सीधा जोड़ मौजूद है। फ़र्क यह है कि हर एक सेटिंग है, कोई फ़ंक्शन नहीं जो आपको लिखना पड़े:
| FullCalendar | MultiDatePick सेटिंग |
|---|---|
eventSources | संबंधित ऑब्जेक्ट और दिनांक फ़ील्ड, साथ में रोलअप फ़ील्ड जो पाँच lookup दूर तक के रिकॉर्ड भी लोड करता है |
| Background events | अवरुद्ध दिनांक: किसी भी ऑब्जेक्ट से बंदी, छुट्टियाँ और अवकाश, पूरे दिन या दिन का हिस्सा, कारण के साथ |
businessHours | हर resource के व्यावसायिक घंटे, resource रिकॉर्ड के दो फ़ील्ड से पढ़े गए |
eventOverlap, selectOverlap | टकराव व्यवहार (रोकें, छोड़ें या अनुमति दें) और हर resource की क्षमता |
validRange, selectConstraint | सबसे पहली और सबसे आखिरी तारीख, कितने दिन आगे तक, न्यूनतम अग्रिम सूचना और बुकिंग के बीच बफ़र |
select, dateClick | कई तारीखें चुनें, रेंज खींचें, आवर्ती पैटर्न जोड़ें, टाइम स्लॉट चुनें |
eventDrop, eventResize | टाइमलाइन पर खींचकर खिसकाएँ या छोटा-बड़ा करें, छोड़ते ही सेव, पहले बंद दिनों और टकराव की जाँच के बाद |
eventClick | रिकॉर्ड खोलता है, या कई रिकॉर्ड की स्थिति, तारीख, समय या resource एक साथ बदलने के लिए संपादन मोड |
eventContent, popovers | Hover Popover Fields, महीने के दिनों पर नाम और एजेंडा कॉलम |
resources | संसाधन ऑब्जेक्ट: कमरे, उपकरण, वाहन या लोग (कोई भी ऑब्जेक्ट, User समेत) |
slotDuration, slotMinTime | समय अंतराल और सबसे पहला व सबसे आखिरी समय |
locale, timeZone | अपने आप: हर यूज़र की Salesforce भाषा, locale और टाइम ज़ोन |
कब FullCalendar बेहतर विकल्प है
FullCalendar की साख यूँ ही नहीं है, और कुछ प्रोजेक्ट के लिए वही सही टूल है:
- आपको ऐसा व्यू चाहिए जो कोई नहीं देता, जैसे तिमाही प्लानिंग बोर्ड या कस्टम डिस्पैच लेआउट।
- आप हर इवेंट को पिक्सेल दर पिक्सेल खुद बनाना चाहते हैं, बार के अंदर अपना HTML और आइकन रखकर।
- आपके इवेंट Salesforce के बाहर से आते हैं, एक साथ कई API से।
- आपके पास डेवलपर हैं जो Apex, सेव, टेस्ट और परमिशन बनाएँ, और उन्हें संभालते रहें।
- आपको सिर्फ़ इवेंट दिखाने हैं और मुफ़्त मुख्य लाइब्रेरी काफ़ी है।
अगर आपका प्रोजेक्ट ऐसा है, तो FullCalendar एक अच्छी नींव है। पर अगर आपको ऐसा कैलेंडर चाहिए जो इसी हफ़्ते आपके Salesforce रिकॉर्ड पर चलने लगे, तो उससे मंज़िल अभी बहुत दूर है।
MultiDatePick कहाँ डेवलपमेंट बचाता है
जो काम FullCalendar आप पर छोड़ता है, वही काम MultiDatePick तैयार देता है:
कई तारीखें चुनना
बिखरे दिन, रेंज और आवर्ती पैटर्न, चाइल्ड रिकॉर्ड के रूप में सेव या स्क्रीन फ़्लो (Screen Flow) को भेजे गए।
क्षमता के साथ बुकिंग
लाइव क्षमता बैज, सेव पर टकराव जाँच और एक बुकिंग में कई resource।
नियम जिनका पालन होता है
अग्रिम सूचना, बुकिंग विंडो, बफ़र, व्यावसायिक घंटे और बंदी, चुनते समय और खींचते समय दोनों पर लागू।
एक Setup Wizard
आपके रिकॉर्ड के बारे में तीन सवाल, फिर हर सेटिंग असली कैलेंडर के लाइव पूर्वावलोकन के साथ।
Screen Flows
चुनी गई तारीखें, रेंज और समय आपके अगले कदमों के लिए Flow variable के रूप में मिलते हैं।
पब्लिक बुकिंग पेज
guest यूज़र वाली Experience Cloud साइट, वही कैलेंडर और वही नियम।
सिर्फ़ बुकिंग के लिए नहीं
MultiDatePick बुकिंग के लिए जाना जाता है, पर यह उन रिकॉर्ड का कैलेंडर भी है जो आपके पास पहले से हैं। इसे अकाउंट पेज पर लगाएँ और अकाउंट के टास्क दिखाएँ, उसके कॉन्टैक्ट और अवसरों पर दर्ज टास्क समेत। किसी भी ऑब्जेक्ट पर अवसर की क्लोज़ डेट, कैंपेन इवेंट के दिन या प्रोजेक्ट माइलस्टोन दिखाएँ। निजी कैलेंडर के लिए Show All Records चालू करें और OwnerId=ME जैसा रिकॉर्ड फ़िल्टर लगाएँ, या शेड्यूल बिना बदले देखने के लिए केवल-पढ़ें एजेंडा और उपयोग व्यू इस्तेमाल करें।
लोग अक्सर पूछते हैं
Salesforce के लिए सबसे ज़्यादा कस्टमाइज़ होने वाला LWC कैलेंडर कौन-सा है?
यह इस पर निर्भर है कि कस्टमाइज़ कौन करेगा। FullCalendar का LWC wrapper डेवलपर को सबसे ज़्यादा आज़ादी देता है, क्योंकि सब कुछ कोड है। MultiDatePick एडमिन को सबसे ज़्यादा बिल्ट-इन विकल्प देता है: तीन कंपोनेंट में 130 से ज़्यादा सेटिंग्स, पाँच व्यू और रिकॉर्ड सहेजने के छह तरीके, वह भी बिना Apex के।
क्या Salesforce में FullCalendar मुफ़्त है?
मुख्य लाइब्रेरी ओपन सोर्स है। टाइमलाइन और resource व्यू Premium फ़ीचर हैं, जिनके लिए कमर्शियल लाइसेंस चाहिए, और Salesforce वाला हिस्सा (रिकॉर्ड लोड करना, सहेजना, सिक्योरिटी और टेस्ट) वह कोड है जो आपको खुद लिखना और संभालना होता है।
क्या MultiDatePick के लिए Apex या डेवलपर चाहिए?
नहीं। आप इसे Setup Wizard या Lightning App Builder में सेट करते हैं, किसी भी स्टैंडर्ड या कस्टम ऑब्जेक्ट पर। रिकॉर्ड देखने वाले यूज़र के रूप में लोड और सेव होते हैं, sharing और फ़ील्ड-लेवल सिक्योरिटी लागू रहती है।
क्या MultiDatePick टास्क, इवेंट और अवसर (Opportunity) दिखा सकता है?
हाँ। Date या Date/Time फ़ील्ड वाला कोई भी ऑब्जेक्ट चलता है, स्टैंडर्ड हो या कस्टम। रोलअप फ़ील्ड उन रिकॉर्ड को भी जोड़ता है जो पेज रिकॉर्ड से दूर से जुड़े हैं, जैसे अकाउंट के कॉन्टैक्ट पर दर्ज टास्क।
क्या MultiDatePick में resource टाइमलाइन शामिल है?
हाँ। टाइमलाइन, सप्ताह, उपयोग हीटमैप और एजेंडा व्यू कैलेंडर के साथ ही आते हैं, कोई अलग लाइसेंस नहीं। एक ही प्लान में हर फ़ीचर है।
कस्टमाइज़ होने वाला कैलेंडर, बिना डेवलपमेंट के।
लाइव डेमो में घूमकर देखें, या Config Library के तैयार कॉन्फ़िगरेशन से शुरू करें।
- $20/यूज़र/माह, हर फ़ीचर
- 30 दिन का फ़्री ट्रायल, कार्ड नहीं
- 100% नेटिव Salesforce
- कोई Apex नहीं
- जल्द ही Salesforce AppExchange पर