Extension:Approved Revs/ar

إن امتداد Approved Revs هو امتداد يسمح للإداريين بوسم مراجعة معينة في صفحة بوسم «معتمدة - approved». المراجعة المعتمدة هي تلك التي تعرض حينما يستعرض المستخدمين الصفحة مستخدمين معرف مواردها الموحد الرئيسي.

صمم هذا الامتداد كي يكون بديل سهل الاستخدام خفيف المطالب عن الامتداد. إن امتداد FlaggedRevs هو امتداد غني بالسمات مخصص للخدمة الشاقة يقدم ليس فقط اعتماد المراجعات بل أنه يحتوي على سمات مراجعة وأخرى ذات صلة؛ حيث يحدد 4 حقوق مستخدمين و3 مجموعات مستخدمين و15 متغير عمومي و أنواع من السجلات و11 صفحة خاصة و9 جداول قواعد بيانات (على عكسه، يحدد امتداد المراجعات المعتمدة 3 حقوق مستخدمين ولا يحدد مجموعات مستخدمين ويحدد 7 متغيرات عمومية ونوع سجلات واحد وصفحة خاصة واحدة وجدولي قواعد بيانات). لو كنت تشغّل موقع ويكي كبير الحجم مثل ويكيبيديا، حيث يجب أن يتخذ قرار ما هي المراجعة التي يجب عرضها بصفة المراجعة «الرسمية» على يد أكثر من شخص أو يقبله على الأقل أكثر من شخص واحد، سيكون امتداد FlaggedRevs هو الأداة المناسبة لك. إلا أنك لو كنت تشغّل موقع ويكي صغير أو متوسط، يتولى تشغيله عدد محدود من الإداريين، ربما يكون امتداد المراجعات المعتمدة هو الحل الأنسب.

حتى لو كانت مراجعة ما معتمدة، لا يزال بإمكان أغلب الامتدادات التي تجلب محتوى الصفحات الحصول على آخر مراجعة، لا المراجعة المعتمدة (لو كانتا مختلفتين). إلا أن الامتدادات التي تحصل على بيانات محددة من صفحات مثل أو  أو ، سوف تعرض، لحسن الحظ، البيانات الصحيحة (أي المعتمدة).

التنزيل
يمكنك تنزيل الكود البرمجي لامتداد المراجعات المعتمدة، في صيغة ‎.zip‎، من هنا.

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

كي ترى النص البرمجي على الإنترنت، شاملا تاريخ الإصدار لكل ملف، اذهب إلى diffusion/EARE/browse/master/.

التنصيب
كي تنصب هذا الامتداد، أنشئ مجلد ' ' (سواء عن طريق استخلاص ملف مضغوط أو تنزيله من غت)، وضع هذا المجلد في مجلد 'extensions' الرئيسي المخصص لميدياويكي. بعد ذلك، داخل ملف ' ' أضف السطر التالي:

سوف تحتاج أيضًا لتنصيب جدولي قواعد بيانات لهذا الامتداد هما «approved_revs» و«approved_revs_files». يمكنك تنفيذ هذا الأمر بسبيل من اثنين: إما تشغيل النص البرمجي «» في مجلد /maintenance المخصص لميدياويكي، أو استدعاء SQL مباشرة داخل قاعدة بياناتك – يمكنك إيجاده في الملفات  و ، وكلاهما موجود في مجلد /sql المخصص للامتداد.

في النهاية، إليك فيما يلي حقوق المستخدم المحددة في المراجعات المعتمدة:


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

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

المؤلفون
كتب النص البرمجي لامتداد المرجعات المعتمدة يارون كورين (Yaron Koren). ساهم في النص البرمجي مساهمات ذات أهمية كل من: ريموند سبيكنغ (Raimond Spekking)، سيبراند ميزلاند (Siebrand Mazeland)، جيروين دي داو (Jeroen De Dauw)، إيلي هاندل (Eli Handel)، أندرو إنغلبريخت (Andrew Engelbrecht)، هاشار (hashar)، أنومي (Anomie)، مارك هيرشبيرغر (Mark Hershberger)، فلو (Flo)، آدشور (Addshore)، جيمس مونتالفو (James Montalvo)، فوداغوس (Fodagus)، كريس فيلد (Kris Field)، وغيرهم.

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

لن يرى المستخدمون الذين لا يتمتعون بتصريح ' ' أي شيء خاص في صفحة التاريخ، خلاف أيقونة نجمة في صف المراجعة المعتمدة.

بصفة افتراضية، لو أجرى مستخدم يتمتع بتصريح ' ' تعديلًا على صفحة تحتوي على مراجعة معتمدة، سيوسم هذا التعديل، أي آخر مراجعة لهذه الصفحة، بوسم معتمدة. على النقيض، لو لم توجد لصفحة ما مراجعة معتمدة (يشمل هذا بطبيعة الحال الصفحات الجديدة)، لن تنطبق الاعتمادات الآلية.

يمكنك وقف الاعتمادات الآلية، وبالتالي يصبح إلزاميًا اعتماد المراجعات يدويًا، وذلك عن طريق إضافة ما يلي إلى  تحت حالة دمج المراجعات المعتمدة:

ينطبق مسوّغ منطقي مماثل على النسخ الجديدة من الملفات؛ يمكن أيضًا وقف هذه الاعتمادات الآلية آليًا مستخدمًا السطر التالي:

شبيه ما سلف، لو ضبطت « » أو « » لتصبح قيمتها «true» في  (انظر التالي)، سيصبح كل تعديل على صفحات أو ملفات أو كليهما أجراها مستخدم يتمتع بتصريح ' ' معتمدًا، وسينطبق ذلك على التعديلات التي تجري على صفحات أو ملفات ليس لها مراجعات معتمدة.

تحفظ حالات اعتماد المراجعات وإلغاء اعتمادها اليدوية في سجل 'اعتماد – approval'؛ في حين أن الاعتمادات التي جرت آليًا، نتيجة لتعديل جرى على الصفحة بيد مستخدم يتمتع بصلاحية الاعتماد، لا تحفظ في السجل.

Special:ApprovedRevs page
يحدد امتداد المراجعات المعتمدة صفحة خاصة اسمها « » والتي تعرض أربع قوائم منفصلة:


 * صفحات مراجعاتها المعتمدة ليست هي آخر تعديل جرى عليها
 * كافة الصفحات التي يوجد لها مراجعة معتمدة
 * «صفحات ألغي اعتمادها» (كافة الصفحات التي لا يوجد لها مراجعة معتمدة)
 * صفحات تحتوي على اعتمادات غير صالحة (مثل صفحات موجودة في نطاق اسم كان يمكن اعتماد محتواه في السابق ولم يعد الحال كذلك الآن).

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



حفظ معلومات الاعتماد
تخزّن معلومات عن الاعتمادات – من نفذّ الاعتمادات ومتى جرت – في سجل «Revision approval» الذي يمكن الاطلاع عليه في صفحة Special:Log. كما تعرض آخر الاعتمادات في Special:RecentChanges.



عرض الصفحات غير المعتمدة خالية
لو رغبت في ذلك، يمكنك أن تفرض على الصفحات التي لا يوجد لها مراجعات معتمدة أن تظهر خالية – سيظل ممكنًا للمستخدمين الاطلاع على المراجعات لو نقروا على لسان «التاريخ»، إلا أن الصفحة ذاتها ستظهر خالية لا تحتوي على محتوى. كي تنفذ هذا، كل ما عليك هو إضافة السطر التالي إلى ، في أي مكان بعد ضم امتداد المراجعات المعتمدة:

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



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



ضبط الصفحات كي يمكن اعتمادها
يمكن لبعض صفحات موقع الويكي اعتماد مراجعاتها، بينما لا يمكن ذلك للبعض الآخر؛ يتحدد هذا الأمر بسبيل من بين ثلاث.



ضبط كافة الصفحات في نطاق اسم محدد لتكون قابلة للاعتماد
يوجد متغير عمومي هو  يتولى تحديد نطاقات الاسم التي يتعامل معها الامتداد. هذا المتغير ليس إلا صفيف، ويحتوي بصفة افتراضية على ستة نطاقات اسم:  (يحدد بالرقم 0، نطاق الاسم الرئيسي)،   (2، صفحات المستخدمين)،   (6، الملفات)،   (10، القوالب)،   (12، صفحات المساعدة)، و  (4، نطاق اسم المشروع، الذي يحمل عادة ذات اسم موقع الويكي). يمكنك إضافة نطاقات اسم أخرى إلى هذه المجموعة – بعد ضم امتداد المراجعات المعتمدة إلى LocalSettings.php، أضف ما يشبه التالي:

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

إن أردت إزالة نطاق الاسم الافتراضي من الاعتماد، اضبط قيمته لتصبح «false». على سبيل المثال، كي تجعل الملفات غير قابلة للاعتماد، أضف ما يلي:



جعل الصفحات يمكن اعتمادها باستخدام ‎#approvable_by
يحدد امتداد المراجعات المعتمدة دوال المعرب اللغوي ، التي تسمح لك بتحديد صفحات بعينها في صفة قابلة للاعتماد بيد مستخدمين معينين أو مجموعات بعينها. على سبيل المثال، سيسمح الاستدعاء التالي للمستخدمة Alice Jones، وكذلك المستخدمين في مجموعتي البيروقراطيين ومشغلي النظام، باعتماد الصفحة التي يجري استدعاء ذلك عليها:

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



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



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

للحصول على مثل هذا النوع من «الملكية» لنطاق اسم محدد، ستحتاج لإضافة نطاق الاسم إلى المتغير. كي تسمح للمستخدمين «بتملك» صفحات، أي أن يمكنهم اعتماد مراجعاتها، موجودة في نطاقي الاسم الرئيسي والمستخدم، على سبيل المثال، يجب عليك إضافة ما يلي إلى LocalSettings.php:

يجب على نطاق الاسم أن يرجع إلى  قبل أن يضاف إلى.



عرض معلومات الاعتماد
تحدد المراجعات المعتمدة خمس «كلمات سحرية» يمكن استخدامها في عرض معلومات الاعتماد عن صفحة بعينها (أو ملف). هي كما يلي:


 * - the year in which the page was last approved
 * - the month in which the page was last approved
 * - the day of the month in which the page was last approved
 * - the full timestamp of the date/time in which the page was last approved
 * - the user who last approved the page.

All five can be simply called by themselves (which will return that information for the page on which the call is located), or called with a page name passed in (which will return that information for the specified page). So, for example, in the page "Main Page", the call  will display the year in which the page "Main Page" was last approved, while the call   will display the year in which the page "Employees list" was last approved.

If any of these magic words are called for a page that has no approved revision, or for a page that does not exist, they will simply not display anything.

The first four of these magic words can also be called for files; the last one, APPROVALUSER, unfortunately will not work.

Note that, if you began using Approved Revs before version 1.4, the first four magic words, which all have to do with the time in which the revision was made, will most likely display a blank for any page whose revision was approved while Approved Revs was still on an older version.

واجهة برمجة التطبيقات
Approved Revs defines an API action, "approve", which lets you either approve or (if the extra parameter "unapprove" is added) unapprove any revision via the MediaWiki API. See here for an explanation of the syntax for this API.



وسم كافة الصفحات بوسم معتمدة
For pages that do not yet have an approved revision, you may want to automatically approve their latest revision, as a way to quickly initialize their content. For that, you can use the command line script ' '. This script approves the latest revision of all pages that can be approved but do not have an approved revision. (The script has various optional flags, including one that lets you also handle pages that already do have an approved revision.)



اعتماد الملفات
You can also approve file revisions with Approved Revs. It should be noted that only revisions to the actual file are approvable; revisions to the wikitext of the file pages are not. As such, approval of files is not done by clicking the "view history" link in the top-right of the file's page. Instead, scroll to the "File history" section near the bottom of the file page, and click "approve" on the right of the file history table.

When a version of an image is approved, that version is displayed when the image is included on other pages. For non-image uploads (e.g. PDFs), any links directly to the file will go to the approved version, not the latest.

Just like the  script, there is another script, , that exists specifically for file approvals.



تاريخ النسخة
النسخة الحالية للمراجعات المعتمدة هي 1.8. طالع كامل تاريخ النسخة.



المشكلات المعروفة

 * Approved Revs does not work for anonymous users with the extension - approving a revision leads to a "Deny_action" error, because have deny access to history.



المساهمة في المشروع


الأعطال البرمجية وطلبات السمات
أرسل أية بلاغات أعطال برمجية وطلباتها إلى يارون كورين (yaron57@undefinedgmail.com).



المساهمة برقع برمجية في المشروع
If you found some bug and fixed it, or if you wrote code for a new feature, please either do a Git commit for it, or create a patch by going to the " " directory, and typing:

git diff > descriptivename.patch

If you create a patch, please send it, with a description, to Yaron Koren.

الترجمة
Translation of Approved Revs is done through translatewiki.net. The translation for this extension can be found here: https://translatewiki.net/w/?title=Special:Translate&group=ext-approvedrevs. To add language values or change existing ones, you should create an account on translatewiki.net, then request permission from the administrators to translate a certain language or languages on this page (this is a very simple process). Once you have permission for a given language, you can log in and add or edit whatever messages you want to in that language.

<span id="See_also">

انظر أيضا

 * - تظل التعديلات خصوصية إلى أن تنتهي الموافقة عليها
 * - البديل الأكثر تعقيدًا من المراجعات المعتمدة