Мы храним файлы на сетевом сервере (Windows Server) для доступа к ним в команде.

Это хорошо работает с Microsoft Office - если я хочу открыть файл, который уже открыт другим пользователем, я получаю предупреждение и возможность открыть его только для чтения.

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

  • пользователь 1 открывает файл (назовем его версией "v1") и изменяет его без сохранения
  • пользователь 2 открывает файл с сервера, который по-прежнему v1, а также начинает изменять
  • Теперь пользователь 1 сохраняет свои изменения на сервере и создает v2.
  • Теперь пользователь 2 сохраняет свои изменения, создает v3, а изменения пользователя 1 (v2) теряются!

Мы не можем использовать svn или другие инструменты контроля версий (слишком сложные), поэтому мне интересно, есть ли стандартный механизм, который мог бы быть реализован в программном обеспечении для предотвращения этих проблем.

Как это решают другие программы? Есть ли какая-то информация о "заблокированных файлах", которую нужно включить "как только" кто-то откроет файл?

1 ответ1

1

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

В зависимости от вашего количества / типа данных вы можете создать небольшой и недорогой сервер Sharepoint Foundation, так как он имеет простую в использовании базовую функцию управления документами, которая предотвращает вмешательство обновлений.

Как работает ваше программное обеспечение с открытым исходным кодом?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .