Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Что лучше, блокировать документ пользователем или нет? / 25 сообщений из 33, страница 1 из 2
09.06.2005, 12:16
    #33109060
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Т.е. сказать при попытке открытия, что документ занят тем-то, или позволить открыть его и модифицировать, но при сохранении сообщить, что документ был изменен.
В первом случае необходимо будет создать реестр логических блокировок документов. И каким-то чистильщиком освобождать документы, блокировки с которых были не сняты по тех. причинам.
Во втором непонятно, что делать дальше. Ну установил я факт изменения документа, а что делать с пользователем, который что-то наворотил и хочет это сохранить? Заставить перегрузить инфо с сервера, так это он так долго может карячиться.?! Позволить сохранить поверх измененного - тогда может потеряться что-то важное?!
...
Рейтинг: 0 / 0
09.06.2005, 12:30
    #33109115
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
iLLer пишет:
> Т.е. сказать при попытке открытия, что документ занят тем-то,

Зачем блокировать при открытии? Может его просто хотят посмотреть?
Блокировать надо только при попытке редактирования. Кроме блокирования
при начале редактирования, надо еще обязательно проверить, а не изменил
ли кто-нибудь документ за то время, пока его смотрели.

> или
> позволить открыть его и модифицировать, но при сохранении сообщить, что
> документ был изменен.

А вот этого делать КАТЕГОРИЧЕСКИ НЕЛЬЗЯ!!! Некоторые документы могуть
правиться ОЧЕНЬ долго. Правил человек накладную 1 час, пытается
сохранить - а ему говорят "пшел нафиг". Я бы после этого применил
рукоприкладство к разработчику.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
09.06.2005, 18:13
    #33110397
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Александр Гoлдун
Кроме блокирования
при начале редактирования, надо еще обязательно проверить, а не изменил
ли кто-нибудь документ за то время, пока его смотрели.
Для того, чтобы определить изменился документ или нет что нужно сделать? Держать поле "последнее изменение" и сравнивать его содержимое перед блокировкой? А без такого поля нельзя?
...
Рейтинг: 0 / 0
09.06.2005, 19:33
    #33110513
ertsertwertwert
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
iLLer Александр Гoлдун
Кроме блокирования
при начале редактирования, надо еще обязательно проверить, а не изменил
ли кто-нибудь документ за то время, пока его смотрели.
Для того, чтобы определить изменился документ или нет что нужно сделать? Держать поле "последнее изменение" и сравнивать его содержимое перед блокировкой? А без такого поля нельзя?

не редактировать непосредственно документ, а редактировать его копию и сохранять историю изменений
...
Рейтинг: 0 / 0
09.06.2005, 20:17
    #33110546
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
iLLer пишет:

> Для того, чтобы определить изменился документ или нет что нужно сделать?
> Держать поле "последнее изменение" и сравнивать его содержимое перед
> блокировкой?

Именно так.

>А без такого поля нельзя?

А гланды удалять через анальное отверстие можно? Можно. Можно к примеру
вести в отдельной таблице коды документов и время изменения. Но зачем?
Чем не устраивает хранение времени последнего редактирования в основной
таблице документа?
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
10.06.2005, 12:26
    #33111584
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Александр Гoлдун
Чем не устраивает хранение времени последнего редактирования в основной
таблице документа?

Устраивает. Следующий вопрос, а что делать с наполнением документа?
Для каждой позиции хранить свой таймштамп или использовать один из "шапки"?
...
Рейтинг: 0 / 0
10.06.2005, 12:55
    #33111693
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
iLLer пишет:

>> Чем не устраивает хранение времени последнего редактирования в основной
>> таблице документа?
> Устраивает. Следующий вопрос, а что делать с наполнением документа?
> Для каждой позиции хранить свой таймштамп или использовать один из "шапки"?

Зачем для каждой позиции?
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
10.06.2005, 13:13
    #33111757
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Ну незачем. Так спросил, а вдруг кто-то так делает?!)
...
Рейтинг: 0 / 0
15.06.2005, 13:09
    #33117235
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
> Т.е. сказать при попытке открытия, что документ занят тем-то, или позволить
> открыть его и модифицировать, но при сохранении сообщить, что документ был
> изменен.

Поинтересуйтесь, как работает subversion или cvs.
...
Рейтинг: 0 / 0
15.06.2005, 13:15
    #33117259
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
guest_20040621> Т.е. сказать при попытке открытия, что документ занят тем-то, или позволить
> открыть его и модифицировать, но при сохранении сообщить, что документ был
> изменен.

Поинтересуйтесь, как работает subversion или cvs.
Не знаю, как они работают, но аналогичные продукты VSS и Team Coherence по-умолчанию не позволяют сделать файлу несколько CheckOut одновременно. Хотя там есть возможность организовать такое и сливать изменения.
Но это не важно. Не вижу близких аналогий. Может есть все-таки смысл поинтересоваться особенностями работы исполнителей на местах?
...
Рейтинг: 0 / 0
15.06.2005, 14:37
    #33117516
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Мой вариант оптимистического блокировочника для веб-приложения:

Пользователь открывает документ-форму на изменение.
При открытии на изменение система выдает контракт (некий идентификатор) пользователю на работу с документом в течении n минут. Контракт хранится в базе с параметрами: id-контракта, id заблокированного объекта, Таймаут в секундах, Время завершения контракта.

Форма редактирования документа содержит скрытый фрейм, который по setTimeout обновляется.
Скрытый фрейм имеет форму или location вида hxxp://ваш_сайт/страница_продления_контракта.aspx?id_контракта=xxxxxxx
То есть по таймауту обновляется страница в скрытом фрейме, которая продлевает контракт на работу с документом. Страница продления возвращает статус операции продления в div-е, ну и как следствие попутно характеризует наличие связи с сервером.

В базе - job который очищает блокировки с интервалом с поправкой на таймаут. Естественно в job-е при обходе проверяется истек ли срок действия контракта.
При сохранении документа, контракт удаляется.
...
Рейтинг: 0 / 0
15.06.2005, 15:05
    #33117595
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
> Не знаю, как они работают

Значит, тоже поинтересуйтесь.

> аналогичные продукты VSS и Team Coherence

Чему аналогичные?
...
Рейтинг: 0 / 0
15.06.2005, 16:54
    #33117909
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
guest_20040621> Не знаю, как они работают

Значит, тоже поинтересуйтесь.

С какой целью? Я имею достаточное общее представление о них.
guest_20040621
> аналогичные продукты VSS и Team Coherence
Чему аналогичные?
Аналогичные продуктам, решающим те же задачи: контроль версий, совместная работа над исходниками и т.п.

Кстати, какое отношение это имеет к задаче управления совместной работой над документами в учетной системе? Тут немножко отличающаяся специфика. Я могу представить себе одновременную работу двух программистов над одним исходным файлом. Например правка двух разных функций, добавление новых и т.п. А вот совместную работу двух человек над одним целостным документом, например накладной, не представляю
...
Рейтинг: 0 / 0
15.06.2005, 17:33
    #33118022
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
авторА вот совместную работу двух человек над одним целостным документом, например накладной, не представляю
Я тоже не понимаю, но вот некоторые авторы, типа tigra и parklin, на моей памяти пробовали убеждать в обратном. В частности приводили пример, как запонение накладной/счета в несколько сот позиций несколькими людьми.
...
Рейтинг: 0 / 0
15.06.2005, 17:52
    #33118057
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
> С какой целью?

Чтобы вот.

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

Хех... да так себе аналогичные. Во-первых, cvs - открытый продукт (т. е. можно посмотреть исходники), во-вторых, проектов под cvs - масса (т. е. баги и проблемы хорошо известны), в третьих - в контексте обсуждения - к cvs есть веб-интерфейс (и не один; с исходниками опять же).

> Кстати, какое отношение это имеет к задаче управления совместной работой над
> документами в учетной системе?

Непосредственное. Один из вариантов: достаточно реализовать интерфейс, собственно контролем версий будет заниматься продукт, специально для этого написанный, а не трехколесный велосипед с костылями.

> А вот совместную работу двух человек над одним целостным документом,
> например накладной, не представляю

Кроме накладных, по-Вашему, документов не существует? ОК, вот пример из жизни: есть договор, с которым работают юрист и менеджер одновременно.
...
Рейтинг: 0 / 0
15.06.2005, 18:06
    #33118082
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
guest_20040621> С какой целью?
> Кстати, какое отношение это имеет к задаче управления совместной работой над
> документами в учетной системе?

Непосредственное. Один из вариантов: достаточно реализовать интерфейс, собственно контролем версий будет заниматься продукт, специально для этого написанный, а не трехколесный велосипед с костылями.

Аналогия велосипеда с костылями мне почему-то приходит в голову именно по отношению к учетной системе, переделанной из cvs.
guest_20040621
> А вот совместную работу двух человек над одним целостным документом,
> например накладной, не представляю

Кроме накладных, по-Вашему, документов не существует?

Существуют, конечно! Но вот если представить одновременную правку платежки двумя людьми, то получится как в анекдоте:
- Это правда, что Изя в спортлото тысячу рублей выиграл?
- Правда, только не тысячу, а сто. Не в спортлото, а в преф, и не выиграл, а проиграл
guest_20040621
ОК, вот пример из жизни: есть договор, с которым работают юрист и менеджер одновременно.
Ну, глядя на доступные моему изучению бизнес-процессы, одновременной работы с договорами я не вижу. Поэтапную вижу, а одновременной - нет. Ну можно еще назвать единым документом собственно текст договора плюс приложение, например с указанием цен, но это пример с натяжкой.
...
Рейтинг: 0 / 0
16.06.2005, 13:18
    #33119355
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
> Аналогия велосипеда с костылями мне почему-то приходит в голову именно по отношению
> к учетной системе, переделанной из cvs.

А кроме "переделывания" вариантов нет? Слово "интеграция" - оно как, не вызывает напряжения? Дружище, давным-давно обычные нормальные _юзеры_ (ни разу не девелоперы) в полный рост используют черепаху (есть такой клиент для Subversion) для своих задач. Новость для Вас? Какие нах велосипеды? Н-да...

> Но вот если представить одновременную правку платежки двумя людьми,

Я что-то не заметил, что раздел обсуждения называется "программулины для бухгалтерского учета". Плохо читал? ОК, уточняю специально для Вас: для бухгалтерских документов полноценная версионность в принципе не нужна. В силу их 1. природы, 2. примитивности.

> Ну, глядя на доступные моему изучению бизнес-процессы, одновременной работы с договорами я не вижу.

Вы тАвАриСТЧу mir не родственник, часом? - у того похожая аргументация: я с этим не сталкивался, значит, это никому не нужно.

По существу возражения есть?
...
Рейтинг: 0 / 0
16.06.2005, 16:12
    #33119971
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Уважаемые! Вы конечно веселые ребята, но прошу не отклоняться от темы "Блокирование документа в информационной системе".
Если по существу нечего говорить, лучше промолчать. А то уже какой-то треп пошел.
Вывод напрашивается сам собой: "Блокировать".
...
Рейтинг: 0 / 0
16.06.2005, 16:17
    #33119987
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
guest_20040621> Аналогия велосипеда с костылями мне почему-то приходит в голову именно по отношению
> к учетной системе, переделанной из cvs.

А кроме "переделывания" вариантов нет? Слово "интеграция" - оно как, не вызывает напряжения?

Вызывает сомнение в определенных случаях. Не все можно просто и красиво интегрировать.
guest_20040621
> Но вот если представить одновременную правку платежки двумя людьми,

Я что-то не заметил, что раздел обсуждения называется "программулины для бухгалтерского учета". Плохо читал? ОК, уточняю специально для Вас: для бухгалтерских документов полноценная версионность в принципе не нужна. В силу их 1. природы, 2. примитивности.

Есть великое множество небухгалтерских документов, которым тоже не нужны механизмы одновременной работы. Но лучше спросить у автора исходного топика, какие документы он имел в виду. У меня тоже есть документы, которые могут правиться одновременно, но они сложносоставные и достаточно четко внутри подразделяются на сущности. Т.е. технически (да и логически в контексте БП) их можно рассматривать как объединенную по какому-либо признаку совокупность документов.
guest_20040621
> Ну, глядя на доступные моему изучению бизнес-процессы, одновременной работы с договорами я не вижу.

Вы тАвАриСТЧу mir не родственник, часом? - у того похожая аргументация: я с этим не сталкивался, значит, это никому не нужно.

По существу возражения есть?
Не знаю никакого mir. По существу чего? И где я сказал, что это никому не нужно? Возражаю я только от притянутого за уши, неоправданного усложнения системы.
...
Рейтинг: 0 / 0
16.06.2005, 16:19
    #33119994
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Вариант1 (простой):
блокировать, но оставлять возможность просмотра без сохранения.

Вариант2 (сложный):
блокировать, оставлять возможность редактировать, при сохранениии проверять
по timestamp/guid был ли документ изменен другим пользователем, если был
показывать новую версию документа в отдельном окне или закладке, вывести
диалог с возможностью выбора: сохранить вашу версию, сохранить версию
другого пользователя, отмена.


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
16.06.2005, 16:22
    #33120008
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
iLLerУважаемые! Вы конечно веселые ребята, но прошу не отклоняться от темы "Блокирование документа в информационной системе".
Если по существу нечего говорить, лучше промолчать. А то уже какой-то треп пошел.
Вывод напрашивается сам собой: "Блокировать".
Модераторы тут есть и треп вполне в рамках темы. Но для того, чтобы треп был более по существу, перечисли, пожалуйста, документы, которые имелись в виду. И какие-нибудь особо специфические моменты, если таковые имеются.
Тогда можно будет более обоснованно ответить, блокировать или организовывать совместный доступ, да еще и с контролем версий.
...
Рейтинг: 0 / 0
16.06.2005, 16:26
    #33120026
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
У меня тоже есть документы, которые могут правиться одновременно, но они
сложносоставные и достаточно четко внутри подразделяются на сущности. Т.е.
технически (да и логически в контексте БП) их можно рассматривать как
объединенную по какому-либо признаку совокупность документов.

Я ввожу в данном контексте понятие "пакет документов". При этом можно
блокировать пакет и редактировать весь пакет например в одной форме если
интерфейс это позволяет, либо блокировать документ из пакета и работать с
каждым документом отдельно. Т.е. получается что пакет это тоже как бы
документ, может иметь свою маршрутизацию, можно поставить подписи на весь
пакет, но вложенные в него документы могут редактироваться отдельно, при чем
к отдельным документам пакета различные пользователи имеют различные права
доступа.


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
16.06.2005, 16:38
    #33120073
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Роман Дынник
Вариант1 (простой):
блокировать, но оставлять возможность просмотра без сохранения.

Вариант2 (сложный):
блокировать, оставлять возможность редактировать, при сохранениии проверять
по timestamp/guid был ли документ изменен другим пользователем, если был
показывать новую версию документа в отдельном окне или закладке, вывести
диалог с возможностью выбора: сохранить вашу версию, сохранить версию
другого пользователя, отмена.


Всем спасибо, я получил достаточно мнений на свой вопрос.
Я пока сам не знаю, что сгодится в моем варианте. Остановлюсь пока на "блокировании", если практика покажет необходимость в другом - нарастим.
...
Рейтинг: 0 / 0
16.06.2005, 17:19
    #33120233
Vadim_Maximov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
Кстати, СУБД случаем у вас не Oracle? А то и изобретать ничего не придется...
...
Рейтинг: 0 / 0
16.06.2005, 17:22
    #33120241
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что лучше, блокировать документ пользователем или нет?
> Есть великое множество небухгалтерских документов, которым тоже не нужны
> механизмы одновременной работы.

С этим никто не спорил.

> они сложносоставные и достаточно четко внутри подразделяются на сущности.

Не слишком понятна логика перехода от документов к сущностям. Поясните, пожалуйста, какая здесь связь.

> Т.е. технически (да и логически в контексте БП) их можно рассматривать как
> объединенную по какому-либо признаку совокупность документов.

Связанные документы - это imho абсолютно технический вопрос.

> Возражаю я только от притянутого за уши, неоправданного усложнения
> системы.

Внимательно выслушаю Ваши предложения по контролю версий.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Что лучше, блокировать документ пользователем или нет? / 25 сообщений из 33, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]