Получение списка тем через JS Unified Api
Я пытаюсь получить список всех тем в моем экземпляре распространения. У меня есть несколько корневых тем, каждая из которых имеет свои дочерние темы. Мне просто нужно получить то, что находится на сервере с его иерархией. Я связался с диффузионной поддержкой для этого, и они сообщили мне, что в API JS такого метода нет. Это вообще выполнимо?
Я сейчас на последней сборке diffusion 5.9.
1 ответ
В версии v5.9 отсутствует API для перечисления деревьев тем, хотя будущие версии должны включать его. Консоль использует недокументированный протокол и может быть изменена.
Набор тем редко бывает статичным, поскольку темы создаются и удаляются для отражения реальных событий, поэтому перечисление и подписка на отдельные темы - это редкая практика. Чаще всего разработчики решений идентифицируют интересующую ветку темы и подписываются на эту тему и всех потомков с помощью селектора тем, например, подписка на ?foo//
определяет корневую тему foo
и набор текущих и будущих потомков тем.
На ваш вопрос об определении корневых тем мы обычно видим ряд подходов.
- корневые темы запекаются в клиенте
- клиент запрашивает набор корневых тем, отправляя запрос на путь к теме, который прослушивает другой клиент.
- Чаще всего клиент не активно подписывается на темы. Вместо этого управляющий клиент подписывает клиента на набор обязательных тем, в зависимости от принципала, используемого при аутентификации. Управляющий клиент узнает о новом сеансе клиента через прослушиватель свойств сеанса.