بحث مدیاویکی:TofawikiConsole.js
افزودن مبحثpreSavedTransform[ویرایش]
این باید متاسفانه حذف شود. وپ:فنی را ببینید. :)
امیرΣυζήτηση ۲۰ مارس ۲۰۱۷، ساعت ۱۲:۲۵ (UTC)
- مشکل اندازهٔ ممکن برای get بود، برطرف شد ابراهیم (بحث) ۲۰ مارس ۲۰۱۷، ساعت ۲۱:۰۴ (UTC)
Broken JavaScript[ویرایش]
MediaWiki developers found that this page probably breaks JavaScript for users (example: not seeing the buttons when editing a page). You probably need to edit this .js page and/or MediaWiki:Gadgets-definition as in the examples at phabricator:T122755. List more pages to check.
If you have questions or need help, please ask at phabricator:T164242. You can login with your wiki account. Best wishes, Nemo ۱۴ مهٔ ۲۰۱۷، ساعت ۰۹:۴۹ (UTC)
نمونهٔ کد برای فهرست سفید[ویرایش]
@Huji: سلام. من کد زیر را برای فهرست سفید نوشتم. اما خیلی با Promise آشنایی ندارم و ممکن است اشتباه کردهباشم. ببینید این کد بهنظرتان خوب است و درست کار خواهد کرد یا خیر؟
$.getJSON('/w/index.php', {action: 'raw', ctype: 'application/json',title: 'ویکیپدیا:درخواست_برای_دسترسی/بهویکیفا_انبوه/فهرست_سفید'}, callback)
function callback(json) {
var u = mw.config.get('wgUserName');
if (json.allowedusers.indexOf(u) === -1) {
return;
} else {
// Gadget code goes here
}
};
نکته این که کل کد ابزار از سطر ۴ به بعد باید به داخل تابع callback منتقل شود که احتمالاً در حد کمی سرعت اجرایش را کند میکند. البته شاید راه بهتری هم باشد که باعث کند شدن ابزار نشود، اما من چیزی بهتر از این به ذهنم نرسید.
صرفاً برای ثبت در این صفحه، نحو فایل جیسان فهرست سفید هم باید بهصورت زیر باشد:
{
allowedusers:
[
'user1',
'user2'
]
}
ممنون. {{کاربر|جـیپیوتر}} بحث ۸ ژوئن ۲۰۲۲، ساعت ۰۲:۴۲ (UTC)
- کاربر:Sunfyre جهت اطلاع. نمیداستم با جاوااسکریپت آشنایی دارید یا خیر. عنوان پیشنهادیام برای صفحهٔ فهرست سفید را در سطر اول کدهای بالا میتوانید ببینید. {{کاربر|جـیپیوتر}} بحث ۸ ژوئن ۲۰۲۲، ساعت ۰۲:۴۶ (UTC)
- ممنون. متاسفانه برنامهنویسی جز تواناهایی بنده نیست. -- SunfyreT ۸ ژوئن ۲۰۲۲، ساعت ۰۲:۵۱ (UTC)
- @Jeeputer: اولاً که مدل محتوای ویکیپدیا:درخواست برای دسترسی/بهویکیفا انبوه/فهرست سفید را کردم جیسان و برای آزمایش اسم خودم و خودتان را به آرایه افزودم. کد بالا را هم کمی تمیزکاری کردم برایتان.
- در مورد callback هم درست گفتید؛ منتها لازم نیست که تمام باقی کد برود آن تو. اگر از اشیا در کد درست استفاده شود، میشود در تابع فراخوان (callback function) فقط یک متد از شیء مربوط را فراخواند. یعنی جایی که گفتید Gadget code goes here صرفاً میگوید (مثلاً)
towikifa.run()
منتها این فرض میکند که باقی کد را اصلاح کردهاید تا یک شیء به اسم towikifa بسازد که تابع run داشته باشد. — حجت/بحث ۸ ژوئن ۲۰۲۲، ساعت ۲۳:۲۷ (UTC)- @Huji: مطابق با راهنماییهای شما پیشنویس:TofawikiConsol.js را ایجاد کردم. در کنسول هم آزمایشش کردم و وقتی نامم را از فهرست حذف کردم، پیامی که در انتهای کد تعریف کردهام را نشانم داد. اما پیش از آن ابزار اجرا میشد. این نشان میدهد که بهخوبی از پس بررسی فهرست سفید برمیآید. اما برای پیروی از روشی که اشاره کردید، آن شیء خالی tofawiki را در اول کد تعریف کردم و بعداً کدهای اصلی ابزار را به کلید run در آن شیء منتقل کردم. بعد هم در تابع callback تابع
tofawiki.run()
را صدا زدم. بهطور کلی در کد جدید فقط کدهای اصلی به داخل شیء منتقل شدهاند و تابع فراخوان هم اضافه شده. {{کاربر|جـیپیوتر}} بحث ۹ ژوئن ۲۰۲۲، ساعت ۰۰:۳۱ (UTC) - پس از بهروز شدن ابزار فقط یک کار میماند. آن هم اصلاح مدیاویکی:Gadget-AWBAddNewUser.js است تا مدیران ناآشنا با نحو جیسان برای افزودن نام کاربر به فهرست به مشکل نخورند.
- از آنجا که در صورت ایجاد نخستین درخواست در روز جاری، همچنان یک هفته تا افزوده شدن نام کاربر به فهرست فرصت هست، در هفتهٔ آینده هروقت فرصت پیدا کنم آن را هم بهروز میکنم. {{کاربر|جـیپیوتر}} بحث ۹ ژوئن ۲۰۲۲، ساعت ۰۰:۳۷ (UTC)
- خیلی خوب. به نظر آمادهٔ اجراست. — حجت/بحث ۹ ژوئن ۲۰۲۲، ساعت ۰۰:۵۱ (UTC)
- @Huji: ممنون. ابزار را به روز کردم. {{کاربر|جـیپیوتر}} بحث ۹ ژوئن ۲۰۲۲، ساعت ۰۱:۱۲ (UTC)
- خیلی خوب. به نظر آمادهٔ اجراست. — حجت/بحث ۹ ژوئن ۲۰۲۲، ساعت ۰۰:۵۱ (UTC)
- @Huji: مطابق با راهنماییهای شما پیشنویس:TofawikiConsol.js را ایجاد کردم. در کنسول هم آزمایشش کردم و وقتی نامم را از فهرست حذف کردم، پیامی که در انتهای کد تعریف کردهام را نشانم داد. اما پیش از آن ابزار اجرا میشد. این نشان میدهد که بهخوبی از پس بررسی فهرست سفید برمیآید. اما برای پیروی از روشی که اشاره کردید، آن شیء خالی tofawiki را در اول کد تعریف کردم و بعداً کدهای اصلی ابزار را به کلید run در آن شیء منتقل کردم. بعد هم در تابع callback تابع
- ممنون. متاسفانه برنامهنویسی جز تواناهایی بنده نیست. -- SunfyreT ۸ ژوئن ۲۰۲۲، ساعت ۰۲:۵۱ (UTC)
جداسازی تغییرمسیرساز[ویرایش]
زمان جمعبندی: ۲۲ ماه پیش.
- اجماع حاصل شد. Gharouni Talk ۲۵ ژوئن ۲۰۲۲، ساعت ۱۴:۴۲ (UTC)
بهتر است انبوهساز و تغییرمسیرساز از هم منفک شود. در اینجا کمی بحث شد. دقت کنید برای انبوهساز گشت خودکار یک شرط لازم است ولی تغییرمسیرساز احتمالا نیازی به گشت خودکار نداشته باشد.-- SunfyreT ۱۲ ژوئن ۲۰۲۲، ساعت ۰۳:۱۲ (UTC)
- موافق و میشود برای راحتی کار، فعلاً کدهایشان را جدا اما فعالسازیشان را مشترک نگاه داشت (که یعنی کاربرانی که امروز بهویکیفا را فعال کردهاند، تغییری در کارکرد ابزار حس نخواهند کرد و نیاز نخواهند داشت ابزار تغییرمسیرساز را جدا فعال کنند). — حجت/بحث ۱۲ ژوئن ۲۰۲۲، ساعت ۲۰:۱۵ (UTC)
- موافق هم با پیشنهاد، هم با شرایطی که جناب حجت گفتند. {{کاربر|جـیپیوتر}} بحث ۱۳ ژوئن ۲۰۲۲، ساعت ۲۰:۴۱ (UTC)
- موافق با استناد بر توضیحات جناب حجت. Déjà Vu • ✉ ۱۴ ژوئن ۲۰۲۲، ساعت ۲۰:۴۱ (UTC)
- @Huji و Jeeputer: اکثر درخواستهای دسترسی بهویکیفا انبوه مربوط به تغییرمسیرساز است. به نظر نمیرسد منفک کردن انبوهساز و تغییرمسیرساز مناقشه برانگیز باشد. به بیان دیگر تغییرمسیرساز نیازی به درخواست نباید داشته باشد.-- SunfyreT ۱۸ ژوئن ۲۰۲۲، ساعت ۰۴:۴۲ (UTC)
- @Sunfyre: سلام. تغییرات لازم در کد ابزار را آماده کردهام و فقط منتظر جمعبندی نظرخواهی هستم. در تام درخواست جمعبندی دادم. {{کاربر|جـیپیوتر}} بحث ۱۸ ژوئن ۲۰۲۲، ساعت ۰۸:۰۹ (UTC)
- موافق با توضیحات و پیشنهاد جناب حجت. کوروش تهرانی (بحث) ۲۲ ژوئن ۲۰۲۲، ساعت ۰۷:۰۲ (UTC)