Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Хранилище документов  [new]
Maltsev Max
Member

Откуда: Россия, Пермь
Сообщений: 352
Помогите пожалуйста, выбрать правильный путь.

Получил задание написать систему документооборота.
На данный момент имеется дерево каталогов в которые каждое подразделение сваливает свои пубричные документы.

Заказчику хотелось-бы управлять доступом к этим документам, систематизировать и выполнять поиск по некоторым критериям. при этом должна быть нехилая защита т.к. данные будут храниться на файловой помойке(Novell)

Т.к. я знаю тока VFP решил задачу реализовать на нем. :-))

Мне народ предложил использовать сервер VSS, а клиента написать самому.
Но вот в чем незадача, я совершенно не знаю как у него внутри все это организовано.

Может кто из Вас делал подобные весчи или читал литературу на эту темы, прошу дать ссылочки на справочный материал.

Или посоветуте другие пути. Может ну нахрен этот VSS?! Все реализовать с помощью голого VFP ?!?

Заранее благодарю.
28 сен 04, 09:16    [991487]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
Станислав C.
Member

Откуда: Екатеринбург
Сообщений: 1030
Maltsev Max
Помогите пожалуйста, выбрать правильный путь...

Заказчику хотелось-бы управлять доступом к документам, систематизировать и выполнять поиск по некоторым критериям. при этом должна быть нехилая защита т.к. данные будут храниться на файловой помойке(Novell)

Т.к. я знаю тока VFP решил задачу реализовать на нем. :-))

Или посоветуте другие пути. Может ну нахрен этот VSS?! Все реализовать с помощью голого VFP ?!? Заранее благодарю.


Ну и задание! В такой постановке Фокс с ним не справится. Здесь речь идет минимум о сетевой операционке...
Например, как ты будешь отслеживать доступ к документам в каталоге, если Фокс закрыт, а документ редактируется, например в Word'e ? Тем более, что Nowell дает доступ к каталогам, а не Фокс...

Как возможный вариант решения: вообще отказаться от хранения документов в каталогах, а хранить их в специализированных полях (мемо, или general, или BLOB). Вот тогда все хорошо решается - и поиск, и систематизация, и управление доступом... Остается только проблема ограничения физических размеров файлов типа dbf, fpt...

В общем, как говорится, "keep it simply...", что в вольном переводе обозначает: "делай жизнь (свою и юзверей :-) )проще..."

Успехов!
28 сен 04, 09:56    [991636]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
leaf
Member [заблокирован]

Откуда: Ростов-на-Дону --> Москва
Сообщений: 2661
"kiss" - keep it simply stupid
28 сен 04, 10:01    [991651]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
Maltsev Max
Member

Откуда: Россия, Пермь
Сообщений: 352
Станислав C.
Например, как ты будешь отслеживать доступ к документам в каталоге, если Фокс закрыт, а документ редактируется, например в Word'e ? Тем более, что Nowell дает доступ к каталогам, а не Фокс...



Ты не понял. Видел как VSS работает ?!? Система Check In/Check Out ?!?

Например в базе хранится имя файла, и признак в каком он состоянии (Check) и у кого.
Когда файл берешь на редактирование, он с сервака выкачивается на раб.станцию -- ставится признак, никто его корректировать больше не может. Когда юзверь, корректировавший файл кладет его обратно -- признак снимается.

Загвозка в том что бы очень умный юзверь не смог на этой файловой помойке(Novell) найти ручками нужный документ.

Его можно хранить кусками по 1024 байта, или еще как-нибудь извратиться. :-))
28 сен 04, 12:15    [992429]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
Станислав C.
Member

Откуда: Екатеринбург
Сообщений: 1030
Maltsev Max


Ты не понял. Видел как VSS работает ?!? Система Check In/Check Out ?!?


Я все прекрасно понял.

Maltsev Max

Например в базе хранится имя файла, и признак в каком он состоянии (Check) и у кого.
Когда файл берешь на редактирование, он с сервака выкачивается на раб.станцию -- ставится признак, никто его корректировать больше не может. Когда юзверь, корректировавший файл кладет его обратно -- признак снимается.

Загвозка в том что бы очень умный юзверь не смог на этой файловой помойке(Novell) найти ручками нужный документ.


Я имел в виду именно то, что всегда найдется "умный" юзверь, который попытается отредактировать документ в обход стандартных процедур. И ничего с этим не поделать... Единственное верное решение - зашифровать файл и, для верности, завернуть его в какую-нибудь оболочку (например, в файл типа dbf), чтобы только при использовании твоей программы юзверь мог получить к документу доступ.

А кстати, как тебе идея с шифрованием? Конечно, потребуется дополнительное время на обработку файлов (шифрование/дешифрование), зато - 100 % гарантия, что юзверь не попортит файл...

Maltsev Max

Его можно хранить кусками по 1024 байта, или еще как-нибудь извратиться. :-))


А резать файл на куски, затем собирать их и все это в сети в многопользовательском режиме при жестких ограничениях на время отклика - первый шаг к написанию собственной операционки :-) И Фокс здесь - не самый лучшый выбор... А почему нельзя "извратиться" и хранить файлы в базе данных в полях типа Memo, BLOB, General ?

Maltsev Max

Например в базе хранится имя файла, и признак в каком он состоянии (Check) и у кого.
Когда файл берешь на редактирование, он с сервака выкачивается на раб.станцию -- ставится признак, никто его корректировать больше не может. Когда юзверь, корректировавший файл кладет его обратно -- признак снимается.


Это хорошо, но имеет свои "подводные камни". В этом случае потребуется написание дополнительной процедуры, которая в 90% случаев будет лежать мертвым грузом. Я говорю о процедуре, обрабатывающей случай форс-мажорных обстоятельств (выключился сервер, рухнула сетка и т.п.). Это случается не так часто, но... В этом случае редактируемый файл так и останется заблокированным! И никто из юзверей не сможет получить к нему доступ, даже тот, кто его редактирует!...

Успехов!
28 сен 04, 12:49    [992597]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
Вячеслав Клепинин
Member

Откуда: Санкт-Петербург
Сообщений: 336
Я как-то делал документооборот, и по простоте хранил документы Word и Excel в полях General. А сервак был novell 3.12. База портилась каждай день.
Та же база была локально установлена у секретаря, и всё работало ОК.
28 сен 04, 17:14    [993999]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
BladeRunner
Member

Откуда:
Сообщений: 66
Я сталкивался с подобной задачей ... как и коллеги хранил данные в Memo. Для страховки копировал файлы в каталоги (т.к. использовалась [-ется] NTFS воспользовался средствами сжатия самой файловой системы). Хотя в принципе это нужно лишь на первых порах - при тестировании, потом настройка Backup (либо встроенного, либо стороннего) и можно спать спокойно. Не помню, если честно, есть-ли в Novell 4.xx встроенные средства страховочного копирования данных, в пятой есть точно, так что с этим можно не мучиться. Утилита там примитивная, но вполне функциональная.
Используя функции самого Word'а и RTF Control - преобразовываю файлы в RTF и кидаю в Memo. При этом сохраняются рисунки, форматирование. Используя возможности VFP осуществляется вызов Word для последующего редактирования документа (хотя на первых порах, для теста, можно обойтись и RTF'ом, но только на первых!).
Не сложно также реализовать механизмы создания ключевых фрагментов (для обеспечения быстрого поиска) и выборки ключевых слов (создание спец-словарей).
Так что могу на собственном опыте заверить, что задача вполне реализуема.
Что-же до порчи баз и физических ограничений ... я вышел из ситуции просто - во-первых - база одна, но таблиц несколько, таблицы имеют квартальный период, т.е. файл созданный в апреле, не будет записан в таблицу первого квартала ... геморройно - да, для программиста, но вполне работоспособно. Во-вторых - сами файлы (читай Memo-поля) хранятся отдельно от списка ключевых фрагментов и слов (пришлось приучать пользователей не лениться создавать такие списки - всё просто - юзверь выделил фрагмент, нажал на кнопку и всё!, со словами тяжелее но выполнимо). Легко также создать напоминалку, которая будет в самый неудобный для пользователя момент (когда он раскладывает пасьянс) оповещать о приходе документа :)
Сами исходные файлы ползователи могут создавать локально, потом запускается что-то похожее на почтовый клиент и загружает файл в систему. (Просто не доходят руки сделать макрос и вживить его в Word. Тогда можно половину дел делать из него).
С контролем доступа тоже всё просто - таблица с текущими параметрами документа. У начальника есть право снимать статус "обрабатываемого" документа (используется как правило при зависании компа) :) Вариантов реализации в принципе может быть несколько, но повторю - это не непосильная задача.
28 сен 04, 19:05    [994333]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Как _непроверенная_ идея - в Винде программа может идентифицировать себя не
так как пользователь её запустивший - и соответственно права получаемые ею
могут отличатся от прав пользователя - соответственно юзер не видит папок на
сервере (точнее не имеет к ним _совершенно_ _никакого_ доступа), а
программа - видит. Соответственно он может получить что-то только через твою
программу. Ну и положить обратно соответственно тоже. Правда я совершенно не
уверен что это сработает на Novell - на Win сервере это работает (сам
проверял). Тогда конечно тонким местом будет твоя фоксовая программа,
которую довольно просто можно декомпилировать и извлечь пароль и имя
аккаунта, под которым можно залезть на сервер.

Posted via ActualForum NNTP Server 1.0

29 сен 04, 03:20    [994608]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
BNick
Member

Откуда:
Сообщений: 18
Для блокирования документов можно попробовать использовать Фоксовое локирование записей. Тогда во многом снимается проблема с блокировками при зависании рабочих станций.
29 сен 04, 11:09    [995385]     Ответить | Цитировать Сообщить модератору
 Re: Хранилище документов  [new]
1024
Member

Откуда: Нижний Новгород
Сообщений: 14267
новел имеет свои блокировки и будут проблемы с дбф"ами, будут портиться. Защиту (не "от дурака" а реальную защиту, в документообороте это главное) сделать на файл-сервере невозможно, нужен любой скл-сервер
1 окт 04, 09:50    [1001281]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить