Блокировка сущностей
В продукте предполагается работа в многопользовательском режиме, то есть одновременно с одним и тем же разделом и объектом могут работать несколько пользователей. Вследствие чего разработан механизм блокировки редактирования сущности текущим пользователем, которая взята другим пользователем на редактирование.
| Под редактированием подразумевается внесение изменений хотя бы в одно из полей свойств сущности. |
Блокировка разделяется на 2 типа:
-
пессимистичная — полная блокировка редактирования сущности, при которой невозможно начать редактирование ее свойств, если другой пользователь в данный момент ее редактирует.
Записи о блокировке таких сущностей отображаются в разделе «Заблокированные записи».
Список сущностей, к которым применяется пессимистичная блокировка:
-
операции в разделе «Настройки» (кроме «Загрузка формул Saltstack»);
-
оптимистичная — частичная блокировка редактирования сущности. В случае, если происходит одновременное редактирование сущности, преимущество в сохранении получает тот пользователь, который первым закончил операцию и нажал на кнопку Сохранить.
В этом случае, когда второй пользователь закончит редактирование и нажмет на кнопку Сохранить, ему будет показано сообщение о том, что сущность была изменена, и откроется форма редактирования уже измененной первым пользователем сущности. Все изменения второго пользователя не сохраняются. Аналогично происходит при редактировании сущности одним и тем же пользователем, но на разных вкладках.
При удалении первым пользователем редактируемой сущности, при попытке сохранения изменений в сущности, сделанных вторым пользователем, происходит переход на список сущностей с уведомлением об удалении данной сущности.
Список сущностей, к которым применяется оптимистичная блокировка: