Платформа 3V/Обновления/Установка обновлений: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 8 промежуточных версий 3 участников)
Строка 1: Строка 1:
 
{{DISPLAYTITLE:Установка обновлений}}
 
{{DISPLAYTITLE:Установка обновлений}}
Используется метод swagger/index.html?urls.primaryName=Updates#/Updates/Updates_ApplyUpdate<br>
+
Установить обновления можно установить двумя способами - с помощью встроенного менеджера обновлений и методом сваггера.
 +
 
 +
==Менеджер обновлений==
 +
 
 +
Сервис расположен внизу правой боковой панели инструментов навигатора, его пиктограмма - коробка со стрелочками.
 +
[[Файл:Screenshot 2021-04-23 at 19.18.32.png|мини|слева]]
 +
После ее нажатия необходимо выбрать файл с [[Платформа_3V/Обновления/Формирование обновлений|''' сформированным обновлением''']] с типом файла ".3vu".<br>
 +
Для объектов типа "Справочник" можно указать дополнительные действия: <br>
 +
- Не изменять элементы, <br>
 +
- Заменить все элементы, <br>
 +
- Копировать с заменой, <br>
 +
- Только добавлять новые элементы,<br>
 +
- Только обновлять существующие элементы.<br>
 +
[[Файл:Screenshot 2021-04-24 at 22.30.39.png|мини|без|Действия с обновлением объектов "Справочник"]]
 +
<br><br><br><br><br><br>
 +
Обновления уставятся в корень репозитория, их необходимо перенести в нужную папку.<br><br>
 +
 
 +
==Метод сваггера==
 +
Используется метод swagger/index.html?urls.primaryName=Updates#/Updates/Updates_ApplyUpdateJson<br>
  
 
При применении обновления можно не указывать никакие настройки, тогда все объекты из обновления будут установлены с настройками по умолчанию, т.е. без данных, без прав на элементы и поиск существующих объектов будет осуществляться строго по Guid.
 
При применении обновления можно не указывать никакие настройки, тогда все объекты из обновления будут установлены с настройками по умолчанию, т.е. без данных, без прав на элементы и поиск существующих объектов будет осуществляться строго по Guid.
Строка 14: Строка 32:
 
<syntaxhighlight lang="JSON" line>
 
<syntaxhighlight lang="JSON" line>
 
{
 
{
  "id": 701,
+
"ApplyUpdateSettings": [
  "dataOptions": 3,
+
{
  "clearDataBeforeUpdate": false,
+
"id": 701,
  "DictionaryPermissionsOptions": {
+
"dataOptions": 3,
    "AddNewPermissions": true,
+
"clearDataBeforeUpdate": false,
    "PermissionsOptions": 0,
+
"DictionaryPermissionsOptions": {
    "ClearBeforeUpdate": true
+
"AddNewPermissions": true,
  },
+
"PermissionsOptions": 0,
  "DictionaryElementsPermissionsOptions": {
+
"ClearBeforeUpdate": true
    "AddNewPermissions": true,
+
},
    "PermissionsOptions": 0,
+
"DictionaryElementsPermissionsOptions": {
    "ClearBeforeUpdate": true
+
"AddNewPermissions": true,
  },
+
"PermissionsOptions": 0,
  "discriminator": "DictionaryApplyUpdateSettingsDto"
+
"ClearBeforeUpdate": true
 +
},
 +
"discriminator": "DictionaryApplyUpdateSettingsDto"
 +
}
 +
]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

Текущая версия на 10:41, 5 мая 2021

Установить обновления можно установить двумя способами - с помощью встроенного менеджера обновлений и методом сваггера.

Менеджер обновлений

Сервис расположен внизу правой боковой панели инструментов навигатора, его пиктограмма - коробка со стрелочками.

Screenshot 2021-04-23 at 19.18.32.png

После ее нажатия необходимо выбрать файл с сформированным обновлением с типом файла ".3vu".
Для объектов типа "Справочник" можно указать дополнительные действия:
- Не изменять элементы,
- Заменить все элементы,
- Копировать с заменой,
- Только добавлять новые элементы,
- Только обновлять существующие элементы.

Действия с обновлением объектов "Справочник"







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

Метод сваггера

Используется метод swagger/index.html?urls.primaryName=Updates#/Updates/Updates_ApplyUpdateJson

При применении обновления можно не указывать никакие настройки, тогда все объекты из обновления будут установлены с настройками по умолчанию, т.е. без данных, без прав на элементы и поиск существующих объектов будет осуществляться строго по Guid. Если на схемах объекты имеют разные Guid (для старых схем), но совпадающие идентификаторы, то можно задать опцию TryMapByKeyAndType (по умолчанию false).

1 {
2   "tryMapByKeyAndType": true
3 }

В таком случае будет происходить поиск по идентификатору + контроль на тип объекта.

Для справочников доступны расширенные настройки установки объектов:

 1 {
 2 	"ApplyUpdateSettings": [
 3 		{
 4 			"id": 701,
 5 			"dataOptions": 3,
 6 			"clearDataBeforeUpdate": false,
 7 			"DictionaryPermissionsOptions": {
 8 				"AddNewPermissions": true,
 9 				"PermissionsOptions": 0,
10 				"ClearBeforeUpdate": true
11 			},
12 			"DictionaryElementsPermissionsOptions": {
13 				"AddNewPermissions": true,
14 				"PermissionsOptions": 0,
15 				"ClearBeforeUpdate": true
16 			},
17 			"discriminator": "DictionaryApplyUpdateSettingsDto"
18 		}
19 	]
20 }

id - идентификатор объекта с исходной схемы.

dataOptions - опция применения данных. Допустимы следующие значения:

Значение Название Определение
0 None Не применять данные
1 AddNewElements Добавлять новые элементы
2 ChangeExistElements Изменять существующие элементы
3 AddNewAndChangeExistElements Добавлять новые и обновлять существующие

clearDataBeforeUpdate - очищать все существующие данные в процессе установки обновления.

DictionaryPermissionsOptions - применение прав на все элементы справочника.

DictionaryElementsPermissionsOptions - применение прав на конкретные элементы справочника.

DictionaryPermissionsOptions и DictionaryElementsPermissionsOptions имеют общую структуру:

AddNewPermissions - Признак добавления новых прав доступа ClearBeforeUpdate - Признак отчистки прав перед установкой обновления PermissionsOptions - Настройки применения прав к уже существующих правам. Допустимы следующие значения:

Значение Название Определение
0 None Не применять права
1 Merge Объединение прав доступа. Если права для субъекта были, то права объединятся с существующими.
2 ChangePermissions Изменение существующих прав.