قالب:امتداد
![]() | هذا القالب يستعين بسمات معقدة من الإعراب البرمجي للقوالب.
نحثك على التعرف على كيفية تصميمه وكذا وظائف المعرب اللغوي قبل تعديل هذا القالب. لو نتج عن تعديلك حدوث مشكلات غير متوقعة، يرجى التراجع عن التعديل سريعا، منذ أن هذا القالب ربما يظهر على عدد كبير من الصفحات. تذكر أنه يمكنك التجريب وعليك أن تختبر كافة التحسينات سواء على الصندوق الرمل العام أو على مساحة مستخدمك قبل تعديل أي شيء هنا. |
![]() | هذا القالب يستخدم لوا: |
![]() | This template uses TemplateStyles: |
يجب إضافة هذا القالب إلى كافة صفحات الامتداد على موقع الويكي هذا (فقط في الصفحة الرئيسية). سوف يضيف صناديق معلومات مفيدة (طالع التالي) وسوف يضيف الامتداد تلقائيا إلى تصنيف:كل الامتدادات ، بالإضافة إلى تصنيفات الحالة ونوع التنفيذ الملائمين. It autofills some fields of the infobox with extension data collected by wikitech:Tool:Extjsonuploader.
الاستخدام
نسخ ولصق: {{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 = |virtual domain = |table1 = |table2 = |license = |download = |repo = |readme = |changelog = |help = |example = |namespace = |parameters = |tags = |rights = |compatibility = |phabricator = |translate = |vagrant-role = }}للمساعدة في قيم المتغيرات، طالع ما يلي. |
|
متغيرات المحتوى
يقدم هذا القسم وصفا للمتغيرات التي تنظم محتوى صناديق المعلومات. للمساعدة في templatemode ومتغيرات الضبط الأخرى، يرجى مطالعة متغيرات الضبط.
المتغير | بيان |
---|---|
name | اسم الامتداد |
status |
حالة الإصدار الحالية أي مما يلي:
لو كانت الحالة خلاف ما ذكر سالفا، سوف يتم تجاهلها وستعرض القيمة الافتراضية "Unkonwn" في القالب بدلا من الحالة المذكورة. في الحالات التي تمحى فيها القيمة، سوف يصنف الامتداد على أنه غير معلوم (unknown). في الحالات التي تكون فيها القيمة غير صالحة، سوف يضاف الامتداد في تصنيف خاص حتى يمكن التعرف على الخطأ وتصويبه. |
type1 type2 type3 type4 type5 type6 | نوع التنفيذ
استراتيجية/استراتيجيات التنفيذ المستخدمة في تصميم هذا الامتداد. يستخدم هذا المتغير في إنشاء تصنيفات تساعد المبرمجين في إيجاد أمثلة على استراتيجيات التنفيذ المحددة المختلفة على ميدياويكي أو أنماطها. رغم أن قيم هذا المتغير تماثل في بعض الأحيان حالة الاستخدام أو الغرض من أي امتداد، إلا أن هذا ليس مبررا لاستخدام هذا المتغير. لو كانت القيم التي اخترت لهذا المتغير لا تحدد بما فيه الكفاية الغرض أو حالات الاستخدام المحتملة، نوصيك بإضافة وصلات تصنيف إضافية حسب الحاجة. القيم المسموح بها لكل من المتغيرات type1 و type2 وغيرها كما يلي:
أي قيمة أخرى لمتغير 'type' ستكون غير صالحة وينتج عنها وضع الامتداد في تصنيف Category:Extensions with invalid or missing type/ar. ملحوظة: تشتمل عدة امتدادات أكثر من نوع واحد، لو كان ذلك ينطبق على امتداداك، ضع محل|type= قيمة |type1=|type2=|type3=... . يمكنك تحديد عدد يصل إلى ستة أنواع لامتداد واحد. |
hook1 hook2 hook3 hook4 ... |
اسم كل رابط يستخدمه الامتداد
إن إدخال القيم في هذا الحقل هو سبيل جيد للفت النظر إلى امتدادك ومساعدة المطورين الآخرين. سوف يضيف كل رابط موثق تلقائيا الامتداد إلى تصنيف يذكر الامتدادات التي تسعين بهذا الرابط. يربط هذا التصنيف تلقائيا بكل صفحة رابط حتى يتسنى للمبرمجين الوصول إلى أمثلة على امتدادات تستخدم رابط محدد. لأغراض الروابط المدمجة:
لأغراض الروابط المخصصة التي تحددها الامتدادات:
|
newhook1 newhook2 newhook3 newhook4 ... newhook90 |
اسم كل رابط يقدمه الامتداد ربما قد ترغب أيضا في إضافة روابط إلى Extension hook registry. |
username | اسم مستخدم المؤلف على موقع MediaWiki.org (لو كان للمستخدم حساب). يمكن محوه، إلا أنه في حالة وجوده سوف يستخدم في الوصل إلى صفحة مستخدم المؤلف وصفحة نقاشه. يجب أن يكون ذلك دون نطاق الاسم ودون [[]]. |
اسم مؤلف الامتداد لو كان مختلفا عن اسم المستخدم الموجود على MediaWiki.org. نص حر. لو محي ستستخدم خانة 'username' (لو كانت له قيمة مقدمة). | |
description | بيان مختصر |
image | لقطة من الشاشة أو شعار الامتداد. يجب أن يكون ذلك دون نطاق الاسم ودون [[]]. |
imagesize | اختياري، حجم الصورة دون إضافة عدد البيكسلات مثل 360 (الحجم الافتراضي هو 300 بيكسل) |
version | آخر إصدار |
update | تاريخ آخر تحديث |
version preview | نسخة الاستعراض |
update preview | تاريخ آخر تحديث لنسخة الاستعراض |
compatibility policy | سياسة التوافق (القيم المقبولة: master, main, rel, ltsrel). (متبقيات ) |
mediawiki | الإصدار المطلوب من ميدياويكي أغلب الامتدادات لا يجب أن تستخدم هذا – القيمة الافتراضية هي نعت 'requires' في extension.json. طالع أيضا Category:Extensions without MediaWiki version و Category:Extensions with manual MediaWiki version . |
php | الإصدار المطلوب من PHP |
needs-updatephp |
تشير تصمم الامتدادات التي تتماشى ومعايير امتدادات ميدياويكي القياسية مع نص برمجي لتغيير المخطط الذي يتعين عليك أن تبدأ تشغيله يدويا (مرة واحدة) قبل تشغيل ميدياويكي والوصول إليها مستخدما متصفحك، وكذا بعد نسخك لكافة ملفات الامتداد إلى
$IP تعني مسار التنصيب (أو "مجلد التنصيب") الذي نصبت فيه برمجيات ميدياويكي لديك، وهو ذات المجلد الذي يحتوي على LocalSettings.php وindex.php وخلافه. |
composer | اسم حزمة الامتداد في Composer، في صيغته القياسية. سوف يضم آليًا لو حدد ذلك في ملف «composer.json» في الامتداد (أي أن هذا المتغير غير مطلوب في مثل هذه الحالة). سوف يربط شبكيًا إلى صفحة الامتداد على Packagist. |
virtual domain | نطاق قاعدة البيانات الافتراضي الذي يستخدمه الامتداد. |
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 }}. |
repo | اسم مستودع غيريت الذي يخزن فيه كود الامتداد البرمجي، لو كان مختلفا عن اسم الصفحة. ضبط هذه القيمة تلقائيا يضبط |download= ويسمح للقالب أن يحمل بيانات آليا من ملف extension.json المناسب. |
readme | وصلة شبكية خارجية إلى ملف readme مثل https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README |
changelog | وصلة شبكية خارجية إلى ملف سجل التغييرات مثل Extension:GeoGebra/Changelog |
help | وصلة شبكية إلى مساعدة المستخدم لهذا الامتداد. If not provided, will look for Help:Extension:ExtensionName . لو كانت موجودة، يجب وجود نص ويكي كامل وهو الوصلة الشبكية (لأنك ربما ترغب في الوصل إلى صفحة خارجية على سبيل المثال). |
example | مثال أو موقع شبكي أو لقطة من الشاشة للامتداد أثناء تأدية عمله |
namespace | نطاق الاسم الذي يستخدم فيه هذا الامتداد |
parameters | المتغيرات المتاحة لملف LocalSettings.php |
أية وسوم يستعين بها امتدادك (مثل <tag1>, <tag2>) | |
rights | حقوق يسبغها الامتداد. لا تخلط بين هذا وترخيص الامتداد ذاته! هي حقوق مثل makebot أو desysop ، لا قيم مثل GFDL أو LGPL أو GPL – هذه هي أنواع تراخيص! |
compatibility | معلومات إضافية عن التوافق، على سبيل المثال مخططات التوافق. نحثك على إضافة أي معلومات توافق خاصة بالبرمجيات العميلة هنا أيضا، خاصة حينما تختلف عن ما هو متوقع من ناحية الدعم الكامل لمتصفح ما. |
bugzilla | اسم مكون امتداد بغزيلا ميدياويكي |
phabricator | اسم مشروع فابريكاتور |
translate |
متغيرات اختيارية للوصل الشبكي مع الصفحة المحددة حيث (معرف مجموعة الرسائل التي) سوف يكون الامتداد قابل للترجمة باستخدامها على translatewiki.net لو كانت الترجمة مسموحة. لو كانت الوصلة الشبكية غير صحيحة، يرجى ضبطها يدويا لتكون أي مما يلي:
|
vagrant-role | دور MediaWiki-Vagrant |
CheckUsageNameOverride | تخطي اسم الصفحة المستخدم في الوصلة الشبكية لأغراض التحقق من الاستخدام. |
متغيرات الضبط
المتغير | بيان |
---|---|
templatemode |
التحكم في التصنيف الآلي للصفحة المضيفة. يترك عادة خاليا. القيم البديلة لذلك كما يلي:
|
استخدام صندوق المعلومات
صفحات الامتداد القائمة
لو كنت ترغب في إضافة صندوق المعلومات إلى صفحة قائمة، انسخ النص المصدري والصقه في الجزء الأعلى من هذه الصفحة.
إنشاء صفحة امتداد جديد
لو كنت ترغب في إنشاء صفحة امتداد جديد، أدخل الاسم تاليا واضغط على الزر. سوف تضاف صفحة جديدة تحتوي على قالب صندوق المعلومات في المكان المطلوب.
على المطور الذي يشارك كوده على مستودع كود ميدياويكي أن يتوقع ما يلي:
- آراء وملاحظات / نقد / مراجعة للكود
- مراجعة وتعليق مطورين آخرين على أمور مثل استخدام البنية والأمن والكفاءة وسهولة الاستخدام.
- تحسينات من مطورين
- مطورين آخرين يعدلون ما قدمته بغرض تحسين أو تنظيف كودك كي يتماشى وتصنيفات البنية الجديدة وطرقها وكذا أعراف كتابة الكود والترجمات.
- تحسين الوصول لإداري نظام مواقع الويكي
- لو قررت وضع كودك على موقع ويكي، ربما يقرر مطور آخر نقله إلى مستودع كود ميدياويكي لتيسير أعمال الصيانة. يحق لك حينها إنشاء حساب مطور برمجيات كي تواصل صيانته.
- إصدارات قادمة من مطورين آخرين
- أفرع جديدة من كودك تستحدث تلقائيا مع إصدار إصدارات جديدة من برمجيات ميدياويكي. يتعين عليك الربط مع هذه الأفرع لو كنت ترغب في دعم إصدارات سابقة.
- دمج كودك في امتدادات أخرى ذات أغراض مطابقة أو مشابهة - دمج أفضل السمات من كل امتداد.
- التقدير
- سوف يحفظ نسب وتقدير عملك في الإصدارات القادمة - يشمل ذلك أية امتدادات مدمجة.
- يتعين عليك أنت أيضا أن تشكر وتقدر مطوري أية امتدادات اقتبست منها - خاصة حينما تنفذ عملية دمج.
لا يجب على أي مطور لا يشعر بالراحة تجاه أي من هذه التصرفات استضافة أي شيء في مستودع الكود. نحثك رغم ذلك على استحداث صفحة موجز لامتدادك على موقع الويكي وإبلاغ الأفراد بالامتداد وأين يمكنهم تنزيله.
تحسين مستوى هذا القالب
لو كنت ترغب في تحسين مستوى هذا القالب، شكرا! هذا القالب قالب معقد لذا إليك بعض المساعدة في الطريق:
زر إنشاء امتداد
كي تحسن من سلوك زر إنشاء امتداد:
- Template:Extension/Sample : النص المعياري للامتداد الذي يحمل مسبقا إلى الصفحات المنشأة حديثا.
- قالب:امتداد/CreateExtensionInputBox : صندوق إدخال يمكن إضافته إلى أي مكان ترغب في أن يسهل على المستخدمين إنشاء امتدادات فيه. كي تطلع على توثيق وسم
<inputbox>
يرجى الذهاب إلى Extension:InputBox .
متغيرات صندوق المعلومات
بوجه عام:
- كي نيسر استخدام هذا القالب، يوصل شبكيا كل بند في صندوق المعلومات بصفحة توثيق من متغيرات القالب الذي تعرضه. لو أضفت متغير ما، يرجى التأكد من إضافته أيضا إلى توثيق متغيرات المحتوى وكذا وصل بنده شبكيا إلى مستند التوثيق المعني بذلك.
إن أردت التغيير/التصويب/الإضافة إلى متغيرات نوع التطبيق:
- تحقق من صفحة النقاش – ثمة نقاش كثير في هذا المجال.
- الأنواع الصالحة وما الذي تصل إليه مبين في Module:Extension
كي تغير سلوك متغيرات الربط الشبكي:
- Template:Extension/HookInUse: يضيف وصلات شبكية وتصنيفات لأي ربط شبكي مستخدم. تنفذ عدة روابط شبكية مستخدمة عن طريق استدعاء هذا القالب مستخدما Template:Foreach.
- Template:Extension/HookInUseNoCats: يستخدم بدلا من Template:Extension/HookInUse حينما يكون هذا القالب مستخدما في
templatemode=nocats
. يمكن فقط للقوالب التي تستخدم مع Template:Foreach أن تأخذ متغير واحد لذا سنحتاج لتضمين الاستدعاء الخاص بحالة Template:Extension/HookInUse في قالب آخر يضبط الحالة.
حالة اختبار
تحقق كي ترى أن الصفحات التالية لا زالت صالحة، بعد تعديل هذا القالب.
TemplateData
TemplateData | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
This is the TemplateData documentation for this template used by VisualEditor and other tools. Extension An infobox for a MediaWiki extension.
|
Maintenance: vulnerabilities, archived