متوفر أيضًا بلغات أخرى: English · Español · Português · Français
منشئ ملفات ICS: تاريخ النهاية هو اليوم التالي
املأ بيانات الحدث لتحصل على ملف ics صحيح، وترى الرقمين معًا: آخر يوم ذكرتَه، والنهاية التي يسجّلها الملف.
ما ملف ics؟
ملف ics حدثُ تقويمٍ مكتوبٌ نصًّا صِرفًا. وكل برامج التقويم تقرأ هذه الصيغة، من تقويم جوجل وأوتلوك إلى تقويم آبل وثندربرد، لأنها معيار منشور لا صيغةَ شركة بعينها، ولهذا يُفتح الحدث المرسَل مرفقًا عند الجميع. وفي داخله قائمةُ سطور: عنوانٌ وبدايةٌ ونهاية، وربما قاعدةُ تكرار، كلٌّ منها اسمٌ ثم نقطتان ثم قيمة.
وهي كذلك صيغةٌ تخبّئ مزلقًا مشهورًا، وقد بُني هذا المنشئ ليُريَك المزلق لا ليتجاوزه عنك في صمت. فالنهاية المسجَّلة في ملف التقويم ليست آخر لحظة في الحدث، بل أول لحظة بعده، وهو ما تسميه المواصفة النهاية غير الشاملة. وفي اجتماعٍ بتوقيت محدد لا ينتبه أحد، لأن ما ينتهي في العاشرة يكون قد انتهى في العاشرة وهذا عين المتوقَّع. أما في حدث الأيام الكاملة فيؤلم، إذ إن مهرجانًا يمتد من الأربعاء إلى الجمعة يجب أن يُكتب كأنه ينتهي يوم السبت.
والمواصفة نفسها تسوق المثال، والأرقام جديرة بالحفظ: حدثٌ يمتد من الثامن والعشرين من يونيو إلى الثامن من يوليو 2007 شاملًا يُكتب بنهاية في التاسع من يوليو. فإن أخطأتَ خرج الملف أقصر بيوم. لا تنبيه، ولا تقويمَ يرفضه، ويظهر الحدث ببساطة وقد سقط آخر أيامه.
طريقة الاستخدام
- صِف الحدث. عنوانٌ، ثم مكانٌ ووصفٌ إن شئت. واختر أيامًا كاملة أو توقيتًا محددًا؛ فإن اخترتَ توقيتًا فقرِّر كيف يُسجَّل: وقتًا محليًّا بلا ارتباط، أو لحظةً مطلقة، أو وقتًا على الساعة في منطقة زمنية مسماة تحوّله الأداة عنك.
- اذكر آخر يوم يستمر فيه. يطلب الحقل آخر يوم يشغله الحدث فعلًا، لأن هذا ما يعرفه الإنسان. وتعرض اللوحة أسفله ذلك التاريخ إلى جوار النهاية التي يسجّلها الملف، وهي اليوم التالي له. والرقمان على الشاشة معًا، فيُرى التحويل بدل أن يُوثَق به.
- انسخ البايتات أو نزِّل الملف. يُعرض الناتج كما يُكتب تمامًا، بما في ذلك مواضع قطع السطور الطويلة واستئنافها. ويمكنك السير في الاتجاه المعاكس أيضًا: انتقل إلى وضع القراءة والصق ملفًا، فيخبرك بما يعنيه كل تاريخ وبآخر يوم حقيقي.
حدّان في صيغة واحدة، وهما مختلفان
تحدّ الصيغةُ نفسها أمرين، وتستعمل لكلٍّ منهما عرفًا معاكسًا للآخر. فنهاية الحدث غير شاملة كما رأينا. أما تاريخ انتهاء قاعدة التكرار فشامل: تقول المواصفة إنه يحدّ التكرار على نحوٍ شامل، فالاجتماع الأسبوعي المنتهي في الثاني من سبتمبر يقع في الثاني من سبتمبر. واجمع الأمرين في حدث واحد تجد نفسك تكتب تاريخًا يعني حتى وتاريخًا آخر يعني حتى نهاية، بينهما سطورٌ قليلة، وليس في التركيب ما يميّزهما.
وللتكرار المعدود بعددٍ قاعدةٌ صامتة خاصة به: البداية تُحسب أول مرة. فطلبُ ثلاثٍ يعني البداية ومرتين بعدها، لا البداية وثلاثًا بعدها. ولهذا تعدّد هذه الأداة التواريخ بدل أن تخبرك بالقاعدة: أول صفٍّ هو تاريخ البداية، ومتى رأيتَه لم تُسئ قراءة عدّادٍ بعدها.
وليس شيء من هذا عيبًا في برمجيات أحد. فالمكتبات التي تبني هذه الملفات تأخذ النهاية التي تسلّمها إياها وتكتبها، وهذا عين ما ينبغي لها. إنما يقع الخطأ في طبقة أعلى، في المسافة بين ما يقصده المرء بقوله ينتهي الجمعة وبين ما تسجّله الصيغة، ولا تستطيع مكتبةٌ ردمَ تلك المسافة لأنها لا ترى قصدك أصلًا.
لماذا لا يرد اسم المنطقة الزمنية في الملف
إن أدخلتَ وقتًا في منطقة زمنية مسماة، حسبت هذه الأداة اللحظة المقابلة له وسجّلتها. ولا تكتب اسم المنطقة في الملف، والسبب يستحق التصريح: تجيز الصيغة فعلًا أن يشير التاريخ إلى منطقة باسمها، لكن بشرط أن يحمل الملف كذلك تعريفها كاملًا، وكل قاعدة من قواعد التوقيت الصيفي مكتوبةً في كتلة خاصة بها. والاسم بلا تعريف ليس اختصارًا، بل ملفٌّ يتوقف معناه على برنامج لا تستطيع فحصه.
وتسجيل اللحظة دقيقٌ لا يحتاج إلى شيء، وأي تقويم سيعرضه بمنطقة من يفتحه. وله ثمنٌ واحد صريح، يجعله تصميم المعيار نفسه محتومًا: الاجتماع المتكرر المثبَّت على لحظةٍ لا يتبع منطقةً عبر تغيّر التوقيت الصيفي. فاجتماع التاسعة صباحًا الأسبوعي في باريس، مسجَّلًا هكذا، يُقرأ الثامنة في الأسبوع التالي لتأخير الساعات. وهذا محسوب لا مُفترَض. فإن لزم أن يبقى اجتماعٌ متكرر على الساعة المحلية نفسها طوال العام، فتلك هي الحالة التي يستحق فيها تعريف المنطقة الكامل مكانه.
وأمران أصغر تعالجهما الأداة بدل أن تكتفي بذكرهما. فالوقت الذي تكتبه على الساعة قد لا يوجد أصلًا، إذ تقفز الساعات فوقه في الربيع، أو قد يقع مرتين يوم تُؤخَّر. وكلاهما يُنبَّه عليه عند وقوعه مع بيان القراءة المعتمدة، بدل اختيار إحداهما في صمت.
ما لا تخبرك به هذه الأداة
لا تتحقق من أن حدثك معقول. فاجتماعٌ ينتهي قبل أن يبدأ، وعنوانٌ فارغ، وتكرارٌ يمتد قرنًا، كلها تُنتج ملفًا سليمًا تمامًا، لأن السلامة هنا تعني حسن البناء لا حسن المعنى. ويشير وضع القراءة إلى ما يمكن الحكم عليه من النص وحده، ويقف عند ذلك.
وتكتب حدثًا واحدًا. وقد يحمل ملف التقويم أحداثًا كثيرة، ومعها المنبهات والمدعوون وفترات الانشغال والمستندات المرفقة، ولا يغطي هذا المنشئ شيئًا من ذلك. وهو يكتب كذلك ختمًا زمنيًّا ثابتًا لا اللحظة الحالية، لأن ذلك الحقل يسجّل متى أُنتِج الوصف ولا صلة له بموعد وقوع الحدث.
وتُقطع السطور الطويلة وتُستأنف لأن المعيار يطلب سطورًا لا تتجاوز خمسةً وسبعين بايتًا. بايتات لا حروفًا، ولهذا قد يبلغ عنوانٌ بالإنجليزية ضعفَ طول نظيره بالعربية تقريبًا قبل أن يحتاج إلى قطع، ولهذا تتجاوز أداةٌ تعُدّ الحروف الحدَّ في أي نص عربي أو نص بعلامات دون أن يبدو شيء على خطأ. والعدّاد أسفل الناتج يقيس البايتات، فبإمكانك مراقبته.
لماذا هي مجانية؟
بناء ملف تقويم تركيبُ نصّ، وهو يجري داخل متصفحك. فلا خادم في المسار، ولا شيء يستوجب فاتورة، ولا حساب يلزم إنشاؤه.
ولا يُرفع أي شيء. فما تكتبه، وأي ملف تلصقه لقراءته، يبقى في هذا التبويب.