Skip to content

Новая версия API Newsfeed #1

@Tozarin

Description

@Tozarin

Сводка изменений

Этот документ описывает внесенные изменения в код для улучшения композиции URL и добавления конфигурируемого переключателя версии API новостной ленты (Newsfeed), а также уточнения формата URL по умолчанию

Что изменено

  1. Конфигурируемая версия API новостной ленты с использованием только query-параметров для v2
  1. Улучшен URL по умолчанию на API-ориентированную конечную точку

Зачем это сделано

  • Версионирование новостной ленты: добавлен безопасный и явный механизм переключения между версиями API. Для v2 преднамеренно не используется версия в пути, только query-параметры
  • URL карт: гарантирует, что шаблоны, формирующие ссылки на карты, используют документированную API-точку входа Google, повышая согласованность и совместимость

Конфигурация

Чтобы переключить Newsfeed на v2 (только через query-параметры), добавьте в netbox/configuration.py:

NEWSFEED_API_VERSION = 'v2'

Чтобы сохранить поведение v1 (по умолчанию), либо не указывайте параметр, либо задайте:

NEWSFEED_API_VERSION = 'v1'

Обратная совместимость

  • Поведение по умолчанию остается v1 для новостной ленты, что сохраняет совместимость с существующими установками
  • Шаблоны, использующие MAPS_URL, автоматически выиграют от улучшенного значения по умолчанию; изменений в шаблонах не требуется

Измененные файлы

  • netbox/settings.py
    • Добавлена логика NEWSFEED_API_VERSION, NEWSFEED_BASE_URL, NEWSFEED_URL
  • extras/constants.py
    • Виджет RSS на панели по умолчанию теперь ссылается на settings.NEWSFEED_URL
    • Добавлен импорт settings
  • netbox/config/parameters.py
    • Обновлено значение по умолчанию MAPS_URL на API-путь поиска Google Maps

Операционное влияние

  • Миграции базы данных не требуются
  • Ожидается отсутствие перерывов в работе; изменения управляются конфигурацией и совместимы с текущими шаблонами

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions