Kleara · المكتبة
تجنب تكرار الأحداث في صادرات تقويم التنظيف المتداخلة
تقويما تنظيف لأربعة أسابيع متداخلان يشتركان في 21 حدثًا. قارن معرّفات الأحداث وتواريخها قبل استيراد ملف ثانٍ كي لا يُحسب العمل مرتين.
لماذا تضاعف الملفات المتداخلة العدد
لنفترض أنك حفظت الآن تقويم تنظيف لأربعة أسابيع، ثم حفظت تقويمًا ثانيًا بعد أسبوعين، وكلاهما من خطة المطبخ وغرفة النوم نفسها. يغطي الملفان بعض الأيام نفسها، فتكون بعض المرات في الاثنين. وجمع صفوف الملفين معًا يضخّم حجم العمل المخطط.
يحمل كل حدث في ملف تقويم Kleara معرّفًا مبنيًا من الغرفة والمهمة وترتيبها في الغرفة والتاريخ، مثل kitchen.taskSink.0.2026-11-10@kleara.vomcore.com. والمرة نفسها لها المعرّف نفسه في الملفين.
زوج الملفات في المثال
يغطي الملف الأول من 26 أكتوبر إلى 22 نوفمبر 2026 ويضم 46 حدثًا. ويغطي الثاني من 9 نوفمبر إلى 6 ديسمبر ويضم 44. ويظهر واحد وعشرون معرّفًا في الملفين، فيبقى 69 مرة مختلفة، وهو بالضبط العدد الذي ينتجه توسيع واحد للخطة نفسها على 42 يومًا.
تقع الأحداث المشتركة بين 9 و22 نوفمبر، أي في الأسبوعين اللذين يغطيهما الملفان. وكل منها حدث ليوم كامل: فيوم نهاية 20261110 بعد بداية 20261109 يعني يومًا واحدًا، لا يومين من العمل.
تحقق قبل استيراد الملف الثاني
- قارن نطاقات التواريخ أولًا؛ فأي تداخل يعني على الأرجح وجود أحداث مشتركة.
- قارن المعرّفات لا العناوين: فحدثان بعنوان «المطبخ: افرك المغسلة» في يومين مختلفين مرتان مختلفتان.
- احتفظ بالملف الأول الأصلي حتى ترى كيف تعامل برنامج التقويم مع الاستيراد الثاني؛ فالبرامج تختلف في أن المعرّف المعروف يحدّث الحدث أو يضيف نسخة منه.
- إذا أردت ألا يكون هناك أي تداخل، فاختر نطاقًا ثانيًا يبدأ في اليوم التالي لنهاية الأول.
حدود المعرّف
المعرّف يسمّي مهمة وتاريخًا، لا نسخة من الخطة. فإذا غيّرت التكرار بين التنزيلين، قد تحتفظ مرة ما بتاريخها ومعرّفها بينما تتغير التواريخ اللاحقة؛ فقارن إعدادات المهام أيضًا.
معاينة المخطِّط نفسها تغطي دائمًا 28 يومًا من تاريخ البدء الذي تختاره، وكل حساب جديد يوازن أيام البدء من جديد. لذلك لا يُضمن أن تتشارك الملفات المنشأة من تواريخ بدء مختلفة التواريخ نفسها للمهمة نفسها. أما التطبيق نفسه فلا يصدّر تقويمات؛ بل يحتفظ بخطة واحدة جارية.
مرات المهام المجدولة
| A, B | مرات المهام المجدولة |
|---|---|
| |A| | 46 |
| |B| | 44 |
| |A ∩ B| | 21 |
| |A ∪ B| | 69 |
النتائج
| UID | DTSTART | DTEND |
|---|---|---|
| kitchen.taskMop.1.2026-10-26@kleara.vomcore.com | 20261026 | 20261027 |
| kitchen.taskSink.0.2026-10-26@kleara.vomcore.com | 20261026 | 20261027 |
| bedroom.taskVacuum.1.2026-10-27@kleara.vomcore.com | 20261027 | 20261028 |
| kitchen.taskTrash.2.2026-10-27@kleara.vomcore.com | 20261027 | 20261028 |
| bedroom.taskDust.2.2026-10-28@kleara.vomcore.com | 20261028 | 20261029 |
| kitchen.taskDishwasher.3.2026-10-28@kleara.vomcore.com | 20261028 | 20261029 |
| bedroom.taskSheets.0.2026-10-29@kleara.vomcore.com | 20261029 | 20261030 |
| kitchen.taskSink.0.2026-10-29@kleara.vomcore.com | 20261029 | 20261030 |
| kitchen.taskFridge.4.2026-10-30@kleara.vomcore.com | 20261030 | 20261031 |
| kitchen.taskTrash.2.2026-10-30@kleara.vomcore.com | 20261030 | 20261031 |