Searching public topics and PMs simultaneously and set this option as the default

Is there a way to search for both public topics and PMs at once – and make that the default behavior for my site?

User case: I often know I’ve talked with someone about something but I can’t recall whether it was a message or a topic. To find it, I sometimes have to do two searches. And that’s charitably assuming that I use the correct keywords, which isn’t always the case :slight_smile:

3 лайка

Я хотел бы сделать Search public topics and PMs simultaneously поведение по умолчанию в нашем форуме.

Кто-нибудь пробовал это раньше?

Контекст:
Мы используем Discourse как коммуникационную платформу для школы. Большинство категорий ограничены для определённых групп.
Общение через личные сообщения (ЛС) — это обычный способ обращения к людям из разных групп.
При поиске разговора пользователи часто не помнят, нужно ли искать ЛС или тему.

4 лайка

Я раньше об этом не слышал — это похоже на запрос новой функции, поэтому переношу в #feature.

1 лайк

Продолжение обсуждения из поверхности в:all как опции в интерфейсе расширенного поиска:

Оказывается, это не так просто! Поэтому мы создали новый запрос на добавление функции.

В нашем случае, где мы довольно часто используем почтовые ящики групп, довольно часто возникает необходимость включать сообщения в поиск. Добавление in:all в начало поиска решает эту задачу, но это не то, что легко объяснить пользователям.

Благодаря замечательной недавней работе @zogstrip, это теперь возможно через интерфейс. Хотя это отлично подходит для наших опытных пользователей, новичкам потребуется время, чтобы найти эту опцию, они могут забыть её использовать и так далее.

Я бы хотел иметь возможность сделать этот поиск поиском по умолчанию для моих пользователей (и для себя!).

3 лайка

Хм… может, стоит использовать JavaScript, чтобы добавить in:all в поле поиска?

Я попробовал поработать с JavaScript, но это, кажется, слишком сложно для меня и моего тупого ИИ-помощника. Есть какие-нибудь советы?

Хм… а как насчёт чего-то вроде:

document.addEventListener("DOMContentLoaded", () => {
  if (window.location == "/search") {
    const searchBar = document.getElementById("someId");
    searchBar.value = "in:all";
  }
});

Это я на скорую руку придумал; у меня нет ноутбука, так как я в отпуске.

Лучшее решение — использовать api.onPageChange из API плагинов, но этот вариант тоже может сработать.

Хотел лишь быстро перекрестно связать похожие запросы на функции:

1 лайк

К сожалению, у меня не получилось заставить это работать!

Отличная мысль! Я пропустил существующие темы. Я пометил их для объединения.

1 лайк

У меня есть несколько сайтов, которые активно используют Групповые сообщения — отличный способ четко отделить «нефорумные» темы от открытых категорий.

Однако это создает некоторую функциональную изоляцию поиска. Хотя можно искать по сообщениям и всему форуму с помощью in-all (см. Searching for content effectively), в интерфейсе поиска такой возможности нет.

Для нашего сценария было бы очень полезно добавить в интерфейс расширенного поиска:

  1. Удобную опцию для управления включением Сообщений (и/или Чата) в поиск

    • это можно реализовать как дополнительный пункт в выпадающем списке здесь:

    • или, возможно, проще в виде одного из флажков здесь (поскольку они просто вставляют префикс в строку поиска):

  2. Возможность задать настройку по умолчанию для всего сайта

2 лайка

Мне всегда казалось странным сочетание чекбоксов и выпадающего списка. Поэтому я «объединил» их в один выпадающий список с возможностью множественного выбора и убедился, что фильтр «in:all» также включён в список.

4 лайка

@nathank вышеупомянутый PR уже в работе в Meta, что ты думаешь?

1 лайк

Это довольно крутое (и разумное) улучшение!!!

Теперь мне осталось только разобраться, как сделать его поиском по умолчанию для моего сайта…

1 лайк

Напомним, что поиск по теме и личным сообщениям завершен, и in:all теперь доступен в фильтре.

Оставшаяся часть для завершения запроса на новую функцию — возможность сделать этот поиск поиском по умолчанию.

3 лайка