This page is a translated version of the page Extension:CampaignEvents and the translation is 36% complete.
لا تخلط بينه وبين Extension:Campaigns.
الدليل المرجعي لامتدادات ميدياويكي
حالة الإصدار مستقر
تنفيذ صفحة خاصة , سمات
بيان توفر ميزات للمنظمين والمشاركين
المؤلف/المؤلفون فريق الحملات
سياسة التوافق تصدر اللقطات البرمجية مع ميدياويكي. الإصدار الرئيسي لا يتوافق مع الإصدارات السابقة.
MediaWiki >= 1.43
تغييرات قاعدة البيانات نعم
جداول campaign_events
ترخيص رخصة جنو العمومية 2.0 أو ما بعدها
  • $wgCampaignEventsEnableEventInvitation
  • $wgCampaignEventsProgramsAndEventsDashboardInstance
  • $wgCampaignEventsProgramsAndEventsDashboardAPISecret
  • $wgCampaignEventsEnableWikimediaParticipantQuestions
  • $wgCampaignEventsShowEventInvitationSpecialPages
  • campaignevents-enable-registration
  • campaignevents-delete-registration
  • campaignevents-organize-events
  • campaignevents-email-participants
تنزيلات ربع سنوية 7 (Ranked 124th)
ترجم الامتداد CampaignEvents لو كان متوفرا على translatewiki.net
المسائل المهام المفتوحة · الإبلاغ عن عطل تقني


  • نزّل الملف/الملفات وضعها في دليل يحمل اسم ‎CampaignEvents داخل مجلد ‎extensions/‎ لديك.
    يجب على مطوري البرمجيات والمساهمين بالكود البرمجي تثبيت الامتداد من غت بدلا من ذلك، مستخدمين:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CampaignEvents
  • أضف الكود التالي في الجزء الأسفل من ملف LocalSettings.php :
    wfLoadExtension( 'CampaignEvents' );
  • شغل نص التحديث البرمجي الذي سوف ينشئ تلقائيا جداول قاعدة البيانات الضرورية التي يحتاج إليها الامتداد.
  • Schedule a cronjob that runs the #script to update timezones (optional), and one for the #script to aggregate participant answers.
  •   تم التنفيذ – اذهب إلى Special:Version على موقع الويكي لديك كي تتحقق من أن الامتداد قد ثبت بنجاح.


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

الصلاحية الوصف
campaignevents-enable-registration Enable event registrations
campaignevents-delete-registration Delete event registrations
campaignevents-organize-events Organize events
campaignevents-email-participants Email event participants


اسم المتغير القيمة الافتراضية الوصف
$wgCampaignEventsProgramsAndEventsDashboardInstance null Determines which instance of the P&E Dashboard should be used, if any. Supported values are 'production', 'staging', or null to not use the dashboard.
$wgCampaignEventsProgramsAndEventsDashboardAPISecret null API secret to use with the selected P&E Dashboard instance. Must be configured if you intend to use the P&E Dashboard.
$wgCampaignEventsEnableWikimediaParticipantQuestions true Whether to enable Wikimedia-specific questions that can be asked to participants, such as whether they belong to a Wikimedia affiliate.

The extension can be configured to store data into a database other than the main wiki DB. You do so by configuring the virtual-campaignevents domain, see Manual:$wgVirtualDomainsMapping . For instance:

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

This is especially useful in combination with a central database that stores event for a whole wiki family. Note, if you do so, that the wiki farm needs to use central user IDs .

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

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

Script to update timezones

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. You can read more details. In order to mitigate that, the extension provides a maintenance script that recomputes the UTC timestamps for all events according to the latest timezone rules, and stores them back into the database.

In order for this to work, you have to make sure that PHP has access to the latest version of the tz database. The PHP manual provides some context about this. The easiest solution is to install the timezonedb PECL package and make sure to keep it up-to-date.

Assuming that PHP has access to the latest timezone rules, you can run the script with:

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

The script also takes an optional --timezone parameter where you can specify the name of a time zone whose rules changed; this parameter can be repeated multiple times. If passed, the script will only update events whose timezone matches one of the timezones specified via this parameter.

If you upgrade the time zone database automatically (e.g., with a cronjob), you can make that job also execute this script, so that you don't have to do it manually every time you upgrade the time zone database.

Script to aggregate participant answers

The extension provides a maintenance script that aggregates participant answers after a 90 day period. The script can be run with:

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

The script should be configured to run automatically (e.g., as a cronjob) to make sure that PII isn't retained for longer than it needs to.

انظر أيضا