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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions