Jump to content

Manual:افزودن ها

From mediawiki.org
This page is a translated version of the page Manual:Extensions and the translation is 45% complete.
Outdated translations are marked like this.

افزونه‌ها به شما امکان می‌دهند نحوه و عملکرد مدیاویکی را به شخصی‌سازی کنید.

در حالیکه برخی از افزونه‌ها توسط توسعه‌دهندگان مدیاویکی نگهداری می‌شوند، برخی دیگر توسط توسعه‌دهندگان شخص ثالث نوشته شده‌اند. در نتیجه، بسیاری از آنها دارای اشکال هستند، و سازگاری همه آنها با یکدیگر تضمین نشده است. برخی از آنها حفظ نشده‌اند. همه افزونه‌ها روی همه نسخه‌های مدیاویکی کار نمی‌کنند. از افزونه ها با خطر خود استفاده کنید، به خصوص آنهایی که به عنوان ناامن شناخته شده اند. اگر از افزونه‌ای استفاده می‌کنید که به وصله‌های اصلی نرم افزار نیاز دارد، حتماً از پایگاه داده خود پشتیبان تهیه کنید.

انتخاب افزونه

Bundled extensions

Several extensions are bundled with MediaWiki as standard.

These extensions should generally be of high utility, perform efficiently, be stable, be well-written, and have no known major security issues. They should also be compatible with the latest versions of MediaWiki, and with each other (i.e. one extension shouldn't block the functions of another). A bundled extension may have a dependency on one or more other extensions, as long as those are also bundled.

مدیر های سایت مدیا‌ویکی این را خودکار میگیرند وقتی مدیا‌ویکی را نصب یا بروز رسانی کردند When upgrading MediaWiki, any extension upgrades will be automatically applied as well. Site admins may choose to uninstall any of these, if they wish.

There are open, ongoing discussions about which extensions should be part of this group. You can suggest additional extensions to be bundled . Extensions will be bundled once the developers reach a consensus to do so.

An extension may be removed from bundling if its functionality is merged into MediaWiki core , it is replaced by an alternative, or in the unlikely event of any unsolvable major security vulnerabilities being discovered.

یافتن افزونه‌ها

برای دیدن طیف گسترده‌ای از افزونه‌ها که قبلاً نوشته شده‌اند می‌توانید $cat را مرور کنید.

بررسی افزونه‌های نصب شده

اینکه کدام افزونه‌ها روی یک نمونه از مدیاویکی فعال هستند را می‌توان با دسترسی به صفحه 1$ و اسکرول کردن به پایین تا عنوان «افزونه‌های نصب‌شده» (با نماد 2$) بررسی کرد. مثلا، این افزونه در این ویکی، و این افزونه در ویکی پدیای انگلیسی فعال است.

پرطرفدارترین افزونه‌ها

WikiApiary counts wikis that extensions are installed on. This represents actual installations and not just downloads (i.e. it queries the wiki's APIs), but it is also (as of 2023) not completely up-to-date. It also doesn't count installations on private wikis.

نصب افزونه

For further guidance, see also Manual:Extensions/Installation and upgrade

مدیاویکی آماده است پس از اتمام نصب افزونه‌ها را بپذیرد. برای افزودن افزونه‌ها، این مراحل را دنبال کنید:

  1. پیش از اینکه آغاز کنید
    بسیاری از افزونه‌ها دستورالعمل‌هایی را برای نصب با استفاده از دستورات یونیکس طراحی کرده اند. برای وارد کردن این دستورات ذکر شده در صفحات راهنمای پسوند، به دسترسی پوسته (SSH) نیاز دارید.
  2. افزونه خود را دانلود کنید
    توزیع کننده افزونه‌ها به شما کمک می کند که بیشتر افزونه‌های محبوب را انتخاب و بارگیری کنید.
    افزونه ها معمولاً به صورت بسته های مدولار توزیع می شوند. آنها معمولاً در زیر شاخه $IP /extensions/ خود قرار می گیرند. لیستی از افزونه‌های ذخیره شده در ویکی‌مدیا مخزن Git در git:mediawiki/extensions قرار دارد. برخی از افزونه‌ها نسخه کنترل ندارند و توصیه نمی‌شوند.
    برخی از افزونه‌ها نیز در بسته نرم افزاری، Composer یا مخزن بسته موجود است.
    پیشنهاد میشود قبل از نصب، فایل README را بخوانید. It usually contains important info about configuration.
  3. افزونه خود را نصب کنید
    در انتهای پرونده LocalSettings.php ، اضافه کنید:
    wfLoadExtension( 'ExtensionName' );
    
    این خط مفسر PHP را مجبور می کند تا پرونده افزونه را بخواند، و در نتیجه آن را برای مدیاویکی قابل دسترسی می کند.
    برخی از افزونه ها می توانند با اسکریپت های نگهداری در تضاد باشند، به عنوان مثال اگر به طور مستقیم به $_SERVER دسترسی داشته باشند (توصیه نمی شود). In this case, they can be wrapped in the conditional so maintenance scripts can still run.
    if ( !$wgCommandLineMode ) {
       wfLoadExtension ( 'ExtensionName' );
    }
    
    The maintenance script importDump.php will fail for any extension which requires customised namespaces which is included inside the conditional above such as Extension:Semantic MediaWiki , Extension:Page Forms .
Ensure that required permissions are set for extensions!
While this installation procedure is sufficient for most extensions, some require a different installation procedure. برای گرفتن اطلاعات اسناد افزونه خود را چک کنید.
If you want to alter configuration variables in LocalSettings.php, you have to do this typically after including the extension. Otherwise defaults defined in the extension will overwrite your settings.

بروزرسانی افزونه

Some extensions require to be updated whenever you update MediaWiki, while others work with multiple versions. برای بروزرساتی افزونه به نسخه جدید:

  1. نسخه جدید افزونه ها را دانلود کنید
  2. تمام فایل های افزونه در دایرکتوری extensions/ExtensionName را با فایل های جدید جایگزین کنید. Do not remove the extension configuration present in LocalSettings.php
  3. If the extension requires changes to the MediaWiki database, you will need to run the update.php maintenance script. Most extensions will mention if this script needs to be run or not. (Perform backup of your data before executing the script). If you don't have command line access, you can also use the web updater.
These instructions cover 99% of extensions. If the specific extension you are upgrading has instructions that differ from these, you should probably follow the specific extension's instructions

حذف افزونه

خط را از LocalSettings.php با نام پسوند حذف کنید تا حذف نصب شود:

wfLoadExtension( 'ExtensionName' );
  • شما باید خطوط مربوط به پیکربندی افزونه را حذف کنید.

ساختن افزونه

MediaWiki core provides several ways for extensions to change the behavior and appearance of a wiki. Various extension points give extensions flexibility to add features and functionality, such as displaying a special page or defining an API module. To get started, see the guide to developing extensions . Before writing a new extension, consider contributing to an existing extension or helping with an unmaintained extension .

Users can also make a general request on Phabricator, and hope that your good idea is picked up by a developer. See https://phabricator.wikimedia.org/tag/mediawiki-extension-requests/

جستارهای وابسته