Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Щелкните здесь, чтобы добавить новое сообщение .
Обычно я отвечу на вашей странице обсуждения , если вы не попросите иначе; Обычно я проверяю обе страницы. Если вы редактируете, пока не вошли в систему, я отвечу как на моей странице обсуждения, так и на вашей, чтобы повысить вероятность того, что вы увидите сообщение (сообщения разговора на IP-адреса иногда теряются). Я буду размещать большинство комментариев на странице, но оставляю за собой право рефакторировать комментарии, архивировать комментарии и улавливать чрезмерно длинные подписи в измененных закрывающих полях AfD . При необходимости я также могу использовать {{ RPA }}. - ais523

Адаптация catwatch.js [ править ]

Уважаемый Ais523,

Я трансгуманист, один из действующих кураторов проекта Portals Wiki .

Мы наткнулись на кирпичную стену, и нам нужна ваша помощь.

После нескольких лет бездействия проект Portals WikiProject был запущен в апреле этого года, он вырос почти до 100 участников и находится в процессе обновления всей системы порталов. Мы делаем все возможное, и у нас очень активная и продуктивная команда разработчиков. Вы можете увидеть прогресс, которого мы достигли, в архиве информационных бюллетеней проекта . Уровень азарта высок.

Хотя многие порталы по-прежнему будут обслуживаться вручную, мы пытаемся построить полностью автоматизированную модель портала, поскольку у большинства порталов нет активных сопровождающих. В настоящее время существует около 1500 порталов, из которых около 10% активно редактируются.

На данный момент нам удалось автоматизировать 3 стандартных раздела портала, а еще 4 перевели в полуавтоматический статус. Другими словами, 3 секции теперь практически не требуют обслуживания. Было бы неплохо, если бы другие тоже могли быть.

Что подводит нас к кирпичной стене ...

Мы пытались использовать Lua (модули) для автоматизации определенных разделов портала с помощью метода, известного как выборочное включение. Вот пример раздела «Выбранный элемент» с использованием шаблона {{ Включить случайную выдержку }}:

Выбранный тип амфибии

Жаба - общее название некоторых лягушек , особенно семейства Bufonidae , для которых характерны сухая кожистая кожа, короткие ноги и большие шишки, покрывающие пароидные железы .

Различие между лягушками и жабами не проводится в научной систематике , но является обычным явлением в популярной культуре ( народная систематика ), в которой жабы ассоциируются с более сухой, грубой кожей и более наземной средой обитания. ( Полная статья ... )

Он отображает случайным образом отрывок, взятый с одной из страниц из его внутреннего списка, каждый раз, когда страница портала очищается.

Приведенный выше шаблон требует, чтобы пользователь указал имена страниц, которые нужно включить. Это делает это только полуавтоматическое решение. Разделы, использующие этот чередующийся материал, не устаревают так быстро, как раздел с одним отрывком, но добавление новых заголовков статей вручную - это то, как они обновляются, и, к сожалению, этот метод не масштабируется.

Мы бились головами о кирпичную стену, чтобы найти способ вытащить имена из категории с помощью Lua, чтобы порталы, использующие эти шаблоны, обновлялись автоматически (по мере роста категории, так же как и выбор в портале доступа к эта категория), но сгенерированный характер категорий и ограничения Lua предотвращают это.

Это означает, что мы должны найти способ, отличный от Lua, для создания списка страниц из категории. Поскольку JavaScript может выполнять широкий спектр вызовов API, похоже, что нам придется пойти по этому пути. (См. Https: //en.wikipedia.org/w/api.php? Action = help & recursivesubmodules = 1 & modules = main # query + categorymembers` ). (Вот как я нашел вас и вас: через строку поиска «categorymembers»).

Похоже, что Catwatch.js может быть адаптирован для этого для разделов « Избранные статьи» .

Одна вещь, которую делает catwatch, - это хранить имена категорий на странице js, отформатированные в JavaScript для запуска как части программы. Вместо этого я хотел бы сохранить названия категорий в самих разделах « Выбранные статьи» , например, в скрытом комментарии.

И вместо того, чтобы добавлять новых членов категории в свой список наблюдения, я хочу добавить их в раздел « Выбранные статьи » в качестве параметров для шаблона включения, как и

| Лягушка| Жаба| Саламандра| Цецилий

включены в приведенный выше пример раздела.

Любая помощь или рекомендации, которые вы могли бы предоставить, были бы очень полезны.

Я с нетерпением жду вашего ответа. С уважением,    - Трансгуманист   21:51, 5 июля 2018 г. (UTC)

PS: Я связался с @ TheDJ и Evad37 : TheDJ, потому что в сценарии упоминается, что он работал над этим, и Evad, поскольку он работал над этой проблемой и также знаком с JS. -TT

Ответил на Обсуждение пользователя: Трансгуманист . - ais523 05:38, 6 июля 2018 г. ( U T C )
Одна из проблем с пользовательскими скриптами заключается в том, что они по определению применимы только к одному пользователю. Таким образом, вы не можете использовать пользовательский сценарий для выполнения чего-то вроде извлечения записей категорий, которые будут отображаться на странице для анонимных пользователей; вы могли бы сделать это так, чтобы вы сами видели отрывки, но это нарушило бы вероятную точку проекта (обновить страницы портала, чтобы их видели все).
Есть еще одна проблема с использованием для этого JavaScript; будучи технологией на стороне клиента (т.е. она работает в браузере конечного пользователя), она полностью работает после всех технологий на стороне сервера (то есть вещей, которые выполняются на серверах Викимедиа), а это означает, что вы не можете использовать JavaScript «вживую» для создания информация, переданная модулю Lua. Это относится ко всем видам использования JavaScript (в Википедии есть два основных варианта его использования: пользовательские скрипты и MediaWiki: common.js , хотя я подозреваю, что у вас возникнут проблемы с убеждением людей изменить последний для этой цели, поскольку не все пользователи будут запустите его; у многих пользователей по умолчанию отключен JavaScript, и возможны проблемы с производительностью).
Таким образом, кажется, что правильное решение проблемы состоит в том, чтобы не пытаться составить список записей категорий, когда пользователь просматривает страницу (это то, что сделало бы попытанное решение Lua, и то, что вы, похоже, предполагали Подойдет решение JavaScript). Скорее, вы хотите автоматически обновлять списки записей категорий где-нибудь, чтобы модуль Lua мог их видеть. Это похоже на работу бота, а не на сценарий. У меня нет большого опыта работы с полностью автоматизированными ботами с точки зрения их написания (я запускал бота в прошлом, но в основном это была учетная запись с очень специфическим набором пользовательских скриптов); вы, вероятно, захотите использовать существующую структуру ботов для чего-то вроде этого, и, вероятно, стоит связаться с кем-то, у кого больше опыта в этом.
Еще одна возможность - попросить разработчиков упростить задачу, к которой вы стремитесь. Таблицу членства в категориях довольно быстро можно запросить за кулисами (и на самом деле, Special: RandomInCategory существует, но я не нашел способа сделать ее функцию случайного выбора доступной из Lua или wikitext). Лучшее / простейшее решение этой проблемы для MediaWiki - реализовать волшебное слово или функцию ParserFunction, которая возвращает случайно выбранную страницу из категории, и учитывая, что это, очевидно, улучшит вики (и потребует гораздо меньше ресурсов, чем бот или скрипт). !) кажется разумным, что такая просьба может быть принята. WP: VPT может быть хорошим местом, чтобы поговорить об этом. - ais523 05:37, 6 июля 2018 г. ( U T C)
Спасибо за ваш вклад. Есть несколько очень хороших идей.
Насколько я понимаю, прохождение Phabricator - это случайность и промах, долгое ожидание и недоумение. Так что, хотя я не исключаю, что это вариант, я бы хотел продолжить и этот путь развития.
Я не думал о том, что сценарий просмотра будет делать свое дело (извлекать членов категории) в реальном времени для всех. Я хотел бы написать программу для редактирования страниц портала, обновляя их для всеобщего блага. Мне жаль, что мое объяснение не было яснее.
Вы правы, что я хочу обновить списки записей категорий где-нибудь, чтобы модуль Lua мог их видеть. Именно об этом я и говорил. Эти списки мне нужны как параметры шаблона прямо в викикоде портала. Шаблоны используют Lua, который, в свою очередь, использует параметры в качестве входных. Вот пример с уже вставленным списком - прочтите встроенный комментарий для пояснения:
{{Box-header | title = Выбранная статья о лягушке | EDIT = yes | noedit = yes}}{{Включить случайный отрывок | абзацы = 1-3 | файлы = 1 | больше = | <! - Скрипт, который я хочу, будет перечислять элементы категории ниже следующим образом: -> | Археобатрахия | Мезобатрахия | Необатрахия | Alsodidae | Алитиды | Amietia }}{{Box-footer}}
Фактический раздел, из которого был взят этот пример, находится на Portal: Amphibians и включает более пятидесяти статей о лягушках. Также есть раздел с жабами, саламандрами и цецилиями, каждая из которых имеет свой собственный список. Теперь вы можете понять, почему мы не хотим вставлять названия статей вручную.
Я не возражаю, если программа является ботом, написанным на JavaScript, или пользовательским скриптом, предоставляющим пункт меню. Было бы проще разработать его как последний первый, чтобы обеспечить более интерактивную разработку и тестирование (с несколькими пользователями) перед созданием полностью автоматизированной (бот) версии.
Вы упомянули «составьте список записей категорий». Вот что мне нужно уметь делать. Я могу обрабатывать пункты меню (см. SearchSuite.js ) и редактировать викикод (см. RedlinksRemover.js ). У меня проблемы с тем, что происходит между ними (выборка членов категории и помещение их в переменную).
Поэтому у меня к вам несколько вопросов ...
Как catwatch выбирает участников категории?
Как это обрабатывает catwatch?
Как catwatch вставляет результат на страницу? (Я понимаю, что это не страница редактирования, но я не распознаю используемые методы, и я хотел бы изучить эту программу.)
Любое просветление, которое вы могли бы дать относительно этих тайн, было бы очень полезным.
Жду ваших ответов.    - Трансгуманист,   08:49, 6 июля 2018 г. (UTC)
О, в таком случае у меня для вас плохие новости: catwatch не выбирает членов категории. Это было бы слишком неэффективно при каждой загрузке страницы, если бы категория была большой. (Есть люди, которые следят за категорией: Живые люди !) Он извлекает только самого последнего измененного члена категории с помощью поиска API в таблице ссылок категорий. (Между прочим, теперь, когда MediaWiki имеет свою собственную функцию списков наблюдения за категориями, было бы возможно и, вероятно, более эффективно использовать вместо этого таблицу списка наблюдения. На этом этапе catwatch в основном избыточен.) Таким образом, обработка фактически не требуется; мы запрашиваем у MediaWiki самую последнюю измененную страницу в категории, а затем просто показываем ее пользователю.
Для ваших целей вы, вероятно, захотите записать время последнего запуска скрипта. Затем вы можете запросить в таблице ссылок на категории страницы в категории, которые были повторно классифицированы с момента вашего последнего запуска скрипта. К сожалению, при этом будут отмечены только вставки, а не удаления (поскольку страница, которая была удалена из категории, больше не будет в категории); Обратите внимание, что в настоящее время Catwatch также не может обнаружить удаление страницы из категории. (Возможно, ваш сценарий также лучше работал бы со списком наблюдения, чем с таблицей категорий! Особенно, если вы используете учетную запись бота для обновления порталов, даже если бот реализован с использованием пользовательских скриптов, вы можете поставить под вопрос все рассматриваемые категории - и ничего больше - в список наблюдения учетной записи бота,Это означает, что запрос списка наблюдения был бы очень эффективным способом получить список того, что вам нужно обновить и на каких страницах.)
Вставка результата на страницу выполняется путем редактирования HTML-кода страницы после ее загрузки. Вы можете использовать очень похожую технику для редактирования поля редактирования страницы; просто найдите поле редактирования по его идентификатору, а затем отредактируйте его значение. Предположительно, вам нужны комментарии на странице, указывающие, какой бит обновляется ботом; затем он может разделить строку на три части, используя соответствующие комментарии, и обновить только вторую часть. - ais523 09:05, 6 июля 2018 г. ( U T C )
Вы дали мне очень хорошую идею. Некоторые разделы портала содержат сотни статей в своих шаблонах включения. Если бы бот ежедневно обслуживал порталы, он мог бы выбрать случайные 10 или около того статей и ввести их в качестве параметров (вместо сотен). Таким образом, Lua не будет обрабатывать так много для каждого представления, и читатели по-прежнему будут получать свежий материал изо дня в день.
Получение самых последних членов категории звучит интересно, но обновление идет в обоих направлениях. Мы определенно хотели бы удалить статьи с порталов, которые были удалены из категорий. Для этого потребуется прочитать всю категорию.
Я не понял вашего объяснения того, что страница просмотра бота - это «очень эффективный способ получить список того, что вам нужно обновить и на каких страницах». Есть 1500 порталов (вероятно, вырастет до 7500), и что мы будем отслеживать именно для них?
Где в программе catwatch вы редактируете HTML страницы? Я бы хотел посмотреть, как это делается.
Похоже, мне придется прочитать руководство MediaWiki, чтобы получить общую поддержку программирования. С каких частей мне начать? Какие части я, вероятно, найду наиболее полезными со временем?
Жду ваших ответов.    - Трансгуманист,   21:41, 6 июля 2018 г. (UTC)
@ Трансгуманист : Идея состоит в том, что если в вашем списке наблюдения есть только категории (несложно, если вы используете учетную запись бота - боты обычно ни для чего не используют свой список наблюдения), и вы отключите страницу «Скрыть:» категоризация »(которая фактически отключена по умолчанию, если вы используете API, а не интерфейс MediaWiki), то список наблюдения будет полностью списком добавлений и удалений из категорий, которые вы просматриваете. Так что это был бы идеальный «список дел», в котором точно указывались бы, какие изменения необходимы.
Однако я понимаю, почему вы можете захотеть сканировать всю категорию вместо этого. Но сканирование всех 7500 категорий кажется довольно болезненным на серверах MediaWiki, если только они не все очень маленькие. (Это одна из причин, по которой я предложил изменить программное обеспечение: «случайный член категории» должен быть более эффективным, чем «все содержимое категории» с последующей рандомизацией, так как нужно будет передавать меньше информации.) Теперь, когда я пишу что, мне интересно, может ли Special: RecentChangesLinked быть лучшим вариантом - получение последних измененных страниц в категории было бы интересной заменой случайному, которое вполне может иметь интересующее нас смещение, - но я не могу найти соответствующий ему модуль запроса в документации по API .
Как бы то ни было, серверы MediaWiki позволяют большинству пользователей просматривать 500 результатов на запрос и работать быстрее, чем один запрос в секунду, который раньше просматривался (в настоящее время вы можете работать быстрее, если установите maxlag на очень маленькое значение. , т.е. указание серверу не отвечать, если он занят; я не в курсе текущей политики для обеспечения работоспособности серверов). Вы можете подняться до 5000 с помощью флага бота, но отчасти цель флага бота состоит в том, чтобы «краты могли сообщить программе», мы проверили, что этот бот не собирается сжигать серверы, не стесняйтесь отключать некоторые проверки безопасности », и я не уверен, что вы могли бы честно установить это, если вы просматриваете большое количество страниц в пределах 7500 различных категорий на регулярной основе.(Вероятно, многие из категорий будут достаточно маленькими, чтобы 500 было разумным, но я предполагаю, что некоторые из них будут намного больше.)
Если вас интересует, где сам catwatch редактирует HTML, вы можете посмотреть, как используется "innerHTML" в файле JavaScript. Однако вы не будете делать это для редактирования поля редактирования, поэтому вы можете извлечь из него только ограниченную информацию. Редактирование содержимого полей редактирования в Википедии ничем не отличается от редактирования их где-либо еще, кроме Википедии, поэтому я бы порекомендовал универсальный справочник по HTML / JavaScript, если вам это интересно; например, документация Mozilla по HTMLTextAreaElement описывает то, что вы можете делать с элементом <textarea> (например, с полем редактирования). В этом случае вы должны изменить его, valueчтобы изменить текст внутри него.
Тем не менее, я думаю, что я бы не рекомендовал использовать метод «бот, написанный на JavaScript» для обновления порталов. Примерно 7500 правок в день - это очень высокая скорость редактирования, которая, вероятно, потребует особых мер предосторожности для работы (и если вы берете случайную выборку страниц и редактируете ее на каждом портале каждый день, количество страниц, которые в конечном итоге будут изменены). Это привело бы к огромному раздутию таблиц базы данных и потребовало бы больших дополнительных усилий для серверов как при чтении, так и при записи. (Для сравнения, пользователь: ClueBot NG вчера внес менее 1000 правок.) Когда вы работаете в таком масштабе, решение, работающее на самих серверах, вероятно, будет единственным разумным вариантом. - ais523 05:01,7 июля 2018 ( U TC )
Что касается списка наблюдения за категориями, я не понимаю, насколько он хорош для обслуживания более чем одного раздела одного портала? Мы будем обслуживать тысячи. Каждый портал может иметь два или более разделов, заполненных членами категории, и некоторые из этих разделов будут заполнены членами из более чем одной категории.
(У меня нет времени, мне придется ответить на остальную часть вашего сообщения позже. А пока я с нетерпением жду вашего ответа).    - Трансгуманист,   21:29, 7 июля 2018 г. (UTC)
Что касается помещения категорий в списки наблюдения, вы должны поместить каждую категорию, для которой хотите обновить портал, в список наблюдения бота. Его список наблюдения (установленный для отображения нескольких изменений на странице) будет тогда списком всех изменений портала, которые потребовались с момента последнего просмотра. Однако что-то работающее на стороне сервера, безусловно, должно быть лучше. - ais523, 22:03, 7 июля 2018 г. ( U T C )
Ты меня потерял. Какой цели все это будет служить вместе? Как бы вы использовали (или даже различили) те, которые предназначены для конкретного портала?    - Трансгуманист   08:10, 8 июля 2018 г. (UTC)
Список наблюдения показывает, какая страница была изменена в категорию, и в какую категорию она была добавлена ​​или удалена. - ais523 10:18, 8 июля 2018 г. ( U T C )
Кто может запускать вещи на стороне сервера? Какие у нас варианты на стороне сервера?    - Трансгуманист   08:10, 8 июля 2018 г. (UTC)
Опции на стороне сервера - это в основном а) изменения в программном обеспечении для добавления функций (например, через Phabricator), после чего любой может их использовать; б) сервер инструментов, который иногда немного устаревает, но имеет доступную только для чтения копию Википедии, на которой он может выполнять довольно сложные запросы. (Я предполагаю, что третий вариант будет включать дампы базы данных, но нет дампа специально для таблицы элементов категорий, поэтому вряд ли это сработает.) - ais523 10:18, 8 июля 2018 г. ( U T C )

Сообщение избирателю на выборах ArbCom 2018 [ править ]

Сообщение избирателю на выборах ArbCom 2018 [ править ]

Предлагаемое удаление из файла: Википедия пользовательского ais523 Править times.png [ править ]

Уведомление

Файл File: пользователь Википедии ais523's edit times.png был предложен для удаления из-за следующей проблемы:

Потерянное изображение пользовательского пространства

Мы приветствуем любой конструктивный вклад в Википедию, однако страницы могут быть удалены по любой из нескольких причин .

Вы можете предотвратить предлагаемое удаление, удалив {{proposed deletion/dated files}}уведомление, но, пожалуйста, объясните причину в своей сводке редактирования или на странице обсуждения файла .

Пожалуйста, рассмотрите возможность решения поднятых вопросов. Удаление {{proposed deletion/dated files}}остановит предложенный процесс удаления , но существуют другие процессы удаления . В частности, быстрый процесс удаления может привести к удалению без обсуждения, а файлы для обсуждения позволяют при обсуждении достичь консенсуса в отношении удаления. - TheImaCow ( разговор ) 20:09, 22 января 2021 г. (UTC)

Ускоренный. - ais523, 22:15, 22 января 2021 г. ( U T C )
Собственно, нескоростной; это используется в чужом пользовательском пространстве ( Пользователь: Penubag / optim_toolsets ), так что это не действительная скорость. - ais523, 22:17, 22 января 2021 г. ( U T C )

Предлагаемое удаление из файла: Горизонтальный список в IE6.png [ править ]

Уведомление

Файл File: Horizontal list в IE6.png был предложен для удаления по следующей причине:

Потерянное изображение, отсутствие контекста для определения возможного использования в будущем.

Мы приветствуем любой конструктивный вклад в Википедию, однако страницы могут быть удалены по любой из нескольких причин .

Вы можете предотвратить предлагаемое удаление, удалив {{proposed deletion/dated files}}уведомление, но, пожалуйста, объясните причину в своей сводке редактирования или на странице обсуждения файла .

Пожалуйста, рассмотрите возможность решения поднятых вопросов. Удаление {{proposed deletion/dated files}}остановит предложенный процесс удаления , но существуют другие процессы удаления . В частности, быстрый процесс удаления может привести к удалению без обсуждения, а файлы для обсуждения позволяют при обсуждении достичь консенсуса в отношении удаления. - TheImaCow ( разговор ) 20:15, 22 января 2021 (UTC)

Ответ в разговоре с пользователем: TheImaCow / Archive / 2021 / февраль # Prodding_images_that_were_wikilinked_from_archived_discussions . - ais523, 22:15, 22 января 2021 г. ( U T C )

Категория: Требуется обновление тега добросовестного использования, номинирована на удаление [ изменить ]

Категория: Требуется обновление тега добросовестного использования была назначена на удаление. В настоящее время обсуждается, соответствует ли это предложениеруководящим принципам категоризации . Если вы хотите принять участие в обсуждении, вам предлагается добавить свои комментарии в записи к данной категории по категориям для обсуждения страницы. Спасибо. Дилссс ( вклад в обсуждение ) 01:30, 14 апреля 2021 г. (UTC)