Перейти к содержимому


Система обновления конфигураций


Сообщений в теме: 22

#1 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 07 Ноябрь 2013 - 12:34

Неоднократно поднималась тема по переносу изменений в конфигурации с одной машины (программы) на другую, для целей доработки конфигураций. Сам функционал был создан достаточно давно (и присутствовал в Настройках программы), но оставался в подвешенном состоянии, в частности из-за найденных багов. На днях все-таки закончили тестирование и доработки, пока ошибок не найдено, все работает. Соответственно, была написана документация.

Здесь обсуждаем возникшие вопросы по функционалу и предложения по его доработке. Механизм пока далек от совершенства, в будущем будет изменен на более универсальный (возможность слияния разных конфигураций, обход коллизий по id без необходимости разных каналов и т.д.), потому просьба пока сильно не пинать.

#2 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 156 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 22 Ноябрь 2013 - 11:00

Интересно. Буду тестить.

#3 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 313 сообщений
  • Пол:Мужчина

Отправлено 11 Май 2014 - 19:47

Просмотр сообщенияCbCoder (07 Ноябрь 2013 - 12:34) писал:

Неоднократно поднималась тема по переносу изменений в конфигурации с одной машины (программы) на другую, для целей доработки конфигураций. Сам функционал был создан достаточно давно (и присутствовал в Настройках программы), но оставался в подвешенном состоянии, в частности из-за найденных багов. На днях все-таки закончили тестирование и доработки, пока ошибок не найдено, все работает. Соответственно, была написана документация.

Здесь выкладываем отзывы, предложения, найденные ошибки. Механизм пока далек от совершенства, в будущем будет изменен на более универсальный (возможность слияния разных конфигураций, обход коллизий по id без необходимости разных каналов и т.д.), потому просьба пока сильно не пинать.

Версия 2.0.1 - не работает. Сначала просто не формировался файл изменений. После месяца напряженного труда Т.П по исправлениям бага. файл стал формироваться. Но вот обновлять с него целевую конфигурацию не получается - не находятся отличия в конфигурациях
"...Сижу, паяю. CRM починяю..."
Мои разработки

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Май 2014 - 09:04

Отправьте заявку в техподдержку, будем тестировать в чем дело.

#5 SergKh

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 27 Май 2014 - 15:44

Добрый день,
При попытке создать файл обновлений выдало следующую ошибку:

Fatal error: Allowed memory size of 343932928 bytes exhausted (tried to allocate 262144 bytes) in C:\Program Files (x86)\MSTL\ClientBase\www\include\functions_cron.php on line 7496

Подскажите, пожалуйста, что это значит и что с этим делать?

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Май 2014 - 16:04

По всем ошибкам пишем заявки в техподдержку. На форуме ошибки не обсуждаются.

#7 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 313 сообщений
  • Пол:Мужчина

Отправлено 27 Май 2014 - 22:38

Просмотр сообщенияCbCoder (27 Май 2014 - 16:04) писал:

По всем ошибкам пишем заявки в техподдержку. На форуме ошибки не обсуждаются.

А как же это? :rolleyes:

Просмотр сообщенияCbCoder (07 Ноябрь 2013 - 12:34) писал:

Здесь выкладываем отзывы, предложения, найденные ошибки

Сообщение отредактировал maksn: 27 Май 2014 - 22:40

"...Сижу, паяю. CRM починяю..."
Мои разработки

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 28 Май 2014 - 12:17

Просмотр сообщенияmaksn (27 Май 2014 - 22:38) писал:

А как же это? :rolleyes:

На автомате видимо написал, извиняюсь. На форуме уже давно не обсуждаются баги, т.к. обсуждать нечего по сути (есть заявки в техподдержку, их выполнение отслеживается, сами ошибки тестируются и передаются программистам, на форуме за этим труднее отследить). Текст в первом сообщении исправил. Для предложений по доработкам тоже готовится отдельный интерфейс. На форуме останутся только вопросы по программе и их обсуждение.

Прикрепленный файл  to_support.JPG   7,59К   10 Количество загрузок:

#9 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 156 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 08 Июль 2014 - 18:59

Почитал доки, но остались вопросы. Проясните пожалуйста. Итак имеются несколько разработчиков, которые выполняют конфигурацию кб. Есть один продакшн кб, куда заливаются изменения (в этом же продакшене администратор может создавать или удалять функционал, закрепленный заданием за ним). Каждый программист делает свою часть работы и каждый хочет работать на своей локальной версии. Какие мои действия, как программиста, чтобы безболезненно можно было заливать изменения?

Вопросы:
1. Конфигурация в которой идет разработка и продакшн, должны иметь за начальную точку один и тот же бэкап?
2. Непонятно с каналом разработки. Если я на продакшен выбрал "разработка1", сформировал файл обновлений. Залил этот файл на тестовый сервак и там сделал некие изменения. Мне также само теперь и на тестовом серваке нужно сделать файл обновлений? В какой канал разработки нужно заливать на продакшн? Тот же "разработка1" ?

Сообщение отредактировал wondertalik: 08 Июль 2014 - 19:03


#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Июль 2014 - 09:44

Цитата

Какие мои действия, как программиста, чтобы безболезненно можно было заливать изменения?

В первую очередь - включить разные каналы разработки у всех разработчиков перед началом каких-либо изменений. На оригинале ("продакшн кб") можно оставить 0 уровень ("пользовательский").

Цитата

Конфигурация в которой идет разработка и продакшн, должны иметь за начальную точку один и тот же бэкап?

На оригинале вообще не требуется каких-либо точек сохранять, т.к. там вы не формируете файла обновлений. Там создается начальный бэкап только для его передачи на стороннюю разработку. После разработки "на стороне" он используется (там же, "на стороне") в качестве базы для поиска изменений, которые затем и передаются обратно в оригинальную установку. На оригинале вы только заливаете результат. При этом он автоматом объединится с изменениями в самом оригинале, если таковые за это время были и если нет коллизий (например, одновременно поменяли имя поля - в этом случае просто отметите одно из двух изменений) и конфликтов (но предварительный выбор разных каналов разработки как раз полностью избавляет от них).

Цитата

Непонятно с каналом разработки. Если я на продакшен выбрал "разработка1", сформировал файл обновлений. Залил этот файл на тестовый сервак и там сделал некие изменения. Мне также само теперь и на тестовом серваке нужно сделать файл обновлений? В какой канал разработки нужно заливать на продакшн? Тот же "разработка1" ?

В принципе уже всё должно быть ясно из вышеизложенного, но повторюсь:
  • Зачем вам на оригинале создавать файл обновлений? Куда вы его передавать собрались? Это все равно что собирать чемодан, чтобы пойти к самому себе в гости. Такая же глупость.
  • Еще раз: каналы разработки должны быть РАЗНЫМИ и ставить их нужно ДО начала раздельной разработки. Фраза "заливать в канал разработки" бессмысленна, никаких "синхронизаций" по каналу перед заливкой делать не нужно! Это в лучшем случае просто ни на что не повлияет.


#11 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 156 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 11 Июль 2014 - 02:36

Цитата

Зачем вам на оригинале создавать файл обновлений? Куда вы его передавать собрались? Это все равно что собирать чемодан, чтобы пойти к самому себе в гости. Такая же глупость.
Вполне возможно. Спасибо.

Сообщение отредактировал wondertalik: 11 Июль 2014 - 02:38


#12 aleks.goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 17 Июль 2014 - 13:15

Подскажите пожалуйста. имеется 2 локальных системы на которых имеются разные конфигурации.Я хочу создать файл обновления на одной и загрузить на вторую. Если я загружу файл обновления конфигурации, то не потеряю ли я наработки на ней. Каналы до изменения конфигураций выбраны не были.

Сообщение отредактировал aleks.goodcolor: 17 Июль 2014 - 13:15


#13 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Июль 2014 - 13:33

Цитата

имеется 2 локальных системы на которых имеются разные конфигурации

Это ключевой момент. Система обновления конфигураций не предназначена для слияния разных конфигураций. До начала изменений у вас должны быть абсолютно одинаковые конфигурации на обоих машинах.

#14 aleks.goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 17 Июль 2014 - 13:38

Допустим если взять чистую конфигурацию и на нее уже попробовать установить файл обновлений - то так будет работать?

Цитата

До начала изменений у вас должны быть абсолютно одинаковые конфигурации на обоих машинах.
Это не понял, до начала изменений у нас и были одинаковые конфигурации.

#15 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Июль 2014 - 13:51

Тогда почему пишете, что конфигурации разные? Так и надо было сказать, что была одна конфигурация, но были внесены разные изменения. В этом случае, у вас должен быть бэкап на тот период, когда была еще общая конфигурация, так сказать единая точка, от которой потом пошли разные ветки. Именно на основе этого бэкапа можно будет создать файл обновлений. Это во-первых, во-вторых, как я уже сказал, нужно включать разные каналы разработки ДО начала изменений (т.е. на момент создания базового бэкапа), т.к. даже если вы сейчас создадите файл обновлений и попытаетесь обновить им другую ветку, то у вас могут пойти конфликты по id (например, и там и там были созданы разные таблицы, а id у них один).

В случае, если у вас нет базового бэкапа, или не были разделены каналы, то это по сути уже тоже самое слияние разных конфигураций, которое не поддерживается, как я уже сказал.

#16 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Июль 2014 - 13:55

Основным конечно является разделение каналов, т.к. даже если делать с нуля две совершенно разные конфигурации, но изначально на разных каналах, то их теоретически можно слить, используя в качестве базы пустую конфигурацию. Хотя, обновление все же на то и обновление, чтобы обновлять, а не сливать.

#17 aleks.goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 17 Июль 2014 - 14:01

в целом понятно, буду на чистую ставить тогда и потом уже внесу изменения, которые были на второй конфигурации вручную

#18 Aktubar

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 07 Октябрь 2015 - 12:13

Добрый день!
Не зная о механизме каналов разработки, внес изменения в конфигурацию. Т.е. канал разработки установлен "Пользовательский".
Возможны ли коллизии, конфликты или потеря данных при автоматическом обновлении ревизии?
А при обновлении версии?

#19 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 687 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 07 Октябрь 2015 - 12:25

Обновление ревизии не имеет никакого отношения к каналам разработки. Ревизия - это обновление движка программы, а каналы разработки относятся к изменениям/обновлениям конфигураций. Аналогично по обновлениям версий.

Резюмируя: любое обновление движка (ревизии или версии) никак не соотносится с вашими изменениями в конфигурации. Теоретически конфликты или ошибки могут быть (например, из-за изменений в работе функций, хотя мы старается этого избегать), но каналы разработки тут точно никакой роли не играют.

#20 Aktubar

    Участник

  • Пользователи
  • PipPip
  • 16 сообщений

Отправлено 07 Октябрь 2015 - 12:35

Хорошо, спасибо, это я понял.
Но получается, что, например, структура и типы полей конфигурации не изменяются с момента создания стандартной конфигурации.
Или сама конфигурация обновляется отдельно?

Сообщение отредактировал Aktubar: 07 Октябрь 2015 - 12:36






Количество пользователей, читающих эту тему: 9

0 пользователей, 9 гостей, 0 анонимных