xalet
Лучше идти от сути и от причины возникновения конфликтов. Конфликт означает то, что в один и тот же док, произвелась запись более 1-го раза. Всё ещё не так плохо, когда в доке менялись разные поля, тогда можно было бы использовать Merge Conflicts, но такой гарантии дать никто не может (что всегда будут меняться разные поля), поэтому этот вариант отпадает - Lotus, если менялись те же поля, затрёт содержимое ранее изменённого дока более поздним. Это вроде бы и хорошо, но неправильно - допустим один добавил в поле одни телефоны, другой - другие, результат - потеря информации.
Поэтому генерация конфликтов - это самый верный способ сохранения информации.
Если о возникновении конфликтов будет уведомлять админа агент, то это никак не спасает, т.к. админ может (а в большинстве случаев так и бывает) не иметь должной квалификации, чтобы определить, которая информация является правильной и актуальной; некоторые же документы вообще не предполагают того, чтобы их смотрел админ...
Т.е. что мы имеем (условия задачи):
- надо сохранять информацию;
- надо сохранить возможность изменений документов в репликах разных серверов;
и при этом как-то обойтись без конфликтов...
Скажу честно - это самая интересная задача, которая стоит перед проектировщиком приложений под Lotus, и много тут никто не расскажет, т.к. это как раз и есть сердце любой серьёзной системы, построенной на LND.
В кратце:
Есть 2 пути решения:
1. Анализ конфликтов (даже программно).
2. Недопущение конфликтов. Ключ к решению этой задачи в ограничении, накладываемом механизмом конфликтов - необходимо сделать так, чтобы документ физически изменялся только в одном месте.
Есть 2 основных варианта недопущения их возникновения; условно их назовём так:
1. Архитектурный (если рассматривать в лоб, то это создание новых версий документов).
2. Программный (тут полёт для фантазии сумасшедший...).
Обычно это микс из этих 2-х вариантов (исходя из достоинств, недостатков вариантов и личных предпочтений).
В принципе инфа здесь вся, а дальше только шурупать головой
Скажу только, что на Лотус написать серьёзную систему без конфликтов можно. Главное - не стараться написать подобие EPR, когда нужны гарантированные изменения нескольких документов сразу (типа Commit). В пределах одного сервера это мы проходили... - оно того не стоит. Каждая система должна решать те задачи, для которых она предназначена.