Re[5]: Оформление диалога редактирования данных
От: adontz Грузия http://adontz.wordpress.com/
Дата: 15.04.08 18:06
Оценка:
Здравствуйте, grosborn, Вы писали:

G>В общем случае пользователь не может сравнить две версии и сказать, какая корректная.


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

G>Вот представь: открыл ты документ, поправил дату, сохраняешь — а она тебе: уважаемый пользователь, вот тут у меня образовались две версии документа, какую выберешь??? А документ — вторая часть гражданского кодекса


Ну править кодекс будет юрист, так что он разберётся что правильнее. Потом проблема абсолютно надуманная. Все пользователи VCS пользуются тем или иным видом Merge и не плачут.

>> G>Зачем нам устаревшая?

>> Затем что понял — был не прав
G>Нет, не так.

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

G>Более правильным является возможность выбора либо свей уже отредактированной версии, либо сохраненной другим пользователем. Но по результату записи документа другим пользователем, версия по состоянию на момент чтения данных формы, а как следствие и текущая отредактированная версия уже могут стать некорректными. Например — необратимые операции удаления объекта или операции удаления ссылок из текущего объекта и удаления зависящих объектов. поэтому собственно и остается один вариант — Обновить.


Это далеко не единственный вариант. Просто правильный вариант всегда сложнее. Скажем объекты можно никогда не удалять, а только помечать как удалённые. Тогда новая, ссылающаяся на ранее удалённые объекты, версия запросто "оживит" их записью одного bool. Ну и т. д.

G>Поэтому лучше не заморачиваться и делать стандартно.


Ну вот пример с объектами выше взят из Active Directory, где БД распределённая и ни один объект сразу не удаляется. Это считается стандартно? Вообще что значит стандартно?
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.