WordPress Trac – один из наиболее утилитарных и скучных интерфейсов, с которыми приходится сталкиваться многим участникам в процессе отдачи проекту. Устав от посредственной функции поиска Trac, Уильям Эрнхардт решил улучшить ее с помощью нового проекта под названием WPTracSearch, который дал ему возможность поиграть с Elasticsearch и React.
WPTracSearch предоставляет альтернативный интерфейс на базе Elasticsearch для поиска тикетов WordPress Trac. Он выполняет полнотекстовый поиск по всем полям, обеспечивая более точные результаты даже для базовых запросов благодаря рейтингу релевантности Elasticsearch. Результаты можно легко фильтровать по этапам, компонентам, фокусам, именам пользователей и другим критериям, что упрощает поиск конкретных заявок.
Интерфейс поиска также поддерживает нечеткое соответствие, что увеличивает его способность предоставлять более релевантные результаты. Даже если термин написан с ошибкой (либо в поиске, либо в заявке), он все равно будет давать результаты, как в примере ниже:
Эрнхардт – основной участник WordPress и разработчик в Bluehost. Его основная команда имеет право работать над всем, что они хотят для ядра WordPress и сообщества.
«Это прекрасно сочетается с этим, но также было просто забавно поработать», – сказал он. «Прошлой осенью все началось как забавный эксперимент с Elasticsearch. Я построил индекс на своей локальной машине и поигрался с ним, но занялся другими вещами, предшествующими пушу до 5.0, и это как бы отошло на второй план.
«Тогда в начале этого года я несколько раз приходил к нам, когда это могло быть полезно, поэтому я собрал для этого интерфейс и разместил его в Интернете».
Если вы хотите использовать WPTracSearch, но не знаете, насколько актуален индекс заявки, Эрнхардт сказал, что он почти постоянно синхронизируется:
Существует сценарий PHP, который анализирует всю информацию о билете в Trac с помощью API XMLRPC и помещает ее в индекс Elasticsearch. Существует сценарий bash, который каждую минуту запускается в cron для поиска билетов, обновленных с момента последнего запуска, а затем использует сценарий PHP для их переиндексации. Таким образом, он остается довольно постоянно синхронизированным.
В проекте используется интерфейс React, который использует библиотеку Reactivesearch для запроса индекса Elasticsearch. Эрнхардт также позаимствовал некоторый код из Not Trac Райана МакКью, чтобы помочь с некоторыми элементами пользовательского интерфейса, который имеет дело с синтаксическим анализом TracLinks и блоков кода.
WPTracSearch – это развивающийся проект, и Эрнхардт имеет множество планов по его улучшению. Два самых приоритетных элемента в его дорожной карте – это индексирование мета-трека и создание для него поискового интерфейса. Он также хочет, чтобы отдельные билеты имели доступные для навигации URL-адреса, а не отображались в модальных всплывающих окнах, когда вы нажимаете на сводку в результатах поиска.
«Я делаю это так, потому что оставаться в этом интерфейсе намного быстрее, чем прыгать назад и вперед на core.trac.wordpress.org при просмотре заявок, но вы не можете напрямую ссылаться на заявку, а вперед / назад – нет. работа, – сказал Эрнхардт.
«Вы также можете запросить индекс Elasticsearch напрямую, не используя интерфейс React, если знаете Elasticsearch Query DSL. Это позволяет строить довольно сложные запросы. Я подумал о создании нескольких диаграмм, используя это. Это могло бы помочь основной группе сортировки лучше понять отток и продвижение к сокращению этого открытого обратного отсчета. Есть много интересных возможностей ».
WPTracSearch доступен на GitHub, если кто-то хочет поделиться идеями или кодом для его улучшения.
Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…
Команда Gutenberg создаст станцию тестирования удобства использования в WordCamp US, где посетители смогут принять участие…
Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…
На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…
На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…
DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…