С момента последнего поста про RSS-транспорт сделал несколько значительных обновлений.
Во-первых, как уже писал в комментариях к тому посту, сделал «Приватные ленты» — туда можно помещать ленты на ответы на форумах и тому подобные вещи — то, что вряд ли будет интересно кому-то еще или то, что хочется просто скрыть от посторонних глаз. Была еще мысль сделать «Защищенные ленты», для которых отдается содержимое только владельцу, но есть ли в них смысл, если источник данных — RSS-лента, указанная при регистрации — все равно может отдавать контент кому угодно? Кроме того, больше подобных фич — больше возможностей для злоупотреблений, когда лента вроде как есть, но «ничего не работает».
Во-вторых, в следующей версии — пусть снаружи это и мелкое изменение — добавил видимость подобных лент в «Поиске» и «Браузере сервисов» для того, кто их регистрировал. Это потребовало вести запись того, кто именно регистрировал ленту — добавлено соответствующее поле в базу. Помимо основной функции, теперь при необходимости можно отсеять ленты по автору (например, легче удалить мусор в случае спама).
В-третьих, для большего удобства расширил функциональность браузера сервисов — теперь там можно посмотреть свои приватные ленты, а также те, регистратором которых являешься. Поначалу еще сделал список тех, на которые подписан, но вовремя спохватился — зачем? Переведи взгляд на ростер: то, на что ты подписан, находится там :).
Ну и 4-е, самое масштабное изменение — система тегов для лент. При регистрации ленты теперь есть необязательное поле, где через запятую можно перечислить ключевые слова — теги для ленты. Теги сохраняются в той же таблице, где и остальная информация о лентах — под них выделено новое поле. В «Браузере сервисов» теперь есть раздел «Категории», где собраны все теги, а внутри каждого тега перечислены ленты, которые к нему относятся.
Из мелких правок — расширил перечень запрещенных в именах лент символов по данным из XEP-0106: JID Escaping. Аналогичные ограничения сначала хотел ввести и для тегов, но, как выяснилось, в именах нод лимиты мягче, поэтому там режутся только пробелы, да и то только для внутреннего использования — названия категорий могут содержать пробелы.
