قالب:امتداد

This page is a translated version of the page Template:Extension and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Scots • ‎Tiếng Việt • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎magyar • ‎norsk bokmål • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎čeština • ‎Ελληνικά • ‎български • ‎македонски • ‎русский • ‎українська • ‎հայերեն • ‎العربية • ‎فارسی • ‎کوردی • ‎मराठी • ‎हिन्दी • ‎বাংলা • ‎မြန်မာဘာသာ • ‎中文 • ‎日本語 • ‎粵語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎조선말 • ‎한국어
Template documentation

يجب إضافة هذا القالب إلى كافة صفحات الامتداد على موقع الويكي هذا (فقط في الصفحة الرئيسية). سوف يضيف صناديق معلومات مفيدة (طالع التالي) وسوف يضيف الامتداد تلقائيا إلى تصنيف:كل الامتدادات ، بالإضافة إلى تصنيفات الحالة ونوع التنفيذ الملائمين.

الاستخدام

نسخ ولصق:

{{Extension |templatemode =
|name                 = 
|status               = 
|type1                = 
|type2                = 
|hook1                = 
|hook2                = 
|newhook1             = 
|newhook2             = 
|username             = 
|author               = 
|description          = 
|image                = 
|imagesize            = 
|version              = 
|update               = 
|version preview      = 
|update preview       = 
|compatibility policy =
|mediawiki            = 
|php                  = 
|needs-updatephp      = 
|composer             =
|table1               = 
|table2               = 
|license              = 
|download             = 
|readme               = 
|changelog            = 
|example              = 
|namespace            = 
|parameters           = 
|tags                 = 
|rights               = 
|compatibility        = 
|bugzilla             = 
|phabricator          =
|vagrant-role         = 
}}
للمساعدة في قيم المتغيرات، طالع ما يلي.
الدليل المرجعي لامتدادات ميدياويكي
OOjs UI icon advanced.svg
{{{name}}}
حالة الإصدار غير معلوم
Placeholder.png
تنفيذ {{{type1}}}, {{{type2}}}
بيان {{{description}}}
المؤلف/المؤلفون SomeAuthor (SomeUsertalk)
آخر إصدار {{{version}}} ({{{update}}})
آخر إصدار مراجعة {{{version preview}}} ({{{update preview}}})
سياسة التوافق غير ساري
MediaWiki {{{mediawiki}}}
PHP {{{php}}}
تغييرات قاعدة البيانات {{{needs-updatephp}}}
Composer {{{composer}}}
جداول [[Special:MyLanguage/Template:Extension/{{{table1}}} table|{{{table1}}}]][[:Template:Extension/{{{table1}}} table| ]]
[[Special:MyLanguage/Template:Extension/{{{table2}}} table|{{{table2}}}]][[:Template:Extension/{{{table2}}} table| ]]
ترخيص {{{license}}}
التنزيل {{{download}}}
{{{readme}}}
{{{changelog}}}
مثال {{{example}}}
{{{namespace}}}
{{{parameters}}}
{{{tags}}}

{{{rights}}}

{{{compatibility}}}
ترجمة Extension الامتداد لو كان متوفرا على translatewiki.net
دور المتشرد {{{vagrant-role}}}
المسائل [[phab:tag/{{{phabricator}}}|المهام المفتوحة]] · الإبلاغ عن عطل تقني

متغيرات المحتوى

يقدم هذا القسم وصفا للمتغيرات التي تنظم محتوى صناديق المعلومات. للمساعدة في templatemode ومتغيرات الضبط الأخرى، يرجى مطالعة متغيرات الضبط.

متغيرات المحتوى
المتغير بيان
nameاسم الامتداد
statusحالة الإصدار الحالية

أي مما يلي:

  • unstable - معطوب - لا تستخدم هذا الامتداد
  • experimental - مراحل أولية من التطوير البرمجي، ربما يتغير كثيرا
  • beta - مستقر إلا أنه لم يجرب بالكامل
  • stable - إصدار مستقر
  • unmaintained - لا يتمتع بصيانة - ذكر سابقا أنه مستقر، إلا أنه لا يتمتع بصيانة حاليا
  • archive - محفوظ في الأرشيف - متقادم أو دمج مع امتداد آخر
  • unknown - افتراضي

لو كانت الحالة خلاف ما ذكر سالفا، سوف يتم تجاهلها وستعرض القيمة الافتراضية "Unkonwn" في القالب بدلا من الحالة المذكورة. في الحالات التي تمحى فيها القيمة، سوف يصنف الامتداد على أنه غير معلوم (unknown). في الحالات التي تكون فيها القيمة غير صالحة، سوف يضاف الامتداد في تصنيف خاص حتى يمكن التعرف على الخطأ وتصويبه.

type1
type2
type3
type4
type5
type6
نوع التنفيذ

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

القيم المسموح بها لكل من المتغيرات type1 و type2 وغيرها كما يلي:

  • parser - متغير عام لكافة امتدادات المعرب اللغوي غير المصنفة. لو كنت كتبت امتداد معرب لغوي، يرجى استخدام واحد مما يلي من الأنواع المحددة:
  • access - متغير عام لأغراض User access extensions وهي الامتدادات التي تستحدث أو تتحقق من أو تمنح تصاريح أو تسحبها أو تراقب نشاط المستخدمين. لو كتبت امتداد وصول، يرجى استخدام واحد مما يلي من الأنواع المحددة:
    • user activity - امتدادات تراقب نشاط المستخدم (حالات تسجيل الدخول والخروج وإنشاء مستخدم جديد وخلافه)
    • user identity - امتدادات تنشئ مستخدمين وتمحو المستخدمين و/أو تتحقق من هوية أي مستخدم
    • user rights - امتدادات لنظام إدارة الحقوق أي التغييرات التي تطرأ على سبيل تخصيص الحقوق وواجهات برمجة التطبيقات وأدوات الصيانة (لا تشمل الامتدادات التي تذكر فقط الحقوق المطلوبة لاستخدام سمات هذا الامتداد؛ استخدم لهذا الغرض متغير الحقوق)
  • interface - متغير عام لكافة امتدادات واجهة المستخدم غير المصنفة.
    • media - امتدادات تسمح بتضمين محتوى وسائط متعددة على صفحات الويكي عن طريق تسجيل امتداد ملف مستخدما $wgMediaHandlers .
    • mywiki - امتدادات تقدم بنية تحتية يمكن للمستخدمين منها تخصيص خبرة ميدياويكي الخاصة بهم و/أو المساعدة في إدارة تلك البنية
    • notify - امتدادات ترسل رسائل بريد إلكتروني إلى المستخدمين وكذا رسائل نشرات وكذا تقديم أنواع أخرى من الإشعار للمجتمع
    • page action - امتدادات تحسن من page action s أو تعدله. يشمل هذا أي شيء ينفذ تصرف يقرأ صفحة أو يكتبها أو يبحث عنها أو يستحدثها أو يغير اسمها أو يمحوها أو يعيد التوجيه إليها أو يناقشها. لا يشمل ذلك حقوق (استخدم user rights) أو سجلات (استخدم user activity).
    • search - امتدادات تبحث في المقالات وتختارها نيابة عن المستخدمين.
    • skin - امتدادات تضيف css أو جافا سكريبت أو تنفذ وظائف وصل تغير هيئة ميدياويكي وطريقة استخدامه باستخدام هيكل السمات.
    • ajax - امتدادات تستخدم أساليب برمجة أجاكس.
    • special - امتدادات تقع في فئة فرعية من فئة SpecialPage، أو تستخدم واحد من وصلاتها أو تربط وظيفة واحدة أو أكثر في SpecialPage.php. طالع Special pages لمزيد من المعلومات.
  • other
    • api - امتدادات تضيف وحدة واجهة برمجة تطبيقات جديدة أو توسع من نموذج أساسي لواجهة برمجة التطبيقات قائم.
    • hook - امتداد للوصلات - يحدد وصلة جديدة - طالع hook1 وخلافه تاليا لو كنت ترغب في تحديد الوصلات التي يستخدمها بالفعل امتدادك.
    • database - يضيف جداول و/أو حقول إلى قاعدة البيانات التي تساند تنصيب ميدياويكي
    • data extraction - استخلاص البيانات
    • filerepo - امتداد يضيف مستودع أنواع ملفات جديد إلى النهاية الخلفية للملفات
    • example - ليس امتدادا فعليا، بل مثال على كيفية كتابة كود امتداد

أي قيمة أخرى لمتغير 'type' ستكون غير صالحة وينتج عنها وضع الامتداد في تصنيف Category:Extensions with invalid or missing type/ar.

ملحوظة: تشتمل عدة امتدادات أكثر من نوع واحد، لو كان ذلك ينطبق على امتداداك، ضع محل |type= قيمة |type1=|type2=|type3=.... يمكنك تحديد عدد يصل إلى ستة أنواع لامتداد واحد.
hook1
hook2
hook3
hook4
...
hook90
اسم كل رابط يستخدمه الامتداد

إن ادخال القيم في هذا الحقل هو سبيل جيد للفت النظر إلى امتدادك ومساعدة المطورين الآخرين. سوف يضيف كل رابط موثق تلقائيا الامتداد إلى تصنيف يذكر الامتدادات التي تسعين بهذا الرابط. يربط هذا التصنيف تلقائيا بكل مقالة رابط حتى يتسنى للمبرمجين الوصول إلى أمثلة على امتدادات تستخدم رابط محدد.

لأغراض الروابط المدمجة:

  • استخدم اسم الرابط فقط. يرجى الرجوع إلى Manual:Hooks لتطلع على القيم (إلا أنه عليك إزالة محرف / الأول).

لأغراض الروابط المخصصة التي تحددها الامتدادات:

  • استخدم extensionName/hookName. لتطلع على قائمة جزئية بالروابط المخصصة، طالع Extension hook registry.
لأغراض الروابط المتعددة، حدد الرابط الأول في hook1 والرابط الثاني في hook2 وهكذا دواليك.
newhook1
newhook2
newhook3
newhook4
...
newhook90
اسم كل رابط يقدمه الامتداد ربما قد ترغب أيضا في إضافة روابط إلى Extension hook registry.
usernameاسم مستخدم المؤلف على موقع MediaWiki.org (لو كان للمستخدم حساب). يمكن محوه، إلا أنه في حالة وجوده سوف يستخدم في الوصل إلى صفحة مستخدم المؤلف وصفحة نقاشه. يجب أن يكون ذلك دون نطاق الاسم ودون [[]].
authorاسم مؤلف الامتداد لو كان مختلفا عن اسم المستخدم الموجود على MediaWiki.org. نص حر. لو محي ستستخدم خانة 'username' (لو كانت له قيمة مقدمة).
descriptionبيان مختصر
imageلقطة من الشاشة أو شعار الامتداد. يجب أن يكون ذلك دون نطاق الاسم ودون [[]].
imagesizeاختياري، حجم الصورة (الحجم الافتراضي هو 220 بيكسل)
versionآخر إصدار
updateتاريخ آخر تحديث
compatibility policyسياسة التوافق (القيم المقبولة هي master و rel و ltsrel). (متبقيات )
mediawikiالإصدار المطلوب من ميدياويكي
phpالإصدار المطلوب من PHP
needs-updatephpyes تشير إلى أن الامتداد يتطلب تغيير مخطط جدول قاعدة بيانات أو تصرف مشابه لذلك، قبل تشغيل ميدياويكي. هذا الأمر يعد شرك شائع: سوف تتعرض برمجيات ميدياويكي لديك لعطل لو نسيت تشغيل update.php – لو كان الامتداد يتطلب تشغيل ذلك. يجب أن تحدد no قيمة منذ أن هذا يضمن أن الامتداد لا يتطلب تشغيل update.php وبالتالي تلافي الشك

تصمم الامتدادات التي تتماشى ومعايير امتدادات ميدياويكي القياسية مع نص برمجي لتغيير المخطط الذي يتعين عليك أن تبدأ تشغيله يدويا (مرة واحدة) قبل تشغيل ميدياويكي والوصول إليها مستخدما متصفحك، وكذا بعد نسخك لكافة ملفات الامتداد إلى $IP/extensions/ExtensionName وإدراج wfLoadExtension( "ExtensionName"); في «LocalSettings.php»، شغل التالي من سطر الأوامر:

cd path/to/wiki_install_directory
cd maintenance
php update.php
$IP تعني مسار التنصيب (أو "مجلد التنصيب") الذي نصبت فيه برمجيات ميدياويكي لديك، وهو ذات المجلد الذي يحتوي على LocalSettings.php وindex.php وخلافه.
composerلو تطلب الأمر ذلك، يتعين إدراج اسم «vendor» وكذا «package» بصيغة vendor/package، على سبيل المثال mediawiki/semantic-media-wiki كي توجه الأفراد مباشرة إلى packagist.org، الذي يعمل بصفة أرشيف للحزمة.
table1
table2
table3
table4
...
table30
اسم كل جدول غير أساسي يستخدمه الامتداد وصلات شبكية إلى صفحة فرعية ملحقة بصفحة امتدادك. على سبيل المثال، إدراج "table1 = cu_changes" في خانة Extension:CheckUser سوف يقدم وصلة شبكية إلى Extension:CheckUser/cu_changes table . لا تدرج الجداول الأساسية مثل page أو revision بل عليك أن تدرج فقط الجداول التي تضيفها الامتدادات.
licenseالترخيص المنظم لاستخدام هذا الامتداد، باستخدام أحد الأكواد المبينة في https://spdx.org/licenses/ على سبيل المثال GPL-2.0-or-later أو GPL-2.0-only أو GPL-3.0-or-later أو خلافه.
downloadوصلة شبكية للتنزيل : Git، {{WikimediaDownload/ar}} مع server=svn في حال كانت لم ترحل من Subversion . لو أضفت الكود إلى صفحة في موقع ويكي ميدياويكي، أضف وصلة شبكية إليها مستخدما اسم الصفحة كاملا وكذا اسم الفقرة، على سبيل المثال [[Extension:Example/version_1.22a#Code]] (يتعين أن تظل سارية حينما ينسخها بوت إلى مكان آخر)
readmeوصلة شبكية خارجية إلى ملف readme مثل https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README
changelogوصلة شبكية خارجية إلى ملف سجل التغييرات مثل Extension:LDAP Authentication/Changelog
parametersالمتغيرات المتاحة لملف LocalSettings.php
tagsأية وسوم يستعين بها امتدادك (مثل <tag1>, <tag2>)
rights حقوق يسبغها الامتداد. لا تخلط بين هذا وترخيص الامتداد ذاته! هي حقوق مثل makebot أو desysop ، لا قيم مثل GFDL أو LGPL أو GPL – هذه هي أنواع تراخيص!
namespaceنطاق الاسم الذي يستخدم فيه هذا الامتداد
exampleمثال أو موقع شبكي أو لقطة من الشاشة للامتداد أثناء تأدية عمله
compatibilityمعلومات إضافية عن التوافق، على سبيل المثال مخططات التوافق (كانت تستخدم Template:Extension Testing في السابق). نحثك على إضافة أي معلومات توافق خاصة بالبرمجيات العميلة هنا أيضا، خاصة حينما تختلف عن ما هو متوقع من ناحية الدعم الكامل لمتصفح ما.
translateمتغيرات اختيارية للوصل الشبكي مع الصفحة المحددة حيث (معرف مجموعة الرسائل التي) سوف يكون الامتداد قابل للترجمة باستخدامها على translatewiki.net لو كانت الترجمة مسموحة. لو كانت الوصلة الشبكية غير صحيحة، يرجى ضبطها يدويا لتكون أي مما يلي:
  • ext-LOWERCASE(NOSPACES(الوسم حسب ما هو معرف في config))، aka
  • المتغير الذي تحصل عليه في محدد موقع الموارد الموحد بعد
    • إدخال اسم الامتداد في خانة البحث/الترشيح على translatewiki:Special:Translate أو
    • البحث عن اسمه في languagestats بعد النقر على «توسيع الكل – expand all».
bugzillaاسم مكون امتداد بغزيلا ميدياويكي
phabricatorاسم مشروع فابريكاتور
CheckUsageNameOverrideتخطي اسم الصفحة المستخدم في الوصلة الشبكية لأغراض التحقق من الاستخدام.

متغيرات الضبط

متغيرات الضبط
المتغير بيان
templatemodeالتحكم في التصنيف الآلي للصفحة المضيفة.

يترك عادة خاليا. القيم البديلة لذلك كما يلي:

  • nocats - يوقف كلا من أعمال التصنيف ووصلة 'check usage' الشبكية. استخدم هذه القيمة لو كنت تضيف هذا القالب إلى صفحات فرعية لامتداد أو صفحة توثيق لكيفية عمل الامتداد. على سبيل المثال تضبط صورة الاستخدام السالفة تحدد templatemode=nocats لأنها ليست صفحة امتداد فعلية ولا نرغب في إضافة هذه الصفحة إلى أية تصنيفات بسبب ذلك.
  • nousage - يوقف وصلة 'check usage' الشبكية. توقف أيضا الوصلات الشبكية لو كانت الصفحة هي صفحة فرعية أي ليست في نطاق الاسم Extension: أو كانت موقوفة بسبب 'templatemode=nocats'
لو تركت القيمة فارغة، سوف يضيف القالب صفحة الاستضافة إلى Category:All extensions/ar وإلى تصنيف إضافي واحد أو أكثر، استنادا إلى القيم المخصصة لمتغيرات المحتوى.

استخدام صندوق المعلومات

صفحات الامتداد القائمة

لو كنت ترغب في إضافة صندوق المعلومات إلى صفحة قائمة، انسخ النص المصدري والصقه في الجزء الأعلى من هذه الصفحة.

إنشاء مقالة امتداد جديد

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


على المطور الذي يشارك كوده على مستودع كود ميدياويكي أن يتوقع ما يلي:

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

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

تحسين مستوى هذا القالب

لو كنت ترغب في تحسين مستوى هذا القالب، شكرا! هذا القالب قالب معقد لذا إليك بعض المساعدة في الطريق:

زر إنشاء امتداد

كي تحسن من سلوك زر إنشاء امتداد:

متغيرات صندوق المعلومات

بوجه عام:

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

إن أردت التغيير/التصويب/الإضافة إلى متغيرات نوع التطبيق:

كي تغير سلوك متغيرات الربط الشبكي:

حالة اختبار

تحقق كي ترى أن الصفحات التالية لا زالت صالحة، بعد تعديل هذا القالب.

TemplateData

Maintenance: vulnerabilities, archived