-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from worksolutions/master
Актуализация
- Loading branch information
Showing
27 changed files
with
167 additions
and
5 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
Работа с базой знаний | ||
===================== | ||
|
||
## Терминалогия | ||
|
||
### Fork | ||
Клон любого репозитория, являющийся самостоятельным репозиторием, имеющим ссылку на репозиторий, который был | ||
источником для клона. | ||
|
||
### Pull request | ||
Запрос на слияние (merge) изменений. Может производится между как ветками одного репозитория так и между ветками | ||
разных репозиториев (между форком и его источником, например). | ||
|
||
## Процесс добавления изменений | ||
|
||
Для добавления изменений в базу знаний требуется произвести следующую последовательность действий: | ||
|
||
1. Создаем свой `fork` репозитория базы знаний | ||
2. Делаем изменения | ||
3. Отправляем `pull request` в базу знаний | ||
|
||
Чтобы получить изменения, сделанные другими людьми в ваш `fork` вам нужно отправить `pull request` | ||
из базы знаний в свой `fork` | ||
|
||
[Дополнительная информация по работе с форками](https://help.github.com/articles/fork-a-repo/) | ||
|
||
## Создание статьи | ||
|
||
Все файлы статей располагаются в директории `articles`. Каждая статья представляет собой отдельную | ||
директорию с файлом статьи в формате [markdown](https://github.com/DsXack/knowbase#user-content-Форматирование-текста). В этой директории можно располагать дополнительные файлы, такие | ||
как изображения, используемые в статье и другие. __На главной страницы базы знаний должна быть ссылка на вашу инструкцию__. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
Модуль миграций | ||
=============== | ||
|
||
### Установка и настройка | ||
|
||
Для установки в адресную строку сайта добавить: | ||
|
||
``` | ||
/bitrix/admin/update_system_partner.php?addmodule=ws.migrations | ||
``` | ||
|
||
При установке модуля необходимо определить основные параметры, такие как: путь к каталогу миграций. В этом каталоге будут создаваться файлы для поддержки (импорта/экспорта) актуализации схемы данных. Лучше всего каталог сделать версионируемым, в противном случае актуальность каталога необходимо будет обеспечивать в ручном режиме при помощи копирования фалов, учитывая все версии проекта. | ||
|
||
###### Установка параметров при установке модуля | ||
|
||
![Рис 1. Установка параметров при установке модуля.](Установка параметров при установке модуля.png) | ||
|
||
В процессе установки создаются ссылки по всем записям мигрирующих сущностей. | ||
|
||
После установки модуля в настройках можно активировать учет миграций разделов инфоблоков. Так как эта сущность не всегда нуждается в `мигрировании` по умолчанию она отключена. | ||
|
||
###### Настройка модуля | ||
|
||
![Рис 2. Настройка модуля.](Настройка модуля.png) | ||
|
||
Активирование тестов в настройках необходимо только при работе над реализацией функционала непосредственно модуля, активирование этого флага непосредственно в проекте может привести к непредсказуемым результатам. | ||
|
||
### Начало работы | ||
|
||
Для начала успешного применения модуля миграций в проекте необходимо произвести инициализацию начального состояния. В первую очередь нужно определить какая версия проекта является наиболее актуальной. К примеру для проекта, который находится в разработке наиболее актуальной версией является одна из версий разработчиков, либо демонстрационная. В проекте, которому обеспечивается техническая поддержка - наоборот, наиболее актуальной можно назвать `production` версию. | ||
|
||
##### Способы инициализации в зависимости от приведенных выше ситуаций: | ||
|
||
1. ##### Импорт схемы данных. | ||
|
||
Использовать в случае развертывания на `production` сервере разработанного проекта. Необходимо произвести экспорт миграций актуальной версии разработчика на странице управления модулем `Экспорт миграций`. | ||
|
||
###### Экспорт схемы миграций | ||
|
||
![Рис 3. Экспорт схемы миграций.](Экспорт схемы миграций.png) | ||
|
||
Полученную схему загрузить на `production` версию проекта на странице импорт миграций. Обязательно указать флаг “Перенос только схемы” и загрузить файл с актуальной схемой. При этом должны создаться необходимые инфоблоки проекта, со списком ссылок. | ||
|
||
###### Импорт схемы данных миграций | ||
|
||
![Рис 4. Импорт схемы данных миграций.](Импорт схемы данных миграций.png) | ||
|
||
2. ##### Использования дампа данных проекта. | ||
|
||
Даже при наличии данных у разработчиков, при подключении модуля миграций, рекомендуется использовать именно этот способ, т.к. является наиболее стабильным решением. Для этого необходимо сделать дамп данных проекта используя стандартные инструменты Битрикс (у источника дампа данных должен быть активирован модуль миграций) и применить его на версии разработчика. Важно: Сразу после применения дампа необходимо на странице импорта миграций активировать текущую версию, нажав для этого кнопку `Применить` (флаг `Перенос только схемы` должен быть | ||
неактивен). | ||
|
||
###### Произведение импорта в момент следующий за обновлением дампа данных. | ||
|
||
![Рис 5. Произведение импорта в момент следующий за обновлением дампа данных.](Произведение импорта в момент следующий за обновлением дампа данных.png) | ||
|
||
###### Что происходит в этом случае? | ||
|
||
В этом случае происходит обновление хэша текущей версии вместе с обновлением ссылок всех сущностей. | ||
|
||
### Как происходит учет изменений (фиксации в файлы) | ||
|
||
Учет изменений осуществляется при помощи обработки событий изменения предметной области, события регистрируются для каждого обработчика модуля (например есть обработчик миграций разделов информационных блоков). При этом обработчик обрабатывает только один тип сущности. | ||
|
||
При событии изменении данных вызываются определенные методы обработчика для создания нового снимка схемы данных, который помещается во вновь созданную фиксацию и сохраняется в файл (формат json). | ||
|
||
### Применение изменений | ||
|
||
Применение изменений осуществляется при анализе файлов фиксаций, вычисляются новые фиксации, извлекаются их данные и при помощи обработчиков которые сохраняли эти данные для фиксаций эти данные обновляют текущую схему. Важно понимать, что при создании новых сущностей сторонних версий создаются фиксации учета ссылок текущей версии, которые так же необходимо экспортировать синхронизировть файлы каталога миграций). | ||
|
||
###### Интерфейс применения миграций, т.е. изменений основанных на парралельных версиях проекта. | ||
|
||
![Рис 6. Интерфейс применения миграций, т.е. изменений основанных на парралельных версиях проекта.](Интерфейс применения миграций.png) | ||
|
||
Для более глубокого понимания применения изменений с учетом версионирования есть схема. | ||
|
||
### Откат изменений | ||
|
||
Любые изменения фиксаций журналируются. Сохраняются как новые данные, так и снимок созданный перед применением миграций. Таким образом существует возможность отката последнего обновления. Так же стоит отметить, что обновления устанавливаются пакетами и при применении обновлений сохраняется запись о пользователе установившем обновления и времени обновления. | ||
|
||
### Диаграммы работы модуля | ||
|
||
1. ###### Диаграмма классов | ||
|
||
![Диаграмма классов](Диаграмма классов.png) | ||
|
||
2. ###### Диаграмма последовательности (фиксация изменений) | ||
|
||
![Диаграмма последовательности (фиксация изменений)](Диаграмма последовательности (фиксация изменений).png) | ||
|
||
3. ###### Диаграмма последовательности (применение изменений) | ||
|
||
![Диаграмма последовательности (применение изменений)](Диаграмма последовательности (применение изменений).png) | ||
|
||
4. ###### Версионирование. Принцип определения версий | ||
|
||
![Версионирование. Принцип определения версий](Версионирование. Принцип определения версий.png) | ||
|
Binary file added
BIN
+41.2 KB
articles/Bitrix/Модуль миграций/Версионирование. Принцип определения версий.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+29.6 KB
.../Bitrix/Модуль миграций/Диаграмма последовательности (применение изменений).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+24.1 KB
...es/Bitrix/Модуль миграций/Диаграмма последовательности (фиксация изменений).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+84.5 KB
...играций/Произведение импорта в момент следующий за обновлением дампа данных.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+59.3 KB
articles/Bitrix/Модуль миграций/Установка параметров при установке модуля.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
Binary file not shown.