Могу ли я использовать JSON API вместо создания плагина?

Я занимаюсь некоторыми кастомизациями (как описано здесь и здесь), которые, похоже, требуют глубокого понимания Ember и Rails, а также того, как устроен исходный код Discourse.

В результате процесс идёт медленно (я больше привык к Angular и JavaScript, а Discourse для меня нов), поэтому я ищу способы ускорить внедрение этих кастомизаций.

Итак, вопрос: вместо создания плагина, который модифицирует шаблоны Discourse, могу ли я достичь того же результата, используя JSON API?

Кажется, что уверенное владение API эффективнее, чем глубокое знание Ember и исходного кода Discourse, и это можно реализовать на таких языках, как чистый JavaScript или jQuery.

Я думаю, что ответ — да. Как говорила команда, всё, что делает Discourse, можно сделать через API.

Я предполагаю, что это сработает, но причина вопроса: обычный сценарий использования JSON API, как я понимаю, — это отдельное приложение, которое хочет взаимодействовать с приложением Discourse. В моём случае это было бы приложение Discourse, обращающееся к собственному API.

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

В моём случае я сделал бы следующее — в настройках кастомизации в разделе “<head” — вызвал бы AJAX-функцию при загрузке страницы индекса групп, которая отправляет API-запрос для получения владельцев каждой группы, а затем вставляет эту информацию в список каждой группы.

Сработает ли это? Нужно ли для этого генерировать API-ключ, учитывая, что запрос исходит от самого приложения?

Проблема в том, что если вы хотите хранить новый тип данных, вам понадобится плагин. Сервер должен знать, где хранить данные, какой формат допустим, кто имеет право просматривать данные и кто может их изменять.


Идентификаторы владельцев групп общедоступны, поэтому компонент темы может загрузить их и отобразить на странице индекса групп — медленно.

Что касается тематических тем категорий, то существуют темы и плагины, которые используют теги для реализации этой функции. Вы уже смотрели их?

Круто. Я, вероятно, не планирую хранить данные нового типа. Скорее, я буду работать с пользовательскими полями, соблюдая существующий формат таких полей.

Раньше я не встречал плагинов для закрепления тем в категориях. Для меня ключевым моментом является предоставление модераторам категорий возможности выбирать их. Я изучу этот вопрос.

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

Вы можете объявлять новые пользовательские поля (и сериализовать их) только в плагине.