#271 closed задача (fixed)
Выгрузка/загрузка частей конфигурации блока
Reported by: | san | Owned by: | alx |
---|---|---|---|
Priority: | низкий | Milestone: | 2 очередь |
Component: | sw | Keywords: | |
Cc: | andrei, Ivanmvtel |
Description (last modified by )
Ваня предложил интересную, на мой взгляд, идею.
Добавить в веб морду функции "выгрузки"/"загрузки"/"сброса в дефолт" отдельных частей конфигурации блока:
Например отдельно скачать настройки групповых каналов из одного блока и загрузить их в другой блок.
Так-же отдельно можно выделить:
- настройки всех плат
- настройки конкретной платы(не привязанные к слоту)
- тдм маппер
- Eth коммутатор
Часто блоки проекта сконфигурированные по разному содержат одинаковые или близкие настройки отдельных "частей", и для ускорения/упрощения процесса конфигурации пригодилась бы такая функция.(можно конечно вручную копировать нужные части в конфиг. файлах но это не очень удобно)
Attachments (3)
Change History (44)
follow-up: 5 comment:1 by , 7 years ago
Description: | modified (diff) |
---|
comment:3 by , 5 years ago
Саша, новые функции сейчас можно попробовать в Нижнем Самурае: http://[2a01:540:26de:bc00::1234]/
Буду рад если ты попробуешь их в разных браузерах - хочется убедиться, что конфиг будет сохраняться при экспорте. Это сейчас сделано через жопу - в документ скриптом добавляется ссылка <a/>, затем она кликается, и сразу удаляется, и я не уверен, что везде это будет хорошо работать. Возможно, придется выдавать окно со ссылкой, чтобы можно было кликнуть вручную...
comment:4 by , 5 years ago
Еще поясню, как работает импорт - в загруженном конфиг-файле ищется конфиг того типа платы, в которую он импортируется. Указание номера слота при этом игнорируется. Если таких конфигов в файле несколько, будет импортирован самый первый.
comment:5 by , 5 years ago
Replying to san:
Ваня предложил ещё функцию "сброс в дефолт", добавил в описание.
Вижу в описании тикета лишь упоминание этой фукнции. Описания же этой функции (в чем она должна заключиться) я не вижу...
follow-up: 7 comment:6 by , 5 years ago
Саша, новые функции сейчас можно попробовать в Нижнем Самурае
Хорошо, потыкаю...
Ваня предложил ещё функцию "сброс в дефолт"
Установка конфигурации платы в конфигурацию по умолчанию(в окнах некоторых плат есть такая кнопка "Сбросить").
По смыслу её функционал ближе к Экспорт и Импорт, чем к Ок/Применить/Отмена. Засунуть бы её в новое меню, а из текущего места убрать.
comment:7 by , 5 years ago
Replying to san:
Установка конфигурации платы в конфигурацию по умолчанию(в окнах некоторых плат есть такая кнопка "Сбросить").
А, теперь понял, что имелось в виду, спасибо. Мне просто казалось, что такая кнопка есть в диалогах всех плат. Теперь увидел, что, действительно, в некоторых диалогах этой кнопки нет...
Кстати, раз уж зашел об этом разговор, не пояснял ли Ваня, случайно, для чего ему может помочь функция сброса в дефолт? В чем суть такого улучшения? ИМХО в большинстве плат дефолтная конфигурация - все заблокировано и, соответственно, ничего не работает...
follow-up: 16 comment:8 by , 5 years ago
Cc: | added; removed |
---|
дефолтная конфигурация - все заблокировано и, соответственно, ничего не работает...
Могу предположить что для этого и нужно, чтобы выключить всё нажатием одной кнопки :)
Например для платы VE-01, могло бы пригодиться, если я хочу удалить все окончания, пользователей настройки ДВО и.т.д.
Можно и самого Ваню спросить.
follow-up: 12 comment:9 by , 5 years ago
- Браузер Google Chrome Версия 80.0.3987.149(64 бит)
Экспорт настроек BS-220 прошёл нормально
Иморт тоже, но после Сообщения об успешном импорте, если нажать "Закрыть" - окно платы пропадает
- Есть предложение при автоматическом формировании имени файла экспорта указывать в нём название платы и номер слота, так пользователю будет удобнее, мне точно.
comment:10 by , 5 years ago
если нажать "Закрыть" в окне уведомления - окно платы пропадает
Иногда окно платы пропадает сразу после импорта, ещё до появления окна Уведомления.
comment:12 by , 5 years ago
Replying to san:
- Есть предложение при автоматическом формировании имени файла экспорта указывать в нём название платы и номер слота, так пользователю будет удобнее, мне точно.
Частично согласен.
- Сохранение в файл полученного при клике ссылки документа выполняет браузер, следовательно, это от него зависит, какое имя будет у файла.
- В ссылке указан атрибут, предлагающий браузеру имя файла по умолчанию, с которым браузер может согласиться, может не согласиться (а еще может попасться браузер, не поддерживающий HTML5, и просто не знакомый с таким атрибутом).
- Как правило, пользователь имеет возможность влиять на имя создаваемого при сохранении документа файла и место его расположения (путь) и изменить выбранное браузером имя файла.
- Название платы добавил в имя файла, предлагаемое браузеру по умолчанию. В добавлении в имя файла номера слота, которое не играет никакой роли при импорте, не вижу смысла. Опять же, пользователь может добавить его сам, если посчитает нужным (см. предыдущтй пункт).
follow-up: 14 comment:13 by , 5 years ago
Не уверен что ты заметил) поэтому повторю: у меня в тестах возникла проблема при импорте:
после Уведомления об успешном импорте, если нажать "Закрыть" в окне уведомления - окно платы пропадает
Я ожидал что после импорта окно платы будет на месте и в него будут загружены данные из файла, однако окно "схлопнулось" и "всё пропало" :)
comment:14 by , 5 years ago
Replying to san:
Не уверен что ты заметил)
Зря. :) Не беспокойся, я заметил.
поэтому повторю: у меня в тестах возникла проблема при импорте:
Ранее ты не говорил, что считаешь это проблемой, поэтому я ничего не ответил, просто принял к сведению, что в Google Chrome все работает правильно. :)
Я ожидал что после импорта окно платы будет на месте и в него будут загружены данные из файла, однако окно "схлопнулось" и "всё пропало" :)
Проблемы в этом нет. Так и должно быть, твои ожидания были неверны.
Также я сам проверял в браузерах Falcon, Opera и Otter - тоже все нормально. Пока оставляю как есть.
follow-up: 17 comment:15 by , 5 years ago
т.е. рано я импорт начал проверять)?
ок, буду ещё тыкать другими браузерами
comment:16 by , 5 years ago
Replying to san:
дефолтная конфигурация - все заблокировано и, соответственно, ничего не работает...
Могу предположить что для этого и нужно, чтобы выключить всё нажатием одной кнопки :)
Например для платы VE-01, могло бы пригодиться, если я хочу удалить все окончания, пользователей настройки ДВО и.т.д.
Можно и самого Ваню спросить.
Для платы VE это актуально.
Так же ОЧЕНЬ хочется иметь возможность скинуть в дефолтное состояние все настройки Ethernet.
comment:17 by , 5 years ago
Replying to san:
т.е. рано я импорт начал проверять)?
Это твое личное дело, когда что проверять. Я лишь предоставил возможность.
Исправить найденную ошибку никогда не поздно, даже через 10 лет после релиза... :)
follow-up: 19 comment:18 by , 5 years ago
Проблемы в этом нет. Так и должно быть, твои ожидания были неверны.
Теперь я понял почему мои ожидания не верны.
Ты реализовал функции
- экспорта настроек из платы в файл
- импорта настроек из файла в плату
А я ожидал увидеть функции
- экспорта настроек из окна конфигурации платы в файл
- импорта настроек из файла в окно конфигурации платы
На мой взгляд такая реализация была бы значительно удобнее для пользователя, т.к. при импорте пользователь сможет изменить часть настроек, а потом уже заливать их в плату.
(например, пользователь подключен к блоку через плату GE-04, и хочет импортировать из другой платы таблицу VLAN, а на другой плате выключен порт пользователя и нужно изменить конфиг перед загрузкой). Да и пользователю всегда удобней работать с тем что он видит - загрузил настройки из файла, в окно, убедился что всё в порядке и загрузил в плату.
Подозреваю что именно такой функционал Ваня и задумывал в своём предложении, хоть и буквально об этом не сказано.
comment:19 by , 5 years ago
Replying to san:
А я ожидал увидеть функции
- экспорта настроек из окна конфигурации платы в файл
Реализация этой функции была бы намного более трудоемкой, так запись настроек платы в документ XML уже реализована в swd, и я просто воспользовался готовой функцией. Преобразование же в XML формы диалога в веб-интерфейсе пришлось бы делать с нуля, причем для каждого типа платы отдельно.
- импорта настроек из файла в окно конфигурации платы
Аналогично, в демоне swd уже реализован разбор конфигурации из XML по переменным платы каждого типа, который выполняется после обнаружения платы. И я просто воспользовался им - после импорта настроек "симулируется" пропадание платы, после чего очередной опрос обнаруживает ее заново, и новая конфигурация вступает в действие выполнением уже давно существующего кода. Парсинг же конфига для заполнения полей формы диалога конфигурации, опять же, пришлось бы писать для каждого типа платы с нуля.
На мой взгляд такая реализация была бы значительно удобнее для пользователя, т.к. при импорте пользователь сможет изменить часть настроек, а потом уже заливать их в плату.
Ничто не мешает пользователю изменить настройки платы уже после того как они были в нее записаны.
Я согласен, что так, как ты говоришь, было бы удобнее. И приведенный тобой пример разумен. Но думаю, что дальнейшее повышение удобства не стоит того объема ресурсов, которые на это пришлось бы затратить. Все-таки я думаю, что импорт конфигурации, "ломающий" доступ к блоку, как в твоем примере - особый случай, в котором можно и вручную подправить файл перед импортом. В большинстве же других потенциальных случаях использования экспорта/импорта такой правки требоваться не будет. Я думаю, тут уже имеет место разумный баланс уровня удобства пользования и трудозатрат на его достижение.
comment:20 by , 5 years ago
Пример, конечно, утрированный :)
Но думаю, что дальнейшее повышение удобства не стоит того объема ресурсов, которые на это пришлось бы затратить.
Понятно, пока в такой реализации, а дальше видно будет.
comment:21 by , 5 years ago
Саша, что-то я не могу найти подходящих иконок для импорта и экспорта. Может поможешь? Нужны иконки размером 24x24 для кнопок и 72x72 для диалогов...
comment:23 by , 5 years ago
иконок для импорта и экспорта
Может листочки со стрелочками использовать, те же что и для загрузки/сохранения конфига?
follow-up: 25 comment:24 by , 5 years ago
Может быть имеет смысл и имя блока добавить при автоматическом формировании имени экспорта?
follow-up: 29 comment:25 by , 5 years ago
Replying to san:
Может быть имеет смысл и имя блока добавить при автоматическом формировании имени экспорта?
Учитывая, что экспорт/импорт задуман, главным образом, для переноса настроек из одного блока в другой, в добавлении имени блока не вижу смысла.
follow-up: 27 comment:26 by , 5 years ago
Ну вот я о том-же подумал, но кажется логично сохранить из какого блока выкачены настройки.
Может Ваня что скажет.
comment:27 by , 5 years ago
Replying to san:
... кажется логично сохранить из какого блока выкачены настройки.
Как раз мне это кажется нелогичным. Поскольку функции служат для переноса настроек из одного блока в другой, следовательно, переносимые настройки не привязаны к какому-то конкретному блоку, и, следовательно, нет логики в закреплении имени блока в имени файла.
Более того, по той же причине (функции служат для переноса настроек) трудно представить, что кто-то будет хранить экспортированные настройки хоть сколько-нибудь долго. Экспортировав их из одного блока, оператор сразу откроет другой и импортирует их, после чего удалит более ненужный файл. При таком сценарии, как назывался файл - вообще пофиг. Трудно себе представить, что настройку какой-то платы экспортировали сегодня, а импортируют ее куда-то через месяц... Другое дело - полный конфиг-файл блока. Его имеет смысл хранить неопределенно долго как резервную копию...
comment:28 by , 5 years ago
Относительно долго настройки плат может хранить тот кто настраивает однотипные блоки не один день. Но, с остальным согласен.
comment:29 by , 5 years ago
by , 5 years ago
Attachment: | VEslot7.xml added |
---|
follow-ups: 32 38 comment:31 by , 5 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Опробовал новую функцию импорта в деле, но что-то пошло не так.
- Сделал импорт настроек из окна платы VE-01 (файл для импорта приложен в сообщении выше)
- Импорт прошел успешно - отобразилось сообщение что настройки загружены в плату.
- Открыл окно конфигурации платы и не увидел ничего похожего на загруженные настройки, хотя ожидал, как минимум, увидеть маршруты.
r1886, VE-01 ревизии 59.
Т.к. функция ещё свежая, не буду создавать отдельный тикет, а просто приоткрою этот.
comment:32 by , 5 years ago
Replying to san:
Опробовал новую функцию импорта в деле, но что-то пошло не так.
Для анализа произошедшего прошу приложить полный конфиг блока (не забыв предварительно сохранить его) и лог-файл.
follow-up: 34 comment:33 by , 5 years ago
Хм... после эксперимента я сохранил конфигурацию в ПЗУ и выгрузил конфиг своего блока.
В файле вижу для плат VE, странные строки, слот упоминается 2 раза...
<board type="VE-01" code="20" slot="11" slot="5">
...
<board type="VE-01" code="20" slot="7" slot="5">
comment:34 by , 5 years ago
Replying to san:
Хм... после эксперимента я сохранил конфигурацию в ПЗУ и выгрузил конфиг своего блока.
Я просил приложить конфиг-файл к этому тикету. Лучше анализировать ситуацию на основе первоисточника (файла), а не вольного пересказа о его содержимом. :)
follow-up: 36 comment:35 by , 5 years ago
Я коммент написал раньше твоей просьбы, просто отправил позже)
by , 5 years ago
Attachment: | config-29-04-2020.xml added |
---|
by , 5 years ago
comment:36 by , 5 years ago
Replying to san:
Я коммент написал раньше твоей просьбы, просто отправил позже)
А я думал, это ответ на мою просьбу... :) Спасибо, сейчас посмотрю.
comment:38 by , 5 years ago
Replying to san:
Т.к. функция ещё свежая, не буду создавать отдельный тикет, а просто приоткрою этот.
Не мог бы ты пояснить, в чем тут логика? Я не нахожу связи между свежестью одного тикета и созданием другого... Вроде бы создать новый тикет ничуть не сложнее (даже проще - не надо искать старый) чем переоткрывать старый...
comment:39 by , 5 years ago
Я посчитал, что это ещё "доделывание" улучшения, поэтому сообщил в этот тикет.
comment:40 by , 5 years ago
В репозитории sw-r1897. В конфиг-файле придется вручную удалить вторые копии атрибутов.
Ваня предложил ещё функцию "сброс в дефолт", добавил в описание.