Jump to content
MediaWiki

إمتداد:فعاليات الحملة

From mediawiki.org
This page is a translated version of the page Extension:CampaignEvents and the translation is 95% complete.
لا تخلط بينه وبين: Extension:Campaigns، Extension:WikimediaEvents.
الدليل المرجعي لامتدادات ميدياويكي
CampaignEvents
حالة الإصدار مستقر
تنفيذ صفحة خاصة , سمات
بيان توفر ميزات للمنظمين والمشاركين
المؤلف/المؤلفون فريق التواصل
سياسة التوافق تصدر اللقطات البرمجية مع ميدياويكي. الإصدار الرئيسي لا يتوافق مع الإصدارات السابقة.
تغييرات قاعدة البيانات نعم
نطاق افتراضي virtual-campaignevents
  • $wgCampaignEventsEnableEventInvitation
  • $wgCampaignEventsProgramsAndEventsDashboardInstance
  • $wgCampaignEventsEnableWorklists
  • $wgCampaignEventsProgramsAndEventsDashboardAPISecret
  • $wgCampaignEventsEnableWikimediaParticipantQuestions
  • $wgCampaignEventsContributionTrackingDisallowedCountries
  • $wgCampaignEventsEventNamespaces
  • campaignevents-enable-registration
  • campaignevents-delete-registration
  • campaignevents-organize-events
  • campaignevents-email-participants
  • campaignevents-view-private-participants
  • campaignevents-generate-invitation-lists
Licence رخصة جنو العمومية 2.0 أو ما بعدها
التنزيل
المساعدة Help:Extension:CampaignEvents/ar
ترجم الامتداد CampaignEvents لو كان متوفرا على translatewiki.net
المسائل المهام المفتوحة · الإبلاغ عن عطل تقني

فعاليات الحملة (CampaignEvents) هو امتداد ميدياويكي، صممه ويقوم بصيانته فريق التواصل التابع لمؤسسة ويكيميديا، ويوفر أدوات لتنظيم الفعاليات وإدارتها، بما في ذلك التسجيل والتواصل ولوحة تحكم المنظمين. لمزيد من المعلومات، انظر فعاليات الحملة والتسجيل.

  • تحديد الأهداف الجماعية - اعتبارًا من أبريل 2026، سيتمكن منظمو الفعاليات من تحديد أهداف الفعاليات المشتركة وتتبعها وعرضها في الوقت الفعلي (مثل العدد الإجمالي للمقالات التي تم إنشاؤها أو عدد المشاركين). وهذا يتيح للمشاركين العمل على تحقيق الأهداف الجماعية وتصور تأثيرهم المشترك مع تقدم الفعالية.[1]

التنصيب

  • نزّل الملف/الملفات وضعها في دليل يحمل اسم ‎CampaignEvents داخل مجلد ‎extensions/‎ لديك.
    يجب على مطوري البرمجيات والمساهمين بالكود البرمجي تثبيت الامتداد من غت بدلا من ذلك، مستخدمين:
    cdextensions/
    gitclonehttps://gerrit.wikimedia.org/r/mediawiki/extensions/CampaignEvents
    
  • أضف الكود التالي في الجزء الأسفل من ملف LocalSettings.php :
    wfLoadExtension( 'CampaignEvents' );
    
  • شغل نص التحديث البرمجي الذي سوف ينشئ تلقائيا جداول قاعدة البيانات الضرورية التي يحتاج إليها الامتداد.
  • قم بتثبيت الامتداد CLDR . هذا الاعتماد إلزامي، غير أنه لا يمكن تعريفه كاعتماد إلزامي بسبب خلل في مُثبّت ميدياويكي.
  • قم بجدولة مهمة cronjob لتشغيل #script لتحديث المناطق الزمنية (اختياري)، ومهمة أخرى لتشغيل #script لتجميع إجابات المشاركين.
  • Yes تم التنفيذ – اذهب إلى Special:Version على موقع الويكي لديك كي تتحقق من أن الامتداد قد ثبت بنجاح.

الإعداد

صلاحيات المستخدم

الصلاحية الوصف
campaignevents-enable-registration تفعيل تسجيل الفعالية
campaignevents-delete-registration حذف تسجيلات في الفعالية
campaignevents-organize-events تنظيم الفعاليات
campaignevents-email-participants إرسال بريد إلكتروني للمشاركين في الفعالية
campaignevents-view-private-participants عرض المشاركين الخاصين في الفعالية

معاملات

اسم المتغير القيمة الافتراضية الوصف
$wgCampaignEventsProgramsAndEventsDashboardInstance null يحدّد أيّ نسخة من لوحة تحكم البرامج والفعاليات (P&E Dashboard) ينبغي استخدامها، إن وُجدت. القيم المدعومة هي: 'production' أو 'staging'، أو null لعدم استخدام لوحة تحكم البرامج والفعاليات.

لاحظ أن هذا الإعداد يجب أن يستخدم نفس القيمة لجميع مواقع الويكي التي تشترك في نفس قاعدة البيانات المركزية للفعاليات: وإلا، فقد يتعطل التطبيق أو يعرض بيانات غير متسقة عند عرض فعالية تم إنشاؤها على موقع ويكي آخر.

$wgCampaignEventsProgramsAndEventsDashboardAPISecret null المفتاح السري (API Secret) المستخدم مع نسخة لوحة التحكم البرامج و الفعاليات (P&E Dashboard) المحددة. يجب تكوينه إذا كنت تنوي استخدام لوحة التحكم البرامج و الفعاليات.
$wgCampaignEventsEnableWikimediaParticipantQuestions true ما إذا كان سيتم تمكين الأسئلة الخاصة بويكيميديا التي يمكن طرحها على المشاركين، مثل ما إذا كانوا ينتمون إلى إحدى الجهات الشقيقة لويكيميديا.
$wgCampaignEventsEventNamespaces [ NS_EVENT, NS_PROJECT ] قائمة مساحات الأسماء المسموح بها لتسجيل الفعاليات
$wgCampaignEventsCountrySchemaMigrationStage MIGRATION_OLD مرحلة ترحيل رمز البلد، أحد الثوابت MIGRATION_*.
$wgCampaignEventsContributionTrackingDisallowedCountries [] خريطة البلدان التي لا يمكن فيها استخدام تتبع المساهمات في الفعاليات الحضورية أو المختلطة (مثلًا لأسباب قانونية، انظر قائمة حماية البلدان والأقاليم لمؤسسة ويكيميديا). يقوم هذا بربط رموز البلدان CLDR بأسماء البلدان باللغة الإنجليزية، لكنه يستخدم الرموز فقط؛ وقد تضمَّنت الأسماء لتسهيل الاستخدام، مع افتراض صحتها.

يمكن تهيئة الامتداد لتخزين البيانات في قاعدة بيانات أخرى غير قاعدة بيانات الويكي الرئيسية. يمكنك القيام بذلك عن طريق تكوين المجال virtual-campaignevents، انظر Manual:$wgVirtualDomainsMapping . مثلا:

$wgVirtualDomainsMapping['virtual-campaignevents'] = [ 'db' => 'my_central_db' ];

وهذا مفيد بشكل خاص عند استخدامه مع قاعدة بيانات مركزية تخزن الفعاليات لجميع مواقع الويكي. لاحظ أنه في حالة القيام بذلك، يجب أن تستخدم مزرعة الويكي معرفات المستخدمين المركزية .

واجهة برمجة التطبيقات (API)

وثائق جميع نقاط نهاية واجهة برمجة التطبيقات API endpoints متاحة.

نص الصيانة البرمجي

نص برمجي لتحديث المناطق الزمنية

The extension stores the local time and timezone for each event, to guarantee that the local time remains accurate even if time zone rules change. However,internally it also stores UTC timestamps so that certain operations like sorting are possible. The UTC timestamps may go out of sync with the local ones if time zone rules change, which happens more commonly than you may think. يمكنك قراءة المزيد من التفاصيل. للتخفيف من ذلك، يوفر الملحق [برنامج نصي لصيانة https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/CampaignEvents/+/refs/heads/master/maintenance/UpdateUTCTimestamps.php] يعيد حساب الطوابع الزمنية بالتوقيت العالمي المنسق لجميع الفعاليات وفقًا لآخر قواعد المنطقة الزمنية، ويخزنها مرة أخرى في قاعدة البيانات.

لكي تعمل هذه الميزة بشكل صحيح، تأكد من أن PHP تستطيع الوصول إلى أحدث إصدار من قاعدة بيانات المناطق الزمنية (tz database). دليل PHP يوفر بعض المعلومات حول هذا الموضوع. الحل الأسهل هو تثبيت حزمة timezonedb PECL والتأكد من تحديثها باستمرار.

بافتراض أن PHP لديه إمكانية الوصول إلى أحدث قواعد المنطقة الزمنية، يمكنك تشغيل البرنامج النصي باستخدام:

$ phpmaintenance/run.php./extensions/CampaignEvents/maintenance/UpdateUTCTimestamps.php

يأخذ البرنامج النصي أيضًا معلمة اختيارية --timezone حيث يمكنك تحديد اسم المنطقة الزمنية التي تغيرت قواعدها؛ ويمكن تكرار هذه المعلمة عدة مرات. في حالة تمريره، سيقوم البرنامج النصي بتحديث الفعاليات التي تتطابق منطقتها الزمنية مع إحدى المناطق الزمنية المحددة عبر هذا المعامل.

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

نص برمجي لتجميع إجابات المشاركين

يوفر الملحق برنامج نصي للصيانة يقوم بتجميع إجابات المشاركين بعد فترة 90 يومًا. يمكن تشغيل البرنامج النصي باستخدام:

$ phpmaintenance/run.php./extensions/CampaignEvents/maintenance/AggregateParticipantAnswers.php

يُنصح بتهيئة هذا البرنامج النصي ليُشغَّل تلقائيًا (مثلًا عبر مهمة مجدولة (cron job) كل ساعة)، وذلك لضمان حذف بيانات التعريف الشخصية (PII) بمجرد انتفاء الحاجة إلى الاحتفاظ بها.

انظر أيضا

هذا الامتداد يستخدم على واحد من مشاريع ويكيميديا أو أكثر من واحد. يعني هذا الأمر أن الامتداد مستقر ويعمل/تعمل جيدا بما فيه الكفاية ليستخدم/لتستخدم في مواقع تتمتع بمستوى زيارات مرتفع مثل هذه. ابحث عن اسم هذا الامتداد في ملفات الضبط CommonSettings.php وكذلك InitialiseSettings.php كي ترى أين تنصب. توجد قائمة كاملة بالامتدادات المنصبة على موقع ويكي بعينه على صفحة Special:Version الخاصة بموقع الويكي.
  1. أخبار التكنولوجيا 2026، الأسبوع 15، ويكيميديا ديف. نُشر في 6 أبريل 2026.

AltStyle によって変換されたページ (->オリジナル) /