आईसीएस फाइल क्या है?
इंटरनेट कैलेंडरिंग और शेड्यूलिंग कोर ऑब्जेक्ट स्पेसिफिकेशन (iCalendar) कैलेंडरिंग ईवेंट और शेड्यूलिंग के आदान-प्रदान और परिनियोजन के लिए एक इंटरनेट मानक (RFC 2445) है। iCalendar प्रारूप इंटरऑपरेबल है, जिससे विभिन्न ईमेल एप्लिकेशन वाले उपयोगकर्ताओं के बीच कैलेंडर जानकारी का आदान-प्रदान सुनिश्चित होता है। iCalendar इनपुट डेटा को एक बहुउद्देशीय इंटरनेट मेल एक्सटेंशन (MIME) के रूप में स्वरूपित करता है और विभिन्न परिवहन प्रोटोकॉल के माध्यम से वस्तु के आदान-प्रदान की सुविधा प्रदान करता है। ये ट्रांसपोर्ट प्रोटोकॉल SMTP, HTTP, पॉइंट-टू-पॉइंट एसिंक्रोनस कम्युनिकेशन और फिजिकल मीडिया बेस्ड-नेटवर्क ट्रांसपोर्ट हो सकते हैं।
iCalendar उपयोगकर्ताओं को अन्य उपयोगकर्ताओं को ईमेल के माध्यम से ईवेंट, दिनांक/समय पर निर्भर कार्यों, और खाली/व्यस्त जानकारी साझा करने की अनुमति देता है जो वापस प्रतिक्रिया दे सकते हैं। iCalendar फ़ाइलें प्रत्यय “.ics” “.iCalendar” या “.ifb” का उपयोग करके MIME प्रकार के “पाठ/कैलेंडर” के साथ संग्रहीत करती हैं। iCalendar को बिना किसी ट्रांसपोर्ट प्रोटोकॉल डिपेंडेंसी के आत्मनिर्भर बनाया जाता है। वेब सर्वर (HTTP प्रोटोकॉल के साथ) iCalendar जानकारी को ट्रांसपोर्ट कर सकते हैं और वेब पेजों में iCalendar का उपयोग करके एम्बेडेड रूप में iCalendar डेटा हो सकता है।
आईसीएस फ़ाइल प्रारूप का संक्षिप्त इतिहास
1998 में, इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) ने iCalendar को एक मानक (RFC 2445) के रूप में परिभाषित किया। मानक फ्रैंक डॉसन (लोटस नोट्स कॉर्पोरेशन) और डेरिक स्टेनरसन (माइक्रोसॉफ्ट) द्वारा प्रलेखित किया गया था। 2009 में, बर्नार्ड डेस्रुइसेक्स (ओरेकल) द्वारा RFC 5545 के रूप में मानक को फिर से परिष्कृत किया गया था। इस बार कुछ नई सुविधाएँ जोड़ी गईं और कुछ पुरानी सुविधाओं को बहिष्कृत कर दिया गया। 2016 में, RFC 7986 जारी किया गया था और मूल iCalendar RFC में संवर्धित किया गया था। RFC 7986 ने मुख्य VCALENDAR ऑब्जेक्ट में नई विशेषताओं को जोड़ा और कॉन्फ्रेंसिंग सिस्टम के लिए नई सहायक सुविधाएँ भी पेश की गईं।
आईसीएस फ़ाइल स्वरूप
iCalendar के डेटा द्वारा उपयोग किया जाने वाला MIME प्रकार “टेक्स्ट/कैलेंडर” है। iCalendar के लिए डिफ़ॉल्ट वर्ण सेट UTF-8 है, हालांकि MIME में पैरामीटर प्रदान करके, एक भिन्न वर्ण सेट का उपयोग किया जा सकता है। एक iCalendar फ़ाइल में अनुभाग होते हैं, इन अनुभागों में से “VCALENDAR”, वैश्विक अनुभाग है जो अन्य सभी अनुभागों को समाहित करता है। VEVENT अनुभाग घटनाओं को परिभाषित करता है, VTODO सभी टू-डू आइटम सूचीबद्ध करता है, VJOURNAL में जर्नल प्रविष्टियाँ होती हैं, और VTIMEZONE समय क्षेत्र की जानकारी निर्दिष्ट करता है। समान श्रेणी के कई वर्गों की अनुमति है। कई घटनाओं के लिए, एक iCalendar फ़ाइल में कई VEVENT अनुभाग मौजूद हो सकते हैं।
सामग्री लाइन
iCalendar ऑब्जेक्ट को टेक्स्ट की अलग-अलग पंक्तियों में व्यवस्थित किया गया है “सामग्री लाइन”। इस फ़ाइल स्वरूप में, CRLF अनुक्रम एक पंक्ति को समाप्त करता है जबकि लाइन की लंबाई लाइन ब्रेक को छोड़कर 75 ऑक्टेट तक सीमित होती है। एक लंबे डेटा आइटम को कई पंक्तियों में फैलाया जा सकता है।
सूची और क्षेत्र विभाजक
गुण और पैरामीटर COMMA वर्ण द्वारा अलग किए गए मानों की सूची निर्दिष्ट करते हैं। URI आधारित पैरामीटर मानों के लिए कोटेड-स्ट्रिंग्स का उपयोग किया जाता है। पैरामीटर की सूची संपत्ति मूल्य द्वारा बनाई जा सकती है। इस सूची में प्रत्येक गुण पैरामीटर को एक SEMICOlon द्वारा अलग किया जाना चाहिए।
एक मूल्य सूची में, एक सेमीकोलन संपत्ति पैरामीटर को अलग करता है और एक COMMA अलग संपत्ति मान। उदाहरण नीचे दिया गया है:
ATTENDEE;RSVP#TRUE;ROLE#REQ- contestant:mailto:
name@example.com
DATE;VALUE#DATE:20170304,20180504,2015704,201270904
एकाधिक मान
कुछ गुणों में एकाधिक मान हो सकते हैं। बहु-मूल्यवान गुणों के लिए बस संपत्ति के नाम के साथ एक नई सामग्री लाइन बनाना मूल नियम है। हालांकि, एकाधिक भाषा विविधताओं वाले एकल मान के लिए बहु-मूल्यवान गुणों का उपयोग नहीं करना चाहिए।
बाइनरी सामग्री
एक iCalendar ऑब्जेक्ट के भीतर, संपत्ति मान एक URI का उपयोग करके बाहरी MIME निकाय में रखे गए बाइनरी सामग्री डेटा को संदर्भित कर सकता है। इनलाइन बाइनरी सामग्री का उपयोग “ENCODING” पैरामीटर के साथ विशेष परिस्थितियों में किया जा सकता है, जहां एप्लिकेशन को एक iCalendar ऑब्जेक्ट को एकमात्र इकाई के रूप में व्यक्त करने की आवश्यकता होती है। निम्न उदाहरण URI संदर्भ के साथ “अटैच” गुण की व्याख्या करता है:
संलग्न करें: https://products.conholdate.app/viewer/view/KDDURXKkLk/fileformat.doc
अक्षरों का समूह
हालांकि एक iCalendar के लिए डिफ़ॉल्ट वर्णसेट योजना UTF-8 है, फिर भी किसी संपत्ति मान के वर्णसेट को परिभाषित करने के लिए कोई संपत्ति पैरामीटर निर्दिष्ट नहीं किया गया है। MIME स्थानान्तरण में “वर्णसेट” पैरामीटर का उपयोग मौजूदा वर्णसेट के लिए किया जाना चाहिए।