Заполнить параметры Data Explorer параметрами из URL

Было бы здорово, если бы я мог поделиться запросом из Data Explorer с группой, при этом параметры запроса автоматически заполнялись бы параметрами из URL.

Например, если у меня есть параметр -- string :username, я смогу поделиться им с группой “my-group”, указав имя пользователя “myName”.

Что-то вроде этого:

https://mydomain.com/g/my-group/reports/100?username=myName

11 лайков

Конечно… ставлю pr-welcome, это выглядит как отличное улучшение качества жизни!

4 лайка

Поднимаю тему с ещё одним предложением:

  • добавить параметр &run, который будет отправлять отчёт при загрузке страницы, чтобы сэкономить пользователю клик
  • добавить набор параметров для передачи контекста пользователя (так, например, можно будет автоматически подставлять имя текущего пользователя)

Нам нужна эта функция, так как она позволит легко автоматизировать внутренние уведомления по темам для каждого заинтересованного пользователя :slight_smile:

4 лайка

Важно отметить, что если добавлен параметр run, его не следует использовать, если cookie с атрибутом same-site установлен в значение None (или Disabled, а браузер по умолчанию определяет None как значение по умолчанию).

Если same-site равен none, пользователь может перейти на другой сайт и отправить HTTP-запрос GET, аналогично тому, как эксплуатируется CSRF. Хотя это не является уязвимостью CSRF как таковой, злоумышленник может выполнить очень ресурсоёмкие операции в исследователе данных.

Политика cookie same-site относительно нова, но основные браузеры уже поддерживают её в течение некоторого времени. По умолчанию Chrome использует значение Lax, и Discourse тоже (если я не ошибаюсь), поэтому в большинстве случаев проблем быть не должно.

Я добавил параметры Data Explorer в URL. Параметры добавляются, когда пользователь нажимает кнопку «Запустить». Вот пример после нажатия «Запустить»: Screen Shot 2021-07-28 at 1.19.56 PM

А вот ссылка на PR: Add Data Explorer Params to the URL when user press run by rngus2344 · Pull Request #128 · discourse/discourse-data-explorer · GitHub

6 лайков

Вышеупомянутый PR был слит. Это решает вашу задачу? Чтобы параметры запроса добавились в URL, нужно выполнить запрос. Вы можете запустить его, скопировать ссылку и поделиться ею.

3 лайка

@Nam Спасибо за вашу работу над этим!

В данный момент это работает для запросов, выполняемых в Data Explorer, но интересно, можно ли сделать это в виде отчёта. Что-то вроде:

mysite.com/g/my-group/reports/6&params=%7B"months_ago"%3A"3"%7D

2 лайка

Мы могли бы добавить поддержку заполнения полей на странице запуска отчёта по группам с использованием параметров из URL. Это не составило бы особого труда. Мой вопрос: как вы получаете этот URL? Он генерируется для конкретной группы каким-то образом, или вы просто вручную формируете URL?

Если вы перейдете на страницу группы, вы увидите вкладку «Отчеты» со ссылками на запросы, доступные для этой группы, но параметры, вероятно, придется генерировать вручную.

1 лайк

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

5 лайков

Кажется, мы до этого никогда не доходили? Я, безусловно, вижу, что это может быть полезно.

Этот PR должен это исправить:

Его эффект показан в цитате выше

4 лайка

Мы вернулись к этой просьбе и теперь добавили параметр run, который автоматически запускает отчёт при загрузке страницы. Это описано на странице плагина Data Explorer здесь:

2 лайка