روابط اشتراك التقويم لتطبيقات التقويم الخارجية

لقد أضفنا علامة تبويب التقويم (Calendar) جديدة إلى تفضيلات المستخدم تتيح لك الاشتراك في خلاصات Discourse في تطبيقات التقويم الخارجية مثل تقويم Google (Google Calendar) وتقويم Apple (Apple Calendar) وMicrosoft Outlook.

:down_arrow:

كيف يعمل

انتقل إلى علامة التبويب التفضيلات (Preferences) ← التقويم (Calendar) وانقر على إنشاء عناوين URL للاشتراك (Generate Subscription URLs). ستحصل على أزرار اشتراك بنقرة واحدة لـ:

  • تقويم Google (Google Calendar) - يفتح تقويم Google مع تعبئة الخلاصات مسبقًا
  • Microsoft Outlook - يفتح مربع حوار اشتراك الويب في Outlook
  • تقويم Apple (Apple Calendar) - يشغل تطبيق التقويم الأصلي عبر webcal://
  • نسخ عنوان URL (Copy URL) - لأي تطبيق تقويم آخر يدعم خلاصات ICS

الخلاصات المتاحة

متاحة دائمًا:

  • تذكيرات الإشارات المرجعية (Bookmarked Reminders) - إشاراتك المرجعية التي تحتوي على تواريخ تذكير

مع تفعيل إضافة discourse-calendar:

  • جميع الأحداث (All Events) - جميع أحداث المنتدى
  • أحداثي (My Events) - الأحداث التي ستحضرها أو تهتم بها

لمطوري الإضافات (Plugin Developers)

يمكن للإضافات (Plugins) تسجيل خلاصات ICS إضافية باستخدام واجهة برمجة التطبيقات الجديدة register_calendar_subscription_feed. تظهر الخلاصات المسجلة بهذه الطريقة تلقائيًا في علامة تبويب تفضيلات التقويم عند تمكين الإضافة.

الأمان (Security)

تستخدم عناوين URL للاشتراك مفاتيح API للمستخدم محددة النطاق ومقيدة بالوصول للقراءة فقط بتنسيق ICS. المفاتيح محدودة بمعدل، وتُعرض عناوين URL مرة واحدة فقط عند الإنشاء — يمكن للمستخدمين إعادة إنشائها في أي وقت، مما يؤدي إلى إلغاء صلاحية العناوين القديمة.

14 إعجابًا

شكراً @Falco، ولكن كيف نزيل الخيارات الخاصة بالشركات؟ أجد أنه من المسيء لمجتمعي أن يضطر لرؤية إعلانات للخدمات الاحتكارية.

يمكنك إخفاؤه باستخدام CSS.

إعجابَين (2)

شكراً جزيلاً على هذا التنفيذ - سيزيد هذا من قابلية استخدام إضافة التقويم/الأحداث للعديد من المجتمعات!

لدي نفس الاعتراض الذي أبداه @hellekin: نحن في بيئة مفتوحة المصدر داخل Discourse. في مجتمعنا، لا أحد يستخدم تقويم جوجل (Google Calendar) أو مايكروسوفت (Microsoft). إذا احتاج المستخدمون إلى رابط لهذه الخدمات الخاصة، فيجب عليهم اتخاذ القرار بأنفسهم، وليس التطبيق. لذلك، أفضل أن يتم اختيار نوع خدمة التقويم الخارجية عند خطوة إنشاء روابط الاشتراك (على سبيل المثال، باستخدام بعض مربعات الاختيار)، وليس لاحقاً.

تحسين “التصفية”

لدينا العديد من المجتمعات على مثيل (instance) ديسكورس الخاص بنا. وهي مفصولة بأذونات المجموعات وبعض المستخدمين أعضاء في أكثر من مجتمع واحد. سيكون من الملائم تصفية عنوان URL لـ “Discourse Calendar - All Events” لعرض إدخالات تقويم مجتمع معين فقط. مثال على عنوان URL

https://discourse.example.com/discourse-post-event/events.ics?user_api_key=c2aa22d800dd473b62d199d796742382&group=[groupname]

باستخدام هذا التحسين، سيكون من الممكن مشاركة أحداث ديسكورس لمجتمع معين (!) على موقعه الخاص، على سبيل المثال، باستخدام إضافة ووردبريس “ICS calendar”.

إعجابَين (2)

اقتراح تحسين صغير آخر: إذا كنت تريد الاشتراك في أحداث Discourse على عميلين مختلفين (على سبيل المثال، Thunderbird على جهازين)، فأنت بحاجة إلى نسخ عنوان URL مرتين. ولكن يتم عرض عنوان URL مرة واحدة فقط حاليًا. إذا أضفت عميلاً ثانيًا، فعليك إعادة إنشاء عناوين URL وتفقد العناوين الأولى.

ألا يعمل الخلاص الذي ينشئه مستخدم في إحدى تلك المجموعات بهذه الطريقة بالفعل؟ هل اختبرته؟

أنت تحتاج فقط للنسخ مرة واحدة، ثم اللصق في البرنامجين اللذين تحتاجهما.
وإذا نسيت برنامجًا، يمكنك إعادة الإنشاء بنقرة واحدة.

إعجاب واحد (1)

هذا رائع جدًا. قد تكون فكرة التغذية الإخبارية هي أيضًا إضافة (plugin) عمليات البحث المحفوظة.